PROBLEM: PHP strip_tags & multi-dimensional array form parameter
- by Tunji Gbadamosi
I'm having problems stripping the tags from the textual inputs retrieved from my form so as to do something with them in checkout.php. The input is stored in a multi-dimensional array.
Here's my form:
echo '<form name="choose" action="checkout.php" method="post" onsubmit="return validate_second_form(this);">';
echo '<input type="hidden" name="hidden_value" value="'.$no_guests.'" />';
if($no_guests >= 1){
echo '<div class="volunteer">';
echo '<fieldset>';
echo '<legend>Volunteer:</legend>';
echo '<label>Table:</label>';
echo '<select name="volunteer_table">';
foreach($tables as $t){
echo '<option>'.$t.'</option>';
}
echo '</select><br><br>';
echo '<label>Seat number:</label>';
echo '<select name="volunteer_seat">';
foreach($seats as $seat){
echo '<option>'.$seat.'</option>';
}
echo '</select><br><br>';
//echo '<br>';
echo '</fieldset>';
echo '</div>';
for($i=0;$i<$no_guests;$i++){
$guest = "guest_".$i;
echo '<div class="'.$guest.'">';
echo '<fieldset>';
echo '<legend>Guest '.$i.':</legend>';
echo '<label>First Name:</label>';
echo '<input type="text" name="guest['.$i.']['.$first_name.']" id="fn'.$i.'">';
echo '<label>Surname:</label>';
echo '<input type="text" name="guest['.$i.']['.$surname.']" id="surname'.$i.'"><br><br>';
echo '<label>Date of Birth:</label> <br>';
echo '<label>Day:</label>';
echo '<select name="guest['.$i.'][dob_day]">';
for($j=1;$j<32;$j++){
echo"<option value='$j'>$j</option>";
}
echo '</select>';
echo '<label>Month:</label>';
echo '<select name="guest['.$i.'][dob_month]">';
for($j=0;$j<sizeof($month);$j++){
$value = ($j + 1);
echo"<option value='$value'>$month[$j]</option>";
}
echo '</select>';
echo '<label>Year:</label>';
echo '<select name="guest['.$i.'][dob_year]">';
for($j=1900;$j<$year_limit;$j++){
echo"<option value='$j'>$j</option>";
}
echo '</select> <br><br>';
echo '<label>Sex:</label>';
echo '<select name="guest['.$i.']['.$sex.']">';
echo '<option>Female</option>';
echo '<option>Male</option>';
echo '</select><br><br>';
echo '<label>Table:</label>';
echo '<select name="guest['.$i.']['.$table.']">';
foreach($tables as $t){
echo '<option>'.$t.'</option>';
}
echo '</select><br><br>';
echo '<label>Seat number:</label>';
echo '<select name="guest['.$i.']['.$seat_no.']">';
foreach($seats as $seat){
echo '<option>'.$seat.'</option>';
}
echo '</select><br><br>';
//echo '<br>';
echo '</fieldset>';
echo '</div>';
}
}
else{
echo '<div id="volunteer">';
echo '<fieldset>';
echo '<legend>Volunteer:</legend>';
echo '<label>Table:</label>';
echo '<select name="volunteer['.$table.']">';
foreach($tables as $t){
echo '<option>'.$t.'</option>';
}
echo '</select><br><br>';
echo '<label>Seat number:</label>';
echo '<select name="volunteer['.$seat_no.']">';
foreach($seats as $seat){
echo '<option>'.$seat.'</option>';
}
echo '</select><br><br>';
//echo '<br>';
echo '</fieldset>';
echo '</div>';
}
echo '<input type="submit" value="Submit form">';
echo '</form>';
here's checkout.php:
if(isset($_POST['guest'])){
foreach($_POST['guest'] as $guest){
$guest['first_name'] = strip_tags($guest['first_name']);
$guest['surname'] = strip_tags($guest['surname']);
}
//$_SESSION['guest'] = $guests;
}