2012-03-05 2 views
0

html selectオプションタグにPHPパラメータを渡したいと思います。パラメータをhtmlに渡すをPHPから選択する

<input type="text" name="to" value= "<?php echo $parameter ?>" size=10> 

私はselectタグ用に同じことをしようとしましたが、何らかの理由でそのは動作していない:それは次のようにvalue属性を使用して、inputタグのために正常に動作します。

<select name="clinic"> 
    <option value="<?php echo $clinicName; ?>" >Baylor</option> 
    <option value="<?php echo $clinicName; ?>" >IDCC</option> 
</select> 

は、これら上記の文以下のSQL文に渡すに次のようにパラメータが必要となることに注意してください::以下は、selectタグである

$clinicName = $_POST['clinic']; 
$sql = "select * from patients where clinic = '$clinicName'"; 
+0

あなたがPHPパラメータとはどういう意味ですか?値を返すデータベースがあると思いますか?うまく動作するはずです。たぶん、コードをもっと必要とするか、より正確にする必要があります。 –

+4

*(推奨読書)* http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Gordon

+1

このコードでは、すべてのオプションが同じ値を持つ場所を選択することはできません(つまり、どの$クリニック名には含まれます)? –

答えて

0

トリックを行う必要があります

<select name="clinic"> 
    <option <?php echo ($clinicName=="Baylor" ? "selected" : ""; ?> value="Baylor">Baylor</option> 
    <option <?php echo ($clinicName=="IDCC" ? "selected" : ""; ?> value="IDCC">IDCC</option> 
</select> 

また、コメントの中で言及された私の上の人物として、SQLiを読んでみる必要があります。さもなければ、あなたのサイトは既にハッキングされているリストの1つです。

0

現在選択している値を<select>に設定しようとしていますか?その場合は、選択したとしてマークするかを確認するためにifステートメントを使用する必要があります。

<option value="Baylor"<?php if($clinicName == 'Baylor') echo ' "selected"'?>>Baylor</option> 
<option value="IDCC"<?php if($clinicName == 'IDCC') echo ' "selected"'?>>IDCC</option> 

代わりifの、あなたもternary operatorを使用することができます。すべての

<option value="Baylor"<?php echo $clinicName == 'Baylor' ? ' "selected"' : ''?>>Baylor</option> 
<option value="IDCC"<?php echo $clinicName == 'IDCC') ? ' "selected"' : ''?>>IDCC</option> 
0

まず、サニタイズしてくださいあなたのSQLクエリ今はリンジー・ローハンよりも悪用されています。あなたはmysql_ *関数を使用する場合は、としてそれを書く:

$sql = "select * from patients where clinic = '".mysql_real_escape_string($clinicName)."'"; 

は第二に、あなたのHTMLに$ clinicNameは両方のケースで同じです。したがって、$ _POST ['clinic']は何があっても常に同じです。私はあなたの質問について少し混乱したまま、それ以外

<select name="clinic"> 
    <option value="Baylor" <?php if($clinicName=='Baylor'){ echo 'selected'; } ?>>Baylor</option> 
    <option value="IDCC" <?php if($clinicName=='IDCC'){ echo 'selected'; } ?>>IDCC</option> 
</select> 

:あなたは値を事前に選択したい場合は、としてそれを記述する必要があります。あなたのHTMLタグ

<select name="clinic"> 
<option value="baylor" >Baylor</option> 
<option value="IDCC" >IDCC</option></select> 

0

コピーこれとこれはあなたのHTMLタグの前に

<?php 
echo $clinicName = $_POST['clinic']; 
?> 
関連する問題