2012-01-14 31 views
0

我有以下代碼,完全從PHP書籍的練習中複製。我遇到了一個包含php echo語句的value屬性的問題。根據這本書,第一次加載頁面時,輸入框應該是空的,因爲變量將不包含任何數據。相反,我看到這樣的事情:在HTML輸入值中使用echo

<br /><b>Notice</b>: Undefined variable: investment in  <b>C:\xampp\htdocs\book_apps\ch02_future_value\index.php</b> on line <b>20</b><br />. 

有什麼建議嗎?

<form action="display_results.php" method="post"> 

    <div id="data"> 
     <label>Investment Amount:</label> 
     <input type="text" name="investment" 
       value="<?php echo $investment; ?>"/><br /> 

     <label>Yearly Interest Rate:</label> 
     <input type="text" name="interest_rate" 
       value="<?php echo $interest_rate; ?>"/><br /> 

     <label>Number of Years:</label> 
     <input type="text" name="years" 
       value="<?php echo $years; ?>"/><br /> 
    </div> 

    <div id="buttons"> 
     <label>&nbsp;</label> 
     <input type="submit" value="Calculate"/><br /> 
    </div> 

</form> 
+1

這可能是一個非常古老的書。它教授哪個版本的PHP? – 2012-01-14 22:42:47

+0

它不僅是空的,它是未定義的。也許你的書是爲較不挑剔的PHP編寫的。 – greut 2012-01-14 22:43:43

+0

這本書不老,它在2010年出版;它是「Murach的PHP和MySQL」。 – 2012-01-14 22:59:48

回答

1

這是因爲您期待設置register_globals指令,而不是。

這意味着你必須得到$_POST['investement']而不是$investment,你首先要檢查它是否已經提交:

$investment = array_key_exists('investment', $_POST) ? $_POST['investment'] : "";