2014-09-11 3 views
0

У меня есть страница, которая перенаправляет на случайный URL-адрес из массива URL-адресов.php каждый визит перенаправляет на следующую страницу в последовательности

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

Это круто, но то, что я действительно хотел бы это каждый раз, когда страница посещается, а не случайным образом выбирая URL для перенаправления, я хотел бы, чтобы перенаправить последовательно при каждом посещении?

  1. Первый визит перенаправляет url01
  2. Следующий визит перенаправляет url02
  3. Затем при следующем посещении перенаправляет url03
  4. Затем при следующем посещении перенаправляет снова и так далее url01.co.uk ...

Возможно ли это?

+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, затем 2, затем 1, затем обратно в 3 раза, но это не biggie, делает именно то, что мне нужно! Cheers Deep! – Umf

 Смежные вопросы

  • Нет связанных вопросов^_^