PHP邮件功能不发送任何消息

时间:2013-12-15 07:03:08

标签: php html email

我对问题是什么感到困惑,我在使用mail php函数时没有收到任何电子邮件。

PHP

<?php
if (isset($_POST['ch_but_logon'])) {
    $txt .= $_POST['named23'];   
    mail("email@email.com","test",$txt);
}

?>

HTML

<form action="mailer.php" method="post">
  <input type="text" name="named23" size="12">
</form>
</td>
</tr>
<tr>
  <td colspan="2" nowrap valign="top">
    <input type="checkbox" name="CHK_NOCACHE" value="on">
  </td>
</tr>
<tr>
  <td colspan="2">
    <div>
      <input type="submit" name="ch_but_logon" value="Entrer">

@@@@ UPDATE @@@@

更新的代码:索引

<form action="mailer.php" method="post">
  <input type="text" name="named23" size="12">
  </td>
  </tr>
  <tr>
    <td colspan="2" nowrap valign="top">
      <input type="checkbox" name="CHK_NOCACHE" value="on">
    </td>
  </tr>
  <tr>
    <td colspan="2">
      <div>
        <input type="submit" name="ch_but_logon" value="Entrer">
</form>

MAILER.PHP

<?php
if (isset($_POST['ch_but_logon'])) {
    $txt = $_POST['named23'];   
    mail("psadsaxu@yahoo.sds","test",$txt);
}

?>

但现在再次发送电子邮件。没有收到任何东西。

2 个答案:

答案 0 :(得分:0)

您需要在代码末尾关闭</form>,因为所有输入都应包含在表单中,特别是<input type="submit" name="ch_but_logon" value="Entrer">用于在PHP if (isset($_POST['ch_but_logon'])) {中验证

你需要删除&#34; dot&#34;之前&#34;等于&#34;因为之前没有创建 $ txt 的符号,所以这个连接操作是不必要的:

$txt = $_POST['named23'];

答案 1 :(得分:0)

您的HTML无效。您不能在表单外部使用<td><tr>,而是在表单中使用</tr></td>。这些标签必须正确嵌套。如果未正确嵌套,浏览器将向内部标记添加所有必需的结束标记。结果是您的表单在named23元素之后结束,而复选框和提交按钮不是表单的一部分。

您应该将整个表放在<form>...</form>标记内。