我创建了一个名为 coodos.co 的网站,我是 php 的新手,每当有人提交联系我们时,php 页面打开且永不关闭,我想做的是 php 代码在后端执行而不是加载页面在用户面前调用 contact.php,这是我的 PHP 代码<?php $name = $_POST['name']; $email = $_POST['email']; $msg = $_POST['msg']; $to='info@coodos.co'; // Receiver Email ID, Replace with your email ID $subject='Form Submission'; $message="Name :".$name."\n"."email:".$email."\n"."Wrote the following :"."\n\n".$msg; $headers="From: ".$email; if(mail($to, $subject, $message, $headers)){ exit(); }?>
2 回答

白板的微信
TA贡献1883条经验 获得超3个赞
这与 php 的工作方式无关,而是与 HTML 中的表单工作方式有关。
我假设在你页面的某处你有这条线
<form action="/contact.php">
或类似的东西。用户提交表单后,操作链接将告诉浏览器去哪里。要抑制这种情况,您可以按照此处所述使用 JavaScript或使其仅链接回首页。
或者,您也可以通过发送这样的重定向标题从您的联系页面重定向到您的首页:
header('Location: '.$newURL);

跃然一笑
TA贡献1826条经验 获得超6个赞
如果我理解正确的话,你想执行一些外部 php 文件,而不是在提交表单时离开你所在的页面。
希望这是正确的。
选项 1 - header()
实现非常相似的行为的一种常用方法是header
方法。这会将您重定向到特定文件。
header('location: index.php');
这也可用于将 URL 中的附加数据作为$_GET
值传递。
小例子:
header('location: index.php?login=success');
注意:您仍然希望保留exit()
以防止执行重定向后的代码。
选项 2 - PHP_SELF
有点棘手,但您也可以使用重定向到您已经在的页面。为此,您可以使用$_SERVER['PHP_SELF']
.
处理这个女巫护理!
用户有办法操纵 url,这意味着您必须应对潜在的跨站点脚本 (XSS) 攻击。这很容易用 完成htmlspecialchars
,但非常重要!
以下是如何在表单中使用它:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
因为您在页面上重定向,您很可能希望有另一段 PHP 代码来检查可能发送的数据$_GET
。$_POST
- 2 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消