2012-03-05 4 views
0

html select 옵션 태그에 PHP 매개 변수를 전달하고 싶습니다.매개 변수를 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 문을 전달에 다음과 같은 매개 변수가 필요 있습니다 : 다음은 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

그 코드는 모든 옵션이 동일한 값을 갖는 곳을 선택하지는 않습니다 (예 : what $ clinicName contains)? –

답변

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>에 현재 선택된 값을 설정하려고합니까? 당신은 또한 ternary operator 사용할 수 있습니다, 대신 if

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

을 : 그렇다면, 당신은 선택으로 표시하는 하나 확인 if 문을 사용하는 데 필요한 모든의

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

먼저, 소독하십시오 귀하의 SQL 쿼리. 지금은 린제이 로한보다 더 악용 될 수 있습니다.

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

둘째, 귀하의 HTML에 $ clinicName이 두 경우 모두에서 동일합니다 : 당신이 기능을 mysql_로를 사용 * 경우로, 다음 물품. 그러므로 $ _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']; 
?> 
관련 문제