如何使php代码不切换页面?
我创建了一个名为coodos.co的网站,我是php的新手,每当有人提交contact us表单时,php页面就会打开,而不会关闭,我想做的是php代码在后端执行,而不是在用户面前加载名为contact.php的页面 这是我的php代码如何使php代码不切换页面?,php,html,Php,Html,我创建了一个名为coodos.co的网站,我是php的新手,每当有人提交contact us表单时,php页面就会打开,而不会关闭,我想做的是php代码在后端执行,而不是在用户面前加载名为contact.php的页面 这是我的php代码 <?php $name = $_POST['name']; $email = $_POST['email']; $msg = $_POST['msg']; $to='info@coodos.co'; // Recei
<?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();
}
?>
这与php的工作方式无关,而是与HTML中表单的工作方式有关
我想在你的页面的某个地方你有一行
<form action="/contact.php">
如果我理解正确,您希望执行一些外部php文件,而不是在提交表单时离开您所在的页面。
希望这是正确的 选项1-标题() 实现类似行为的一种常用方法是
头方法。这会将您重定向到特定文件
header('location: index.php');
这也可用于将URL中的附加数据作为$\u GET
值传递。
小例子:
header('location: index.php?login=success');
注意:您仍然希望保留exit()
,以防止执行重定向后的代码
选项2-PHP_SELF
有点棘手,但你也可以使用重定向到你已经在的页面。为此,您可以使用$\u SERVER['PHP\u SELF']
而不是硬编码的文件路径
小心处理这个巫婆
用户有办法操纵url,这意味着您必须覆盖潜在的跨站点脚本(XSS)攻击。这可以通过htmlspecialchars
轻松完成,但非常重要
以下是如何在表单中使用它:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
Hi John,您的代码是在“后端”执行的,即所有PHP代码都是在服务器上执行的,而不是在客户机上执行的。代码段中的处理调用了exit()
,这意味着用户将看到一个空白页面。与其这样做,不如使用header('Location:'。$newURL)重定向它们代码>在退出()之前
其中$newURL
将是一些HTML页面,上面写着“谢谢你的邮件”@JohnSmith没问题,很乐意帮助:)如果你能按勾号接受答案,我将不胜感激
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">