2016-04-11 20 views
-1

Ich lerne PHP und habe ein Formular auf einer Seite. Wenn Sie den Absenden-Button drücken (mit $_GET), geht es auf eine neue Seite mit dem Rest des Formulars.Füllen Sie die Auswahlfelder in PHP

Ich gebe die Anzahl der Erwachsenen in einer Auswahlbox.

Wie kann ich $_GET die Werte und setzen Sie es in die Auswahloption, so dass es ausgefüllt ist?

+0

Bitte zeigen Sie Ihr Formular von Ihrer ersten Seite und den HTML-Code für 'Select' auf der zweiten Seite. – vaso123

+0

Was hast du bisher versucht? Postleitzahl, die nicht wie erwartet funktioniert hat. –

Antwort

0

Hier ist ein Beispiel für ein Formular, das auf sich selbst veröffentlicht.

Beim Erstellen der Optionsliste überprüfen wir den Wert gegen den vom Benutzer bereitgestellten, wenn sie übereinstimmen, fügen Sie das Attribut 'ausgewählt' hinzu.

<?php 

$options = array('3', '4', '5'); 
$adults = null; 
$error = null; 

if($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $adults = isset($_POST['adults']) ? $_POST['adults'] : null; 

    // Check the user supplied valid number. 
    if(in_array($adults, $options)) { 
     echo 'Valid post.'; 
     // Your processing. 
    } else { 
     $error = 'Invalid option for adult.'; 
    } 
} 
?> 
<html> 
<head><title>Select list form</title></head> 
<body> 
<?php if($error) echo $error; ?> 
<form method="POST"> 
    Number of adults:<br /> 
    <select name="adults"> 
    <?php foreach($options as $number) { ?> 
     <option value="<?php echo $number; ?>" 
      <?php echo $number == $adults ? 'selected' : ''; ?> 
     > 
      <?php echo $number; ?> 
     </option> 
    <?php } ?> 
    </select> 
    <input type="submit" value="submit" > 
</form> 
</body> 
</html> 
-1

Holen Sie die Werte und speichern Sie sie im Array, danach erstellen Sie eine Schleife, um die Optionen Ihrer Auswahl zu erstellen. Wenn Sie Framework wie symfony verwenden, können Sie das am saubersten machen.

0

Wenn das Formular gesendet wird, können Sie die Werte senden von $ _GET ['Variablenname'];

Wenn Ihr wählen mit dem Namen adult_number ist, können Sie es für die Auswahl prüfen wie diese

<select name="x"> 
<?php 
$adult_number = $_GET['adult_number']; 
for($i=0; $i<10; $i+=1) 
{ 
    $selected = ($adult_number == $i ? 'selected' : ''); 
    echo '<option value="'.$i.'" '.$selected.' />'; 
} 
?> 

Dies wird prüfen, ob die vorgelegten Betrag $ i (von 1 bis 10 zum Beispiel) gleich ist, und wenn es ist gleich, es wird diese Option der Auswahl auswählen.

Verwandte Themen