PHP: браузер вернуться на страницу - PullRequest
1 голос
/ 19 сентября 2011

Я хочу что-то вроде этого:

<?php
if($something)
    header('Location:javascript:history.go(-2)');
?>

, но header('Location:javascript:history.go(-2)'); не работает.Какие-нибудь альтернативы?

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

Ответы [ 4 ]

6 голосов
/ 19 сентября 2011

С вашей точки зрения, я думаю, вы можете искать что-то вроде этого:

<html><head></head><body>
<?php
if($something){
?>
<script type="text/javascript">
window.history.go(-2);
</script>
<?php
}
?>
</body></html>
3 голосов
/ 19 сентября 2011

Пока они попадают туда по ссылке, вы можете использовать

header("Location: " . $_SERVER['HTTP_REFERER']);
2 голосов
/ 19 сентября 2011

Нельзя использовать псевдопротокол javascript: в заголовке HTTP Location.На самом деле вам вообще не следует его использовать.

Вместо этого отправьте весь URL-адрес на страницу, на которую пользователь хочет вернуться, через HTTP-заголовок Location (если вы можете) или вы можете повторить history.back(), хотя я крайне не рекомендую делать .

Как примечание, всегда exit после отправки заголовка HTTP Location,Пользовательские агенты не должны следовать этому.

0 голосов
/ 06 марта 2013

В зависимости от вашей проблемы. Вы можете использовать следующий код в php-скрипте в любом месте.

код:

  <?php

     if($something){
       echo "<script>window.history.back()</script>";
      } 
   ?>
...