VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php form表单的提交(2)

name="text" id="text"><br> <input name="cont" value="提交" type="submit"> </form> </body> </html> <script> var count = 0; function submitOnce(form){ if(count == 0){ count++; return true; }else{ alert('请勿重复提交表单!'); return false; } } </script>
复制代码

 

第二、使用Cookie处理

使用Cookie记录表单提交的状态,根据其状态可以检查是否已经提交表单,请见下面的代码:

复制代码
<html>
<body>
    <form action="" method="post" name="register" enctype="multipart/form-data">
        username: <input type="text" name="text" id="text"><br>
        <input name="submit" value="提交" type="submit">
    </form>
</body>
</html>

<?php
if(isset($_post['submit'])){
    setcookie('tmpcookie','',time()+30);
    header('Location:'.$_SERVER[PHP_SELF]);
    exit;
}
if(isset($_COOKIE['tmpcookie'])){
    setcookie('tmpcookie','',0);
    echo '请勿重复提交表单';
}
复制代码

如果客户端禁止了Cookie,该方法将不起任何作用,这点请注意。

第三、使用Session处理

利用PHP的Session功能,也能避免重复提交表单。Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交,请见如下代码:

复制代码
<?php
session_start();
$code = mt_rand(0,1000000);
$_SESSION['code'] = $code;
?>
<html>
<body>
    <form action="deal.php" method="post" name="register" enctype="multipart/form-data">
        username: <input type="text" name="text" id="text"><br>
        <input type="hidden" name="code" value="<?=$code?>">
        <input name="submit" value="提交" type="submit">
    </form>
</body>
</html>
复制代码

在接收页面的PHP代码如下:

复制代码
<?php
session_start();
if(isset($_POST['code'])){
    if($_POST['code'] == $_SESSION['code']){

    }else{
        echo '请不要重复提交表单';
    }
}
?>
复制代码

第四、使用header函数转向

除了上面的方法之外,还有一个更简单的方法,那就是当用户提交表单,服务器端处理后立即转向其他的页面,代码如下所示。

复制代码
<html>
<body>
    <form action="deal.php" method="post" name="register" enctype="multipart/form-data">
        username: <input type="text" name="text" id="text"><br>
        <input name="submit" value="提交" type="submit">
    </form>
</body>
</html>
复制代码

deal.php

复制代码
<?php
if(isset($_POST['submit'])){
    //业务处理...
    
    header('location:success.php');
}
?>
复制代码

success.php

<?php
echo '提交成功';


相关教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号