我目前正在使用Murach学习php(该书于2010年出版).其中一个练习有这些陈述:
<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 />
Run Code Online (Sandbox Code Playgroud)
整个要点是上面的值属性与echo语句具有的变量最初没有被赋值任何值,因此根据本书,文本框应该是空的.但是稍后在练习中,将再次调用同一页面,变量现在将具有值,因此它们将打印在文本框中.这是本书的解释:
这些echo语句显示包含用户先前在表单中输入的数据的变量.但是,第一次显示此页面时,这些变量将不包含数据,因此文本框将为空.
但是,在第一次运行程序时,文本框实际上不是空的:

自从5年前出版这本书以来,我猜他们当时工作但现在没有,或者代码本身是错误的.任何人都可以告诉我这是否只是过时的代码或者它真的打破了吗?我如何修复它以使用null变量获得空文本框的预期效果?
谢谢!
您应该检查它们是否已定义.
即
<?php echo (isset($years)) ? $years : ''; ?>
Run Code Online (Sandbox Code Playgroud)
此外,如果您关闭php.ini中的display_errors,这将不会发生,但这将是一个不明智的解决方案
| 归档时间: |
|
| 查看次数: |
9670 次 |
| 最近记录: |