浏览器返回按钮确认表单重新提交

时间:2015-04-23 14:35:47

标签: php mysql

我的页面上有一个搜索表单。

<form action='' method='post'>
    <input type='text' name='search' />
    <input type='sumit' name='submit' value='submit'/>
</form>

当用户单击表单上的提交按钮时,它应该运行mysql_query并创建指向用户页面的链接。

if(isset($_POST['search'])){
    $add = "city = {'$_POST['search']'}";
}

$res = mysql_query("SELECT * FROM user WHERE {$add}");
        while($rw=mysql_fetch_object($res)){
        echo "<a href=user.php?id={$rw->user_id}?>{$rw->name}</a>";
        }

当我点击链接user.php?id=3时,它会转到用户页面,一切正常。但是当我在user.php页面上点击浏览器的后退按钮时,我遇到了问题。然后我有问题回到上一页。 确认表格重新提交。

3 个答案:

答案 0 :(得分:-1)

纠正以下内容:

<input type='sumit' name='submit' value='submit'/>

您正在撰写type='sumit'而不是type='submit'

答案 1 :(得分:-1)

不显示&#34; 确认表格重新提交&#34;警告,您是否必须将提交(方法)更改为GET。

<form action='' method='GET'>
    <input type='text' name='search' />
    <input type='sumit' name='submit' value='submit'/>
</form>

...

if(isset($_GET['search'])){
    $res = mysql_query(sprintf("SELECT * FROM user WHERE city='%s'", mysql_real_escape_string($_GET['search']) ));
    while($rw=mysql_fetch_object($res)){
      echo "<a href=user.php?id={$rw->user_id}?>{$rw->name}</a>";
    }
}

答案 2 :(得分:-2)

您应该使用get方法而不是post。大多数浏览器必须确认重新提交后的帖子。

P.s。:你不应该直接将用户输入传递给你的sql查询,以防止sql注入的风险。