Php form values ​​not showing

My form will not show the values ​​unless I add them to the required = array and not everything is required. Thus, the email name, lasname and email address will be displayed in the sent email, but it will not display the phone and message (I have other fields to add).

Here is my code:

<?php if(!$_POST) exit; $email = $_POST['email']; //$error[] = preg_match('/\b[A-Z0-9._%-] +@ [A-Z0-9.-]+\.[AZ]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS'; if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[az]{2,}"."$",$email )){ $error.="Invalid email address entered"; $errors=1; } if($errors==1) echo $error; else{ $values = array('firname','lasname','email','phone','message'); $required = array('firname','lasname','email',); $your_email = " aasdasd@email.com "; $email_subject = "Reservations Form: ".$_POST['subject']; $email_content = "new reservation:\n"; foreach($values as $key => $value){ if(in_array($value,$required)){ if ($key != 'subject' && $key != '') { if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } } $email_content .= $value.': '.$_POST[$value]."\n"; } } if(@mail($your_email,$email_subject,$email_content)) { header('Location: http://www.example.com/test/reservation-submission.html'); } else { echo 'ERROR!'; } } ?>` <form action="reservations.php" method="post" id="contactform"> <ol> <li><label>First Name *</label> <input id="firname" name="firname" class="text" value="" /> </li> <li><label>Last Name *</label> <input id="lasname" name="lasname" class="text" value="" /> </li> <li><label>Email *</label> <input id="email" name="email" class="text" type="email" value="" /> </li> <li><label>Phone Number *</label> <input id="phone" name="phone" class="text" value="" /> </li> <li><label>Best Time To Call</label> <select name="best time to call" id="call" class="drop"> <option selected="selected" value="Morning">Morning</option> <option value="Afternoon">Afternoon</option> <option value="Evening">Evening</option> </select> </li> <br /> <li><label>Age</label> <select name="age" id="age" class="drop"> <option selected="selected" value="25+">25+</option> <option value="21-24">21-24</option> </select> </li> <br /> <li> <label> Rental *</label> <select name="rental" id="rental" class="drop"> <option selected="selected" value="12 Passenger Van">12 Passenger Van</option> <option value="15 Passenger Van">15 Passenger Van</option> <option value="Cargo Van">Cargo Van</option> </select> </li> <br /> <li> <label> Pick up Location *</label> <select name="location" id="location" class="drop"> <option selected="selected" value="Select Location">Select Location</option> <option value="U-Save JFK">U-Save JFK</option> <option value="U-Save LGA">U-Save LGA</option> </select> </li> <br /> <li><label>Estimated Mileage</label> <select name="mileage" id="mileage" class="drop"> <option selected="selected" value="Under 100">Under 100</option> <option value="100-500">100-500</option> <option value="500+">500+</option> </select> </li> <br /> <li><label>Pick Up Date *</label> <input id="pick-up-date" name="pick-up-date" class="date" value="MM/DD/YY" /> <a href="javascript:showCal('Calendar1')"><img class="cal" align="absmiddle" src="cal/cal.gif" border="0" alt="Calendar"></a> </li> <br /> <li><label>Pick Up Time *</label> <select class="drop" name="pick up time" id="Pick Up Time"> <option value="12:00 am">12:00 am</option> <option value="12:30 am">12:30 am</option> <option value="01:00 am">01:00 am</option> <option value="01:30 am">01:30 am</option> <option value="02:00 am">02:00 am</option> <option value="02:30 am">02:30 am</option> <option value="03:00 am">03:00 am</option> <option value="03:30 am">03:30 am</option> <option value="04:00 am">04:00 am</option> <option value="04:30 am">04:30 am</option> <option value="05:00 am">05:00 am</option> <option value="05:30 am">05:30 am</option> <option value="06:00 am">06:00 am</option> <option value="06:30 am">06:30 am</option> <option value="07:00 am">07:00 am</option> <option value="07:30 am">07:30 am</option> <option value="08:00 am">08:00 am</option> <option value="08:30 am">08:30 am</option> <option value="09:00 am">09:00 am</option> <option value="09:30 am">09:30 am</option> <option value="10:00 am">10:00 am</option> <option value="10:30 am">10:30 am</option> <option value="11:00 am">11:00 am</option> <option value="11:30 am">11:30 am</option> <option value="12:00 pm">12:00 pm</option> <option value="12:30 pm">12:30 pm</option> <option value="01:00 pm">01:00 pm</option> <option value="01:30 pm">01:30 pm</option> <option value="02:00 pm">02:00 pm</option> <option value="02:30 pm">02:30 pm</option> <option value="03:00 pm">03:00 pm</option> <option value="03:30 pm">03:30 pm</option> <option value="04:00 pm">04:00 pm</option> <option value="04:30 pm">04:30 pm</option> <option value="05:00 pm">05:00 pm</option> <option value="05:30 pm">05:30 pm</option> <option value="06:00 pm">06:00 pm</option> <option value="06:30 pm">06:30 pm</option> <option value="07:00 pm">07:00 pm</option> <option value="07:30 pm">07:30 pm</option> <option value="08:00 pm">08:00 pm</option> <option value="08:30 pm">08:30 pm</option> <option value="09:00 pm">09:00 pm</option> <option value="09:30 pm">09:30 pm</option> <option value="10:00 pm">10:00 pm</option> <option value="10:30 pm">10:30 pm</option> <option value="11:00 pm">11:00 pm</option> <option value="11:30 pm">11:30 pm</option> </select> </li> <br /> <li><label>Drop Off Date *</label> <input id="drop-off-date" name="Drop Off Date" class="date" value="MM/DD/YY" /> <a href="javascript:showCal('Calendar2')"><img class="cal" align="absmiddle" src="cal/cal.gif" border="0" alt="Calendar" /></a> </li> <br /> <li><label>Drop Off Time *</label> <select class="drop" name="Drop Off Time" id="Drop Off Time"> <option value="12:00 am">12:00 am</option> <option value="12:30 am">12:30 am</option> <option value="01:00 am">01:00 am</option> <option value="01:30 am">01:30 am</option> <option value="02:00 am">02:00 am</option> <option value="02:30 am">02:30 am</option> <option value="03:00 am">03:00 am</option> <option value="03:30 am">03:30 am</option> <option value="04:00 am">04:00 am</option> <option value="04:30 am">04:30 am</option> <option value="05:00 am">05:00 am</option> <option value="05:30 am">05:30 am</option> <option value="06:00 am">06:00 am</option> <option value="06:30 am">06:30 am</option> <option value="07:00 am">07:00 am</option> <option value="07:30 am">07:30 am</option> <option value="08:00 am">08:00 am</option> <option value="08:30 am">08:30 am</option> <option value="09:00 am">09:00 am</option> <option value="09:30 am">09:30 am</option> <option value="10:00 am">10:00 am</option> <option value="10:30 am">10:30 am</option> <option value="11:00 am">11:00 am</option> <option value="11:30 am">11:30 am</option> <option value="12:00 pm">12:00 pm</option> <option value="12:30 pm">12:30 pm</option> <option value="01:00 pm">01:00 pm</option> <option value="01:30 pm">01:30 pm</option> <option value="02:00 pm">02:00 pm</option> <option value="02:30 pm">02:30 pm</option> <option value="03:00 pm">03:00 pm</option> <option value="03:30 pm">03:30 pm</option> <option value="04:00 pm">04:00 pm</option> <option value="04:30 pm">04:30 pm</option> <option value="05:00 pm">05:00 pm</option> <option value="05:30 pm">05:30 pm</option> <option value="06:00 pm">06:00 pm</option> <option value="06:30 pm">06:30 pm</option> <option value="07:00 pm">07:00 pm</option> <option value="07:30 pm">07:30 pm</option> <option value="08:00 pm">08:00 pm</option> <option value="08:30 pm">08:30 pm</option> <option value="09:00 pm">09:00 pm</option> <option value="09:30 pm">09:30 pm</option> <option value="10:00 pm">10:00 pm</option> <option value="10:30 pm">10:30 pm</option> <option value="11:00 pm">11:00 pm</option> <option value="11:30 pm">11:30 pm</option> </select> </li> <br /> <li><label>Additional Infomation</label> <textarea id="message" name="message" rows="6" cols="50"></textarea> </li> <li class="button1"> <input type="image" name="imageField" id="imageField" src="images/reserve-now-btn.png" class="send" /> <div class="clr"></div> </li> </ol> </form> 
+4
source share
3 answers

You placed { in the wrong place, causing the raw field to be ignored together.

 foreach($values as $key => $value){ if(in_array($value,$required)){ if ($key != 'subject' && $key != '') { if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } } } // <- Good $email_content .= $value.': '.$_POST[$value]."\n"; // } <- Wrong } 
0
source

Change this section:

 foreach($values as $key => $value){ if(in_array($value,$required)){ if ($key != 'subject' && $key != '') { if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } } $email_content .= $value.': '.$_POST[$value]."\n"; } } 

to ...

 foreach($values as $key => $value){ if(in_array($value,$required)){ if ($key != 'subject' && $key != '') { if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } } } $email_content .= $value) .': '.$_POST[$value])."\n"; } 

To simplify, you take each element in your $values array and look for it in the form. If it is on the $required list, then you check to see if it is empty. If it is empty, an error message is displayed. Otherwise, you want to add it to the message that will be sent by mail ( $email_content ).

Previously, the “add it to email content” part was only performed in the “if required” cycle. I moved it down so that it is part of "for each value loop.

+3
source

You should derive the $email_content part from the if(in_array($value,$required)){ . One level up:

 foreach($values as $key => $value){ if(in_array($value,$required)){ if ($key != 'subject' && $key != '') { if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; } } // from here } $email_content .= $value.': '.$_POST[$value]."\n"; // to here } 

Since you want to add not only the required fields to the content.

+2
source

All Articles