2010-03-19 43 views
0

我在從我的表單中檢索到的文本輸入中剝離標記時出現問題,以便在checkout.php中對它們執行某些操作。輸入存儲在multi-dimensional array中。問題:PHP strip_tags和多維數組表單參數

這裏是我的形式:

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>'; 

這裏的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; 
} 

回答

2

你需要一個&,使該對象的編輯。

foreach ($_POST['guest'] as &$guest) 
+0

感謝您的快速回復。非常明顯! – Fortisimo 2010-03-19 17:26:07