2017-06-11 70 views
0

即时通讯使用基本isset /形式的PHP类文件是:提交表单运行两次?

if (isset($_POST['submitproduct'])){ 
if (isset($_FILES['imageupload'])){ *some code* ..} 

<form method="POST" action="addproduct.php" enctype="multipart/form-data"> 
    <label>productname</label><br/> 
    <input type="text" name="name"><br/> 
    <input name="imageupload" type="file" id="image" placeholder="imageupload" /> 
    <input type="submit" name="submitproduct"> 
</form> 

,所以我觉得这还算正常程序中,表单提交,它得到的数据,并在这里添加到SQL数据库,没有错误,但他之后完成与PHP脚本浏览器出于某种原因不会跳过isset($ _ POST ['submitproduct']像它再次submited出于某种原因,哪些obv抛出错误,因为没有变量设置以下代码?这个基础上,如果isset $ _POST,但这是我第一次得到这个错误,唯一的区别是,它是我第一次使用encytpe。我试图让头(位置)在完成后退出脚本,但他只是忽略它,我对这个行为真的很无知,谁能帮忙?

+0

'logged()'函数做了什么? –

+0

使用会话令牌来防止CSRF攻击和多个提交表单。 https://stackoverflow.com/questions/4614052/how-to-prevent-multiple-form-submission-on-multiple-clicks-in-php – MahdiY

+0

@JorgeCampos我认为它检查用户的控制访问 – MahdiY

回答

0

我解决了这个问题,试图访问我忘记删除的脚本内部的未定义变量......没有推迟他由于某种原因成功完成脚本,而是让他重新运行没有发布数据的脚本O_o