PHP会阻止在刷新时再次发生操作
发布时间:2020-12-13 17:48:22 所属栏目:PHP教程 来源:网络整理
导读:基本上我创建了一个页面来发送邮件来恢复你的密码.问题是,在您填写所有信息并且已发送邮件后,每次刷新页面时它都会继续发送电子邮件.我能想到的唯一解决方案是打开一个不同的页面 header("Location: index.php"); 或者其他什么会好的我猜,但还有其他解决方案
基本上我创建了一个页面来发送邮件来恢复你的密码.问题是,在您填写所有信息并且已发送邮件后,每次刷新页面时它都会继续发送电子邮件.我能想到的唯一解决方案是打开一个不同的页面
header("Location: index.php"); 或者其他什么会好的我猜,但还有其他解决方案吗?我发现了一些关于取消所有变量的事情,但我真的不知道它有多可行 解决方法
Crecket,我们可以看看你的代码吗?因为我很害怕你将PHP代码添加到你的网页中.当您将操作放入HTML文件时,每次页面重新加载时,都会重新执行PHP代码.
要防止重新执行PHP代码,必须将其与HTML文件分开.这样,无论用户刷新页面多少次,除非用户按下提交按钮,否则PHP代码将不会执行.我会举例说明这种分离: send.php <?php session_start(); ?> <html> <head> <title>Session</title> </head> <body> <?php if ( IsSet( $_SESSION[ "message_sent" ] ) ) { echo "Your message was sent."; unset( $_SESSION[ "message_sent" ] ); } ?> <form method="post" action="email.php"> Enter message <input type="text" name="anything" /> <input type="submit" value="Send email" /> </form> </body> </html> email.php <?php session_start(); // SEND MESSAGE HERE. $_SESSION[ "message_sent" ] = "message sent"; header( "Location: send.php" ); ?> 将以前的代码复制并粘贴到具有给定名称的两个文件中,然后从浏览器运行send.php.发送一条消息.然后根据需要多次刷新页面,您将看到,PHP代码将不会重新执行,因此不会重新发送电子邮件. 希望这对你有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |