gpt4 book ai didi

PHP 阻止操作在刷新时再次发生

转载 作者:可可西里 更新时间:2023-10-31 22:10:57 24 4
gpt4 key购买 nike

基本上我创建了一个页面来发送邮件来恢复您的密码。问题是,在您填写所有信息并发送邮件后,每次刷新页面时它都会继续发送电子邮件。我能想到的唯一解决方案是用

打开一个不同的页面
header("Location: index.php");

或者我想这会很好,但还有其他解决方案吗?例如,我发现了一些关于取消设置所有变量的东西,但我真的不知道这有多可行

最佳答案

Crecket,我们可以看看你的代码吗?因为我担心您要将 PHP 代码添加到您的网页中。当您将操作放入 HTML 文件时,每次重新加载页面时,都会重新执行 PHP 代码。

为了防止 PHP 代码被重新执行,您必须将它与 HTML 文件分开。这样,无论用户刷新页面多少次,PHP 代码都不会执行,除非用户按下提交按钮。我会给你和这种分离的例子:

发送.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 代码不会重新执行,因此不会重新发送电子邮件。

希望对你有帮助。

关于PHP 阻止操作在刷新时再次发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com