2013-02-25 2 views
2

Я борюсь с этим легким спокойствием кода с 1 часа. Проблема возникает, когда я обновляю браузер после отправки формы. Браузер Chrome хочет повторно отправить форму. Каждый другой браузер работает, как и ожидалось.chrome redirect after form submit

Есть ли обходной путь/взлом, который работает в хромированном состоянии?

<?php 
// file: test.php 
if(isset($_POST['test'])){ 
    header('Location: test.php'); 
    exit; 
} 
?> 
<form method="post"> 
    <input type="hidden" name="test" value="1"> 
    <input type="submit" value="Send"> 
</form> 
+0

Попробуйте открыть страницу в новой вкладке. –

+1

echo ""; – skrilled

+1

это в верхней части вашей страницы? вы отправляли какой-либо контент перед настройкой заголовка? – Ibu

ответ

2

попробовать это:

<html> 
<head> 
<?php 
if(isset($_POST['test'])){ 
echo "<meta http-equiv=refresh content='0;url=test.php'>"; 
exit(); 
} 
?> 
</head> 
+0

спасибо .. @skrilled также разместил это, и он действительно работает. Это вообще лучшее решение для 'header'? – bitWorking

+0

Не понял, что он опубликовал его, но в основном это стандартная переадресация html, повторяя его в php, заставляя браузер читать его, как он есть, в основном единственное реальное различие заключается в том, что вы перенаправляете после загрузки страницы, как было установлено до – Nick

+1

, m, работающий с Zend Framework. Я думал, что могу использовать вспомогательный помощник Zend's 'redirector'. Но я думаю, что я напишу свой собственный помощник с тегом meta. благодаря – bitWorking