PHP没有从HTML中获取值


PHP not taking the value from HTML

所以问题是在我的表单中,唯一的工作对象是名字、姓氏、电子邮件地址、电话号码、评论和房间。

但是访客数量、到达日期和离开日期不起作用。

我已经检查了所有的身份证,它们都是正确的。

<form name="contactform" method="post" action="send_form_email.php">
<table width="450px">
    <tr>
      <td valign="top">
        <label for="first_name">First Name *</label>
      </td>
      <td valign="top">
        <input type="text" name="first_name" maxlength="50" size="30">
      </td>
    </tr>
    <tr>
      <td valign="top">
        <label for="last_name">Last Name *</label>
      </td>
      <td valign="top">
        <input type="text" name="last_name" maxlength="50" size="30">
      </td>
    </tr>
    <tr>
      <td valign="top">
        <label for="email ">Email Address *</label>
      </td>
      <td valign="top">
        <input type="text " name="email " maxlength="80 " size="30 ">
      </td>
    </tr>
    <tr>
      <td valign="top">
        <label for="telephone ">Telephone Number</label>
      </td>
      <td valign="top">
        <input type="text " name="telephone " maxlength="30 " size="30 ">
      </td>
    </tr>
    <tr>
      <td valign="top">
        <label for="comments ">Comments *</label>
      </td>
      <td valign="top">
        <textarea name="comments " maxlength="1000 " cols="25 " rows="6 "></textarea>
      </td>
    </tr>

    <tr>
      <td valign="top">
        <label for="room">Room</label>
        <td valign="top">
          <select name="room">
            <option value="Ηλεκτρολογοι">Type room 1</option>
            <option value="Γεωπονοι">Tyre room 2</option>
          </select>

        </td>
        <td valign="top">


        </td>
    </tr>

    <tr>
      <td colspan="2" style="text-align:center ">


        <input type="image " src="buttononclick.png" alt="Submit Form " />
      </td>
    </tr>
 <tr>
<td valign="top">
 <label for="visitor">Number of Visitor</label>
   <td valign="top">
  <select name="visitor">
 <option value="1">1</option>
 <option value="2">2</option>
 <option value="3">3</option>
 <option value="4">4</option>
 </select>
 </td>
 <td valign="top">
 </td>
 </tr>
 <tr>
 <td valign="top">
  <label for="arrival">Arrival Date</label>
 </td>
 <td valign="top">
<textarea  name="arrival" maxlength="1000" cols="20" rows="2"></textarea>
</td>
</tr>


<tr>
<td valign="top">
<label for="departure">Departure Date</label>
</td>
<td valign="top">
<textarea  name="departure" maxlength="1000" cols="20" rows="2"></textarea>
</td>
</tr>


 <tr>
 <td colspan="2" style="text-align:center">


 <input type="image" src="buttononclick.png" alt="Submit Form" />
 </td>
 </tr>

  </table>
</form>

PHP

<?php
if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "antonis997@gmail.com";
    $email_subject = "Your email subject line";


    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    // validation expected data exists
    if(!isset($_POST['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['telephone']) ||
        !isset($_POST['comments'])  ||
        !isset($_POST['room']))  { 
        !isset($_POST['visitor'])
        !isset($_POST['arrival'])  ||
        !isset($_POST['departure']))  || { 
    died('We are sorry, but there appears to be a problem with the form you submitted.');       
}

    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $telephone = $_POST['telephone']; // not required
    $comments = $_POST['comments']; // required
    $room = $_POST['room']; // not required
    $visitor = $_POST['visitor']; // not required
    $arrival = $_POST['arrival']; // not required
    $departure = $_POST['departure']; // not required

    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+'.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
  }
  if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
  }
  if(strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Form details below.'n'n";

    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "First Name: ".clean_string($first_name)."'n";
    $email_message .= "Last Name: ".clean_string($last_name)."'n";
    $email_message .= "Email: ".clean_string($email_from)."'n";
    $email_message .= "Telephone: ".clean_string($telephone)."'n";
    $email_message .= "Comments: ".clean_string($comments)."'n";
    $email_message .= "Room: ".clean_string($room)."'n";
    $email_message .= "Visitor: ".clean_string($visitor)."'n";
    $email_message .= "Arrival: ".clean_string($arrival)."'n";
    $email_message .= "Departure: ".clean_string($departure)."'n";


// create email headers
$headers = 'From: '.$email_from."'r'n".
'Reply-To: '.$email_from."'r'n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>

<!-- include your own success html here -->

Thank you for contacting us. We will be in touch with you very soon.

<?php
}
?>

您的php代码第47行中存在拼写错误

    !isset($_POST['room']))  { 
    !isset($_POST['visitor'])
    !isset($_POST['arrival'])  ||
    !isset($_POST['departure']))  || { 

不是吗:

    !isset($_POST['room'])  || 
    !isset($_POST['visitor']) ||
    !isset($_POST['arrival'])  || 
    !isset($_POST['departure']))  { 

在我看来,isset部分出现了问题

if(!isset($_POST['first_name']) ||
    !isset($_POST['last_name']) ||
    !isset($_POST['email']) ||
    !isset($_POST['telephone']) ||
    !isset($_POST['comments'])  ||
    !isset($_POST['room']))  { 
    !isset($_POST['visitor'])
    !isset($_POST['arrival'])  ||
    !isset($_POST['departure']))  || { 
die('We are sorry, but there appears to be a problem with the form you submitted.');       
}