2012-08-26 1 views
1

기본적으로 분할 테스트 웹 앱을 만들려고 노력 중이며 경쟁 조건없이이 작업을 수행하는 방법에 대해 약간 혼란 스럽습니다. 기본적으로대체 페이지로 방문자를 보내는 방법

, 3 페이지가 있습니다 :

  • main_page.php
  • 이 page1.php
  • page1_alt.php는

그래서 프로세스는 다음과 같다 :

  1. 명의 사용자 방문 main_page.php
  2. 쿠키

    • A에 대한
    • main_page.php 확인합니다. 쿠키가 없으면 쿠키를 만듭니다.

    • b. 마지막 방문객이 보낸 페이지를 확인하십시오.
    • c. 내가 쿠키 문제가 정리가

(마지막 방문자가 page1.php 갔다 경우, page1_alt.php이 하나를 보내) 다른 페이지로 현재 방문자를 보내, 난 그냥 당신이 무엇을 알고 싶어 단계 2b를 수행하는 가장 좋은 방법이라고 생각하십시오. DB에 쓰면 비현실적입니다. 텍스트 파일을 참조하면 경쟁 조건이 발생할 수 있습니다.

편집 :. 당신이 처음부터 시작하는 것보다 더 쉬운 방법이 생각한다면, 나에게 어떤 제안을 할 :)

답변

3

나는 왜 이것을하고 싶은지, 왜 DB에 쓰는 것이 비실용적인지 완전히 이해할 수 있는지 확신 할 수 없다. 정확한 정밀도로 분할하려는 경우이 방법이 최선의 해결책이라고 생각합니다.

그냥 DB-액세스하지 않고 약을 분할해야하지만, 당신이 창조적이 될 수있는 경우 :

물론
if (date('s') % 2 == 1) { 
    header("Location: page1.php"); 
} else { 
    header("Location: page1_alt.php"); 
} 

이에 관련된 몇 가지 가능성이 있지만,이 경우 초부터 동등하게 분배됩니다 충분한 사용자, 두 그룹은 매우 동일한 크기에 가깝습니다.

0

대신 쿠키의 세션을 사용하는 것이 좋습니다. 세션은 사용자 활동을 추적하기 위해보다 융통성 있고 안전한 방법입니다.

+0

제안 해 주셔서 감사합니다. 내가 할게. :) – user1239714

+0

당신은 세션 대 쿠키를 언제 사용하는지 공식 php docs를 통해 도움이 될 것입니다. http://php.net/manual/en/features.sessions.php 및 http://php.net/manual/en/features.cookies.php에서 귀하의 길을 안내 할 것입니다. 공식 문서에서도 사용자 의견을 읽는 것을 잊지 마십시오. – jkoech

0

sessionsheader("Location:...);을 사용해야합니다. 에서 $_SESSION["cookie"] 당신이 그것을로 설정을 원하는대로 인 경우이

if (!isset($_SESSION["var"])) { 
    header("Location: main_page.php"); 
} 

처럼 뭔가를 할 수있다. 당신의 경우에는 그들이 마침내 어떤 페이지로 갈 수 있는지 추측합니다. 그렇다면 그것이 존재하는지 그리고/또는 무엇이 있는지 확인하고 header을 사용하여 해당 페이지로 보낼 수 있습니다.

+0

팁을 주셔서 감사합니다 :) 세션을 지금 사용하고 있지만 주요 관심사는 사용자를 각 페이지에 똑같이 배포하는 방법입니다 .D – user1239714

+0

가장 좋은 방법은 서버에서 추적하는 것이 가장 좋은 방법이라고 생각합니다. 왜냐하면 당신은 모든 사람들을 위해 끊임없이 정보를 필요로하기 때문입니다. 어쩌면 당신은 그냥 var 부울 또는 int (T는/F 또는 0/1) 할 수 있고 현재 방문자가 page1로 이동하면 하나를 설정하고 다음 방문자가 볼 수있는 page1_alt로 이동 한 다음 변수를 다른 변수로 변경하십시오. 그런 다음 프로세스가 반복됩니다. 물론 리디렉션을위한 세션을 사용해야합니다. 나는 또한 무작위로 남겨 둘 수 있다고 말하고 싶습니다. 어쨌든 그것은 보통 공정하고 훨씬 덜 혼란 스럽습니다. – aug

3

Google 애널리틱스에서 스플릿 테스트를 수행 할 수 있다는 것을 알고 있습니다. 최종 목표는 무엇인지 잘 모르겠지만 Google 애널리틱스에서는 사용자를 분할하고 어떤 페이지가 가장 목표에 도달하는지 테스트합니다. 미안 당신이 찾고 있었던 것이 아니 었으면.

+0

동의합니다. Google 애널리틱스와 같이 기존 (무료) 도구를 사용하지 않을 구체적인 이유가 없으므로 직접 작성하지 않는 것이 좋습니다. Google 애널리틱스에는 많은 실수가 있습니다 (예 : 내 StackOverflow 질문 참조).하지만 유스 케이스에 완벽 할 수 있습니다. – Ryan