2016-04-11 12 views
-1

私はPHPを学んでおり、1ページにフォームがあります。送信ボタン($_GETを使用)を押すと、残りのフォームとともに新しいページに移動します。選択ボックスにPHPを埋め込む

私は大人の数を選択ボックスに入れています。

どのようにすれば$_GETの値を選択して選択オプションに入れることができますか?

+0

最初のページからフォームを表示し、2番目のページで「選択」のhtmlコードを表示してください。 – vaso123

+0

これまでに何を試しましたか?あなたが期待どおりに動作しなかったポストコード。 –

答えて

0

ここに、自己に投稿するフォームの例を示します。

オプションリストを作成する際に、ユーザーが指定した値と一致するかどうかをチェックします。一致する場合は、「selected」属性を追加します。

<?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

値を取得して配列に格納した後、ループを作成して選択項目のオプションを作成します。 symfonyのようなフレームワークを使用している場合は、もっときれいにすることができます。

0

フォームが送信されると、$ _GET ['変数名']によって送信された値を取得できます。あなたが提出した金額は$ iが等しい場合、これは(例えば1から10まで)をチェックします。この

<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.' />'; 
} 
?> 

のように選択していないか確認し、それならば可能adult_numberあなたの選択は名前である場合

選択肢のこのオプションを選択します。

関連する問題