php – 在刷新浏览器时阻止重新提交提交

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在刷新浏览器时阻止重新提交提交脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
下面的代码都很棒.在名为submIT.PHP文件上,用户可以通过表单输入提交.表单转到submit2.PHP,其中一些代码将提交内容插入 MySQL数据库.到现在为止还挺好.

问题在于:一旦用户登陆了submit2.PHP,如果用户刷新浏览器,则会出现“确认表单重新提交”弹出框.然后,如果用户在弹出窗口中点击“继续”,则提交将重新提交到MysqL数据库.

何在submit2.PHP上执行以下操作:

>如果刷新浏览器,则不会显示弹出窗口.
>提交将不会重新提交到数据库.

提前致谢,

约翰

在submit.PHP上:

echo '<form action="http://www.domain.COM/sample/submit2.PHP" method="post"> 
    <input tyPE="hidden" value="'.$_SESSION['loginid'].'" name="uid">  

    <div class="submissiontitle"><label for="title">Story Title:</label></div> 
    <div class="submissionfield"><input name="title" type="title" id="title" maxlength="1000"></div>  

    <div class="urltitle"><label for="url">Link:</label></div> 
    <div class="urlfield"><input name="url" type="text" id="url" maxlength="500"></div>

    <div class="submissionbutton"><input name="submit" type="submit" value="Submit"></div> 
</form>
';

在submit2.PHP上:

if (isLOGgedIn() == true)
{

$remove_array = array('http://www.','http://','https://','https://www.','www.');
$cleanurl = str_replace($remove_array,"",$_POST['url']);
$cleanurl = strtolower($cleanurl);
$cleanurl = PReg_replace('/\/$/','',$cleanurl);
$cleanurl = stripslashes($cleanurl);

$title = $_POST['title'];
$uid = $_POST['uid'];
$title = MysqL_real_escape_string($title);
$title = stripslashes($title);
$slug = str_replace(' ','-',$title);

echo '-'.$site1.'-';

$cleanurl = MysqL_real_escape_string(trim($cleanurl));

$site1 = 'http://' . $cleanurl;

$displayurl = parse_url($site1,PHP_URL_HOST);

function isURL($url1 = NULL) {
        if($url1==NULL) return false;

        $protocol = '(http://|https://)';
        $Allowed = '[-a-z0-9]{1,63}';

        $regex = "^". $protocol . // must include the protocol
                         '(' . $allowed . '\.)'. // 1 or several sub domains with a max of 63 chars
                         '[a-z]' . '{2,6}'; // followed by a TLD
        if(eregi($regex,$url1)==true) return true;
        else return false;
}



if(isURL($site1)==true)
    MysqL_query("INSERT INTO submission VALUES (NULL,'$uid','$title','$slug','$cleanurl','$displayurl',NULL)");
else
    echo "<p class=\"topicu\">Not a valid URL.</p>\n";

} else {
    // user is not loggedin
    show_loginform();
}

解决方法

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在刷新浏览器时阻止重新提交提交全部内容,希望文章能够帮你解决php – 在刷新浏览器时阻止重新提交提交所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。