2014-09-11 7 views
0

URL 배열에서 임의의 URL로 리디렉션되는 페이지가 있습니다.각 방문마다 순서의 다음 페이지로 리디렉션됩니다.

<?php 
$urls = array("url01", 
      "url02", 
      "url03"); 
$url = $urls[array_rand($urls)]; 
header("Location: http://$url"); 
?> 

이 멋지다,하지만 내가 좋아하는 진짜 것 대신 무작위로 URL이 리디렉션을 선택, 나는 각 방문에 순차적으로 리디렉션을하고 싶은 페이지를 방문 할 때마다 무엇입니까?

  1. 첫 방문 ...
  2. 다음 방문
  3. 그런 다음 다음 방문은
  4. 그런 다음 다음 방문 다시 등등 url01.co.uk 리디렉션 url03 리디렉션 url02 리디렉션 url01 리디렉션

이것도 가능합니까?

+0

세션 변수에 색인을 저장하십시오. 매 번 변수를 증가시키고 배열의 해당 요소로 리디렉션합니다. – Barmar

+0

다른 사용자에게 전역 적으로 사용하려면 DB 또는 파일을 사용하여 현재 색인을 저장해야합니다. 그렇지 않으면 세션 변수를 사용할 수 있습니다. – bksi

답변

1
<?php 

session_start(); 
$curr = array_key_exists('curr', $_SESSION) ? $_SESSION['curr'] : 0; 

$urls = array("url01", "url02", "url03"); 
$curr = $curr >= sizeof($urls) ? 0 : $curr; 

$_SESSION['curr'] = $curr + 1; 
header('Location: http://' . $urls[$curr]); 

?> 
+0

아마 거기에 몇 가지 의견을 던져야합니다. – Samsquanch

+0

테스트에서, 그것은 다소 뒤집어서 작동하지만 url 3, then 2 then 1, then 3 again again, but thats no biggie, 정확히 내가 필요한 것을 수행합니다. 건배! – Umf

관련 문제