2010-11-19 4 views
31

У меня есть страница, которая,php обновить текущую страницу?

Если переменная устанавливается (в сессии) это сделает действие, затем сбрасывает сеанс.

Теперь он должен освежиться.

Здесь я застрял.

Есть ли способ получить точный url на текущей странице?

или есть функция для этого?

так header('location: ???');

ответ

70
header('Location: '.$_SERVER['REQUEST_URI']); 
+0

Это не должно быть продезинфицировать? – Alex

+9

$ _SERVER ['REQUEST_URI'] - это сгенерированная сервером переменная. Только GET, POST, a и COOKIES подвержены помехам пользователей. (за исключением, возможно, заголовков типа «Referrer») –

+4

Эти генерируемые сервером переменные могут быть изменены, поэтому вы все равно должны рассмотреть вопрос о их дезинфекции. –

2
header('Location: '.$_SERVER['PHP_SELF']); 

также будет работать

+1

Это будет работать, только если вы укажете имя файла в URL-адресе. Таким образом, переписывание URL определенно не будет работать. – rybo111

0

Другой элегантный один

header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"); 
exit; 
12

PHP обновить текущую страницу

С PHP код:

<?php 
$secondsWait = 1; 
header("Refresh:$secondsWait"); 
echo date('Y-m-d H:i:s'); 
?> 

Примечание. Помните, что заголовок header() должен быть вызван до отправки любого фактического вывода либо с помощью обычных тегов HTML, либо пустых строк в файле, либо из PHP.

если вы отправляете какой-либо вывод, вы можете использовать JavaScript:

<?php 
echo date('Y-m-d H:i:s'); 
echo '<script type="text/javascript">location.reload(true);</script>'; 
?> 

Когда этот метод получает истинное значение в качестве аргумента, это приведет к странице, чтобы всегда быть перезагружена с сервера. Если он неверен или не указан, браузер может перезагрузить страницу из своего кеша.

Или вы можете явно использовать "мета обновления" (с чистым HTML):

<?php 
$secondsWait = 1; 
echo date('Y-m-d H:i:s'); 
echo '<meta http-equiv="refresh" content="'.$secondsWait.'">'; 
?> 

Привет и хороший код,

+1

Это должен быть принятый ответ – user1855153

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