php - HTML PHP 电子邮件提交表单
问题描述
我正在尝试创建一个 PHP 表单,允许用户插入他们的电子邮件地址,它会自动向我发送一封包含他们电子邮件地址的电子邮件。订阅之类的东西。
我到目前为止是这样的:
<form action="" method="post">
<input type="email" name="email" placeholder="Enter your email address" /><br>
</form>
我发现了这个 PHP 示例,我相信它可以解决我的问题,但我不知道如何从我的 HTML 中调用它。
<?php
if(isset($_POST['email'])){
$email = $_POST['email'];
$to = 'myemail@something.com';
$subject = 'new subscriber';
$body = '<html>
<body>
<p>Email:<br>'.$email.'</p>
</body>
</html>';
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset-utf-8";
$send = mail($to, $subject, $body, $headers);
if($send){
echo '<br>';
echo 'thanks';
}else{
echo 'error';
}
}
?>
解决方案
没有足够的代码让我能够完全回答,但我立即想到的一件事就是不要action=""
留空。尝试$_SERVER['PHP_SELF']
变量,它应该打印当前正在运行的文件的路径,因此您将看到相同的页面,但$_POST
您将发送数据。你可以这样尝试:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="email" name="email" placeholder="Enter your email address" /><br>
</form>
如果您希望像这样将数据发送到同一个文件,请确保您的 PHP 代码与表单的 HTML 结构在同一个文件中。如果您将 PHP 代码放在首位,这可能会使事情变得更容易,因此您可以exit;
从文件(不再显示表单)告诉用户消息已发送或已发生错误。
推荐阅读
- python - 在python中使用用户输入(输入)向类添加新对象
- spring - Spring Autowire Hashmap 在 kotlin 中不起作用
- xslt - XSLT:获取相对 URI 而不是绝对 uri
- sas - 每次调用宏时如何告诉 SAS 编译宏而不是手动编译
- typescript - 重复的 TreeView 架构是 VS 代码扩展
- c# - 如何找到标记为“玩家”的游戏对象
- c# - 如何使用 C# 创建对谷歌日历 API 的 HTTP GET 请求?
- javascript - eslint 不允许以模式结尾的文件名
- linux - 打印以特殊字符开头的整个日志
- java - 我不能从我的代理类转发异常