【问题标题】:HTML PHP email submit formHTML PHP 电子邮件提交表单
【发布时间】:2018-11-05 03:38:59
【问题描述】:

我正在尝试创建一个 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';
}
}
?>

【问题讨论】:

  • 只要把php文件名放在表单的action里
  • 在互联网上查找代码可能会有所帮助,但如果您不具备该代码作用如何使用它的必要知识我>。从一些关于 PHP 的基本介绍性教程开始。一旦您完全掌握了 PHP,请继续阅读一些关于如何使用 PHP 发送电子邮件的教程和示例,例如您在此处的那个。
  • @LelioFaieta 我试过了.. 当我按下提交时打开 index/phpfilename.php 并在屏幕上打印代码..
  • 除了您创建的表单部分之外,您还有其他代码吗?比如你的提交按钮叫什么等等。如果我能看到你的表单还有什么,我可以提供更多帮助。但是,现在我做不到。请分享更多代码,我很乐意提供帮助。
  • @xicocana: "当我按下提交时打开 index/phpfilename.php 并在屏幕上打印代码" - 这应该会有所帮助:stackoverflow.com/questions/5121495/… 基本上听起来像 PHP未在您的网络服务器上正确安装或配置。

标签: php html email subscription


【解决方案1】:

没有足够的代码让我能够完全回答,但我立即想到的一件事就是不要让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;(不再显示表单)告诉用户消息已发送或已发生错误。

【讨论】:

  • 我最终将 php 代码添加到我的 html 索引文件的开头,并将其重命名为 index.php,现在它运行良好。谢谢
  • 很高兴能帮上忙!
猜你喜欢
  • 1970-01-01
  • 2012-01-12
  • 2013-09-16
  • 2015-11-11
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多