Как скрыть действия php из истории? - PullRequest
0 голосов
/ 10 марта 2011

Можно ли сказать браузеру, что он не должен помнить страницу сценариев действий?

Так, например, при удалении заголовка. Действие get будет? D = ID, где ID - это идентификатор заголовка. После удаления заголовка перейдите на страницу без переменной get в URL (часть заголовка).

<?php
if(isset($_GET['d']) && preg_match('{^[0-9]{1,3}$}',$_GET['d'])){
    $hid = $_GET['d'];
    $deletesql = "DELETE FROM headlines WHERE hid = $hid";
    mysql_query($deletesql);
    header('Location: panel.php');} ?>

Но теперь история вашего браузера показывает ссылку panel.php? D = 23 Может ли браузер помнить страницу? Может быть, заголовок 303?

Ответы [ 2 ]

4 голосов
/ 10 марта 2011

Вы должны использовать POST вместо GET для этого. Таким образом, браузер предложит пользователю, если он хочет отправить информацию еще раз. (обычно аргумент id)

1 голос
/ 10 марта 2011

Сделайте ID скрытым в форме, а затем получите его в части действия формы, используя $ _POST, а затем выполните действие удаления и перенаправления после успешного удаления, чтобы пользователь не мог повторно опубликовать форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...