2011-05-04 6 views
4

저는 PHP와 MySQL을 처음 접했습니다. 나는 아주 간단한 가입 프로그램을 설치하는 데 관심이 있습니다. 기본적으로 누군가가 제휴사 링크를 클릭하면 내 웹 사이트에 가입 할 때까지 사용자와 함께 유지되도록 설정해야합니다.정말 간단한 가입 프로그램

예를 들어, 내 계열사가 내 사이트를 광고하는 데 사용할 수있는 멋진 웹 페이지를 만들고 싶습니다. URL은 다음과 같을 것입니다 (이상적). www.mysite.com/splash1.php?userid=Joe는

그래서이 경우에는, 내 제휴, 조, 사용자 ID는 = 조 및 그가있을 것입니다? www.mysite.com/splash1.php 사용하여 추가 할 수 있습니다 제휴사 링크.

여기에서 사람들이 내 웹 사이트의 홈페이지로 이동하여 해당 제휴사 ID를 유지할 수있는이 시작 페이지의 링크를 클릭 할 수 있습니다. 또한 사용자가 가입하기 전에 내 사이트를 둘러보기로 결정한 경우 가입하기 전까지 제휴 ID가 사용자와 계속 연관되어 있는지 확인하고 싶습니다.

URL에서 userid를 읽는 방법에 익숙하지 않고, 페이지에서 페이지로 userid 변수를 전달하는 것이 가장 좋습니다.

저는 제휴 프로그램에 참여한 모든 기능, 예를 들면, 커미션, 제휴사 통계 및 기타 모든 멋진 기능에 대해 걱정할 필요가 없습니다. 나는 단지 회원 ID가 내 웹 사이트에 가입하기 위해 "제출"을 클릭하는 지점까지 사용자와 연결되어 있는지 확인하고자합니다.

아마도 쿠키 및/또는 세션을 사용해야 할 것입니다. 어느 길로 갈지 확실하지 않습니다.

+1

글을 쓰기 시작합니다. 실제 질문은 무엇입니까? –

+0

세션이 쿠키보다 바람직합니다. 쿠키가 수정 될 수 있기 때문입니다.이 값을 사용하는 방법에 따라 sql injection과 같은 가능성이있는 구멍이 열립니다. – mellamokb

+0

@Dragon 나는 글을 써 왔으며, 나를 믿어, 나는 글을 써왔다. 많은 코드. 제 질문은 제 접근에 관한 것입니다. 고양이를 피하는 방법은 여러 가지가 있습니다 :-) – Charlie

답변

7

건물 제휴 소프트웨어는 특히 PHP와 MySQL을 처음 접하는 사람에게는 아주 작은 사업입니다. 당신은 하루 종일 구현을 논의 할 수 있지만 프로그램의 작동이 같은 얼마나을위한 기본적 단계 :

  1. 사용자가 클릭 링크
  2. 당신은 사용자에게 쿠키를 작성하고 "클라이언트에 해당 사용자를 리디렉션 . " 우리는 클라이언트라는 용어를 사용하여 실제적으로 사용자와 일하는 사람 또는 회사를 나타냅니다. 일반적으로 사용자가 있지 않은 도메인에 쿠키를 작성할 수없고 다른 도메인에 대해 작성된 쿠키에 액세스 할 수 없기 때문에 URL에 무언가를 추가하려고합니다. (이것은 브라우저 보안 프로토콜입니다).

    이 시점부터 클라이언트와 어떤 관계가 필요하기 때문에 제휴사로 들어오는 사용자를 식별하기 위해 찾고자하는 데이터를 알 수 있고이를 다시 보내야한다는 것을 알 수 있습니다. 당신.

  3. 그런 다음 사용자가 등록을 완료했음을 알려주는 클라이언트를 설정해야합니다 (또는 필요한 다른 작업 (대개 변환이라고도 함)).

프로세스 자체는 매우 간단하며 많은 데이터를 추적합니다. 본질적으로 특정 클릭에 대한 단일 전환을 추적하고 해당 제휴 크레딧을 제공하기 위해 어디에서 왔는지 식별 할 수 있어야합니다. 이렇게하려면 클릭과 클라이언트로의 리디렉션 사이에 중개자가되어 URL에 무언가를 추가하면 클라이언트가 고유 ID가 변환되었는지 여부를 알 수 있습니다.

시스템 내에서 클라이언트 외부 및 여러 계열사의 고유 사용자를 식별해야하는 경우 쿠키를 배포해야합니다. 세션은 쓸모가 없습니다. 쿠키는 쿠키이기도하지만 브라우저가 종료되면 훨씬 시간적이며 파괴됩니다.

클라이언트 코드 (기본적으로 제휴사로부터 사용자를 수락 함)를 작성하는 경우 장기 쿠키 (또는 단기 세션)를 초기화해야합니다. 이는 제휴사에게 제공하려는 "시간"에 따라 다릅니다 링크를 클릭하는 사용자에 대한 크레딧을 얻으려면). 사용자가 완료 (전환)하기를 원하는 작업을 완료하면 제휴사 제공 업체에 알려줍니다 (귀하가 준 고유 ID를 사용하여) 제휴사에게 크레딧을 돌려줍니다.

나는 모든 것이 의미가 있고 희망적으로 빛을 비추 길 희망한다. 내가 말했듯이, 초보자를위한 약간 어려운 프로젝트이지만, 결코 불가능한 것은 아닙니다. 행운을 빕니다.

+0

지혜의 말씀에 감사드립니다. 고려해야 할 많은 것들. 내 "제휴 프로그램"을 다른 것으로 만드는 것은 Joes 제휴사 링크를 클릭하면 반드시 Joe에 직접 가입하지 않아도된다는 것입니다. 조 (Joe) 밑에 등록한 누군가 아래에 가입 할 수 있습니다. 나는 이상하게 들릴지도 모르지만 내가 너에게 설명하면 이해할 수있을 것이다 :-) – Charlie

+0

@Charlie - 나는 네가 무슨 뜻인지 정확히 알고있다. 너무 열심히해서는 안되며, 중첩이 발생하는 조건에 따라 다릅니다. 사용자가 클릭 한 링크가 무엇인지 알면 해당 링크를 해당 제휴사로 추적 할 수 있어야합니다. 제가 말했듯이, 대부분의 도전은 데이터 저글링에서 비롯됩니다. –

+0

@JimRubenstein : 안녕하세요. 나는이 답변이 오랜 시간이라는 것을 알고 있지만 방금 발견했습니다 :)이 문장에 대해 : "일반적으로 URL에 무언가를 추가 할 것입니다. 사용자가 있지 않은 도메인에 쿠키를 쓸 수 없기 때문입니다. 귀하 (또는 다른 사이트)가 다른 도메인 용으로 작성된 쿠키에 액세스 할 수 없습니다 (브라우저 보안 프로토콜). " URL에 어떤 종류의 것을 추가해야합니까? 나는 URL에 무언가를 추가하는 것이 쿠키를 작성하는 문제를 해결할 수있는 방법을 알지 못한다. 판매가 이루어지면 소매 사이트에서 쿠키에 액세스 할 수있다. – Andrew

1

제휴 링크가 제공되면 해당 제휴사를 세션 변수에 저장하십시오. 귀하가 가지고있는 모든 공통 헤더 코드는 사이트의 어떤 페이지로도 연결되는 링크를 쉽게 처리하고 적절히 저장할 수 있습니다.

세션은 사용자가 페이지에서 페이지로 이동할 때마다 유지되며 등록 양식 (또는 어떤 제휴사인지 알 필요가있는 다른 곳)으로 갈 때마다 세션을보고 (및 GET 변수도 안전합니다).

세션을 사용하면 모든 링크에 제휴사 ID가 추가되어야 할 필요가있는 URL 변경이나 지저분한 속임수가 필요하지 않으며 요청마다 추가 데이터를 보내거나 많은 보안 문제가 쿠키를 사용하고 있습니다.