欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于页面刷新重复提交的有关问题和isset的有关问题

程序员文章站 2022-06-15 11:42:08
...
关于页面刷新重复提交的问题和isset的问题
' method='post'>
Picture:
URl:





if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['img']) && isset($_POST['url']))
{
$img = $_POST['img'];
$url = $_POST['url'];
$query = sprintf('INSERT INTO pic(pic,url)'.
'VALUES ("%s","%s")',$img,$url);

if(!$result = mysql_query($query))
{
die('Could not insert into the database:'.mysql_error());
}
}
}

?>




为什么我填入img或者url为空,也能提交成功,if(isset($_POST['img']) && isset($_POST['url'])) 这个语句有错吗?


另外如何防止刷新重复提交,请大神帮助改下代码!!!!

------解决方案--------------------
session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if($_POST['token'] != $_SESSION['token'])
{
die('Token mismatch');
}
unset($_SESSION['token']);
if($_POST['img'] && $_POST['url'])
{
$img = $_POST['img'];
$url = $_POST['url'];
$query = sprintf('INSERT INTO pic(pic,url)'.
'VALUES ("%s","%s")',$img,$url);

if(!$result = mysql_query($query))
{
die('Could not insert into the database:'.mysql_error());
}
}
}
$token = md5(mt_rand(0, 65535));
$_SESSION['token'] = $token;

?>
' method='post'>
Picture:
URl:




关于页面刷新重复提交的有关问题和isset的有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频