首頁 > 後端開發 > php教程 > 关于页面刷新重复提交的有关问题和isset的有关问题

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

WBOY
發布: 2016-06-13 10:26:26
原創
1113 人瀏覽過

关于页面刷新重复提交的问题和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:




相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板