【问题标题】:Sending Email in php from html form从 html 表单以 php 发送电子邮件
【发布时间】:2016-03-17 06:04:02
【问题描述】:

我创建了一个 html 形式的网页,其中仅包含 3 个字段名称、电子邮件和消息以及一个按钮。用于发送名为 status.php 的邮件的 php 的第二页。但是当我单击发送邮件按钮时,它不会重定向到 status.php 而是下载该页面。为什么会发生这种情况。任何人都可以告诉.. 这是代码:

<form method="post" action="status.php">
    <ol>
      <li>
        <label for="name">Name (required)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
        <input id="name" name="name" />
      </li>
      <br /><li>
        <label for="email">Email Address (required)&nbsp&nbsp&nbsp&nbsp;</label>
        <input id="email" name="email" />
      </li>
      <br /><li>
        <label for="message">Your Message&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
        <textarea id="message" name="message" rows="8" cols="50"></textarea>
      </li>
      <br /><li>
            <input type="submit" name="submit" value="Send Email"/>
      </li>
    </ol>
</form>

PHP 代码:

<?php
    if(isset($_POST['submit']))
    {
        $to = 'jafar.nadaf@ajinkyatechnologies.com';
        $subject = 'Email Test';
    }
    $status = 'Name: ' .$_POST['name']. "\r\n\r\n";
    $status .= 'Email: ' .$_POST['email']. "\r\n\r\n";
    $status .= 'Message: ' .$_POST['message'];
    echo $status;
?>

【问题讨论】:

  • 您可以尝试将 onSubmit 属性添加到您的表单中,
  • 您应该使用绝对路径执行文件,例如。 localhost/first.html 如果您使用的是相对路径 eg.file:///var/www/html/first.html 则下载文件
  • ^ 是的。接得好。我错过了“下载”这个词
  • ^^ 没想到,哈哈。如果@WisdmLabs 解决方案不起作用.. 也许您的服务器不支持 php?
  • 如果我想在同一页面上执行所有操作,该怎么办......

标签: php email


【解决方案1】:

如果您想在同一页面中执行所有功能并参考以下内容:

index.php

<?php
    if(isset($_POST['submit']))
        {
            $to = 'jafar.nadaf@ajinkyatechnologies.com';
            $subject = 'Email Test';
        }
        $status = 'Name: ' .$_POST['name']. "\r\n\r\n";
        $status .= 'Email: ' .$_POST['email']. "\r\n\r\n";
        $status .= 'Message: ' .$_POST['message'];
        echo $status;
    ?>

    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
      <ol>
          <li>
            <label for="name">Name (required)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
            <input id="name" name="name" />
          </li>
          <br /><li>
            <label for="email">Email Address (required)&nbsp&nbsp&nbsp&nbsp;</label>
            <input id="email" name="email" />
          </li>
          <br /><li>
            <label for="message">Your Message&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label>
            <textarea id="message" name="message" rows="8" cols="50"></textarea>
          </li>
          <br /><li>
                <input type="submit" name="submit" value="Send Email"/>
          </li>
        </ol>
    </form>

【讨论】:

  • oops.. 现在你需要检查你的服务器是否支持 php。
【解决方案2】:

确保在本地计算机上设置服务器,例如运行 Windows 机器时的 LAMP(Linux、Apache、MySQL 和 PHP)或 XAMPP,并尝试使用

http://localhost/path/to/your/script

您的文件需要位于服务器的“htdocs”目录中(除非您进行了更多配置并更改了该路径)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2012-07-02
    • 2016-03-11
    相关资源
    最近更新 更多