2014-04-09 2 views
1

Newb 여기에 데이터를 입력 한 다음 날짜를 처리 할 필터를 선택하는 간단한 온도 변환기를 만들려고합니다. 나는 이전에 select와 함께 일한 적이 없으며 선택한 값만 표시하도록 데이터를 처리하는 방법을 파악할 수 없었습니다. 당신이 ferinheight와 celcius 둘 다 스크린에 인쇄한다면 지금 당장. 풀다운/선택에서 선택한 값만 인쇄하고 싶습니다. 당신은 $myFilter 값을 할당하는 것을 잊었다php : 양식이 올바르게 평가되지 않습니다.

1) :

<?php 
    if (isset ($_POST['submit'])){//data is subnmitted, show it 
     //$myTemp = (int)$_POST['myTemp'];// make it an int 
     $myTemp = (float)$_POST['myTemp'];// float more forving 

     $F = $myTemp * 9/5 + 32; 
     $C = $myTemp * 9/5 - 32; 

     if ($myFilter == 'f'){echo $F . "&ordm; ferinheight";} 
     if ($myFilter == 'c'){echo $C . "&ordm; Celcius ";} 

    }else{ 
?> 
<form action="02temp.php" method="post"> 
    Enter Value to convert: <input type="text" name="myTemp" /> 
    <br /> 
    Select data filter: 
    <select name="myFilter"> 
     <option value="f">F&ordm;</option> 
     <option value="c">C&ordm;</option> 
    </select> 
    <br /><br /> 
    <input type="submit" name="submit" /> <!--purposely blurred --> 
</form> 
<?php 
    } 
?> 

답변

3

당신은 몇 가지 실수가 있습니다.

$myFilter = $_POST['myFilter']; // <-- You forgot this 

2)하지만 않았더라도, 당신은 당신의 문은 사실 둘 다 만드는 경우 대신 비교 연산자 (==)의) 할당 연산자 (=를 사용

if ($myFilter = 'f'){echo $F . "&ordm; ferinheight";} 
if ($myFilter = 'c'){echo $C . "&ordm; Celcius ";} 

것은해야한다

if ($myFilter == 'f'){echo $F . "&ordm; ferinheight";} 
if ($myFilter == 'c'){echo $C . "&ordm; Celcius ";} 
+0

대략 1) : 나는 그의 코드가 REGISTER_GLOBALS가 켜진 채로 실행되어야한다고 생각합니다. 그래도 더 이상 사용할 수 없습니다 (보안 측면에서). –

+0

그들이'$ myTemp'를 할당 한 이후로 가정하지 않을 것임 –

+0

OP가'==' –

관련 문제