2014-11-24 2 views
0

Мой код выглядит следующим образом.PHP reload website once

fileA.php:

Item stored in DB: <?php echo $stored_item; ?> //displays the last selected item 

<form action="fileB.php" method="post" type="submit"> 
     <input type="hidden" name="item" value="itemA"> 
    <button>Save</button></li> 
</form> 
<form action="fileB.php" method="post" type="submit"> 
     <input type="hidden" name="item" value="itemB"> 
    <button>Save</button></li> 
</form> 

fileB.php:

changeItem(); ... //Changes the entries in the database, works correctly 
header('Location: fileA.php'); 

Теперь записи были изменены в базе данных, но $ stored_item показывает старую запись, пока я не перезагрузите страницу.

Теперь я хотел бы знать, как я могу обновить fileA.php автоматически после header('Location: fileA.php'); от fileB.php

Я уже пробовал такие вещи, как:

echo '<script>window.location.reload();</script>'; 
header("Refresh:0"); 

Но с ними сайта в бесконечности обновляемых петель, а также, если я использовать Условный оператор перед:

if(isset($_POST)){ 
echo '<script>window.location.reload();</script>'; 
unset($_POST);} 
+0

Извините, но я не уверен, что вам нужно. У вас есть папка A, открытая пользователем. Затем он что-то делает, и он меняет значение на db, а затем вы хотите обновить страницу? Если пользователь является тем же самым, вы можете сделать это с помощью функции успеха ajax (например) –

+1

вы должны использовать exit(); после заголовка –

+0

быстрых ответов @MarcoMura точно, я хочу обновить страницу после изменения значения в db. И да, пользователь такой же, знаете ли вы также php-решение или он доступен только с ajax? – joh3

ответ

0

Вы можете сделать это с PHP:

header("Refresh:0"); 

Освежает текущую страницу, и если вам нужно перенаправить его на другую страницу, используйте следующее:

header("Refresh:0; url=page2.php"); 
+0

Но если я использую заголовок («Обновить: 0»); , и я хочу остаться на той же странице, затем он заканчивается бесконечной перезагрузкой – joh3

0

вы можете использовать header("Refresh:0"), если вам нужно обновить только текущую страницу. Если вы хотите обновить конкретную страницу, вам нужно использовать header("Refresh:0,url:$targeturl"), если вы хотите перенаправить на другую страницу ($ targeturl). вы также можете использовать header("Refresh:n"); для обновления страницы после nth second