2012-03-05 39 views
0

我想將php參數傳遞給html選項標籤。它工作正常使用的價值屬性,如下所示的輸入標籤:將參數傳遞給html從php中選擇

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

我試圖在選擇標籤做同樣的,但由於某種原因,它不工作。下面是選擇標籤:

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

請注意,該參數需要如下傳遞給下面這些上述聲明的SQL語句:

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

你說的PHP參數是什麼意思?我認爲你有一些數據庫正在返回值?應該工作正常。也許你需要更多的代碼或更精確。 – 2012-03-05 14:39:45

+4

*(建議閱讀)* http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Gordon 2012-03-05 14:41:28

+1

沒有代碼給你一個選擇所有的選項都有相同的值(即什麼$ clinicName包含)? – 2012-03-05 14:41:34

回答

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,否則你的網站只是一個已經被黑客入侵的列表。

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> 

除此之外,我仍然有點困惑你的問題。

0

拷貝在你的HTML標記

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

這你的HTML標記之前

<?php 
echo $clinicName = $_POST['clinic']; 
?>