PHP防止刷新重复提交页面的示例代码
程序员文章站
2023-11-18 17:18:22
php防止刷新重复提交页面的示例代码
作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复...
php防止刷新重复提交页面的示例代码
作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复提交的问题。如何防止刷新页面重复提交呢?
php防止刷新重复提交,通过不断刷新(refresh or reload)表单提交页面,可以重复提交表单内容,可以利用 php 的 session 来避免这一点,session 保存在服务器端,在 php 过程中改变 session 变量的值后,即保存在服务器端,下次访问这个变量时,得到是新赋的值,所以,可以用一个 session 变量记录表单提交的次数,大于1时,就不再处理表单中的数据。
核心代码
以下为引用内容:
if (isset($_post['action']) && $_post['action'] == 'submitted') { session_start(); if (isset($_session['submit_time']) && $_session['submit_time']==0){ print '<pre>'; print_r($_post); print '<a href="'. $_server['php_self'] .'">please try again</a>'; print '</pre>'; $_session['submit_time']=1; echo $_session['submit_time']; unset($_session['submit_time']); } else { print '<pre>'; print_r($_post); echo "however you have submitted"; print '</pre>'; } } else { session_start() or dir("session is not started"); $_session['submit_time']= 0; // isset($_session['submit_time']) or die ("session var is not created"); // echo $_session['submit_time']; ?> <form action="<?php echo $_server['php_self']; ?>" method="post"> name: <input type="text" name="personal[name]"><br> email: <input type="text" name="personal[email]"><br> beer: <br> <select multiple name="beer[]"> <option value="warthog">warthog</option> <option value="guinness">guinness</option> </select><br> <input type="hidden" name="action" value="submitted"> <input type="submit" name="submit" value="submit me!"> </form> <?php } ?>
上一篇: PHP正则表达式处理函数(PCRE 函数)实例小结
下一篇: 深入理解PHP内核(一)