Использование echo внутри входного значения HTML - PullRequest
0 голосов
/ 15 января 2012

У меня есть следующий код, скопированный точно из упражнения из книги PHP.У меня проблема с атрибутом value, который содержит оператор php 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 Ответ

1 голос
/ 15 января 2012

Это потому, что вы ожидаете установки директивы register_globals, а это не так.

Это означает, что вы должны получить $_POST['investement'] вместо $investment, и вам необходимо сначала проверить, было ли оно отправлено:

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