PhP表格没有接收输入

时间:2013-08-24 05:45:47

标签: php html forms email

我创建了一个联系表单contact.php,它将值提交给send_contact.php&处理输入

但是发生了什么,在我按下提交按钮后,send_contact.php文件将显示在浏览器中

contact.php

  <table width="300" border="0" align="left" cellpadding="0" cellspacing="1">
    <tr>
      <td>
        <form target="_blank" name="form1" method="post" action="send_contact.php" id="form1">
          <table width="100%" border="0" cellspacing="1" cellpadding="3">
            <tr>
              <td width="16%">Subject</td>

              <td width="2%">:</td>

              <td width="82%"><input name="subject" type="text" id="subject" size="30" /></td>
            </tr>

            <tr>
              <td>Detail</td>

              <td>:</td>

              <td>
              <textarea name="detail" cols="24" rows="4" id="detail">
              </textarea></td>
            </tr>

            <tr>
              <td>Name</td>

              <td>:</td>

              <td><input name="name" type="text" id="name" size="30" /></td>
            </tr>

            <tr>
              <td>Email</td>

              <td>:</td>

              <td><input name="customer_mail" type="text" id="customer_mail" size="30" /></td>
            </tr>

            <tr>
              <td></td>

              <td></td>

              <td><input type="submit" name="Submit" value="Submit" /><input type="reset" name="Submit2" value="Reset" /></td>
            </tr>
          </table>
        </form>
      </td>
    </tr>
  </table>

send_contact.php

<?php

    // Contact subject
    $subject ="$subject"; 

    // Details
    $message="$detail";

    // Mail of sender
    $mail_from="$customer_mail"; 

    // From 
    $header="from: $name <$mail_from>";

    // Enter your email address
    $to ='abcd@gmail.com';
    $send_contact=mail($to,$subject,$message,$header);

    // Check, if message sent to your email 
    // display message "We've recived your information"
    if($send_contact){
    echo "We've recived your contact information";
    }
    else {
    echo "ERROR";
    }

?>

2 个答案:

答案 0 :(得分:3)

您似乎依赖于register globals,这是一项危险的PHP功能,已从该语言的最新版本中完全删除。

要访问使用method="post"的表单提交的数据,您需要使用the $_POST superglobal数组。

$subject = $_POST['subject'];

答案 1 :(得分:2)

您需要从$ _POST获取值,例如

$subject ="$subject";

应该是这样的:

$subject =$_POST['subject'];

这是您使用超全局数组$ _POST

访问表单中的值的方法