注意文本框内注意:注意:未定义的索引:第324行的D:\ xampp \ htdocs \ jobseeker \ resumejobseeker.php中的课程
<label>Other Course/Diploma: </label>
<input type="text" value="<?php echo htmlentities($_POST['course']); ?>" name="course"/>
答案 0 :(得分:1)
使用此:
<?php echo isset($_POST['course']) ? htmlentities($_POST['course']) : ''; ?>
原因:
实际上,当第一次加载表单时,页面没有post request
,因此$_POST['course']
未定义;所以你需要在文本框的value
中留空(在这里使用三元运算符)。
所以完整的代码如下:
<label>Other Course/Diploma: </label>
<input type="text" value="<?php echo isset($_POST['course']) ? htmlentities($_POST['course']) : ''; ?>" name="course"/>
答案 1 :(得分:0)
来自PHP Manual的广泛智慧:
依赖于的默认值 未初始化的变量是有问题的 在包含一个文件的情况下 另一个使用相同的变量 名称。它也是一个主要security risk 已启用register_globals。 如果发出E_NOTICE级别错误 与未初始化的人合作 变量,但不是在的情况下 将元素附加到 未初始化的数组。 isset()语言 构造可用于检测是否 变量已经初始化。
虽然PHP不需要变量声明,但它确实推荐它,以避免一些安全漏洞或错误,人们会忘记为稍后将在脚本中使用的变量赋值。 PHP在未声明变量的情况下所做的是发出一个非常低级别的错误,E_NOTICE,默认情况下甚至没有报告,但在开发过程中是手动advises to allow。
推荐:声明您的变量。或者在引用它们之前使用isset()
检查它们是否被声明。
为E_NOTICE设置custom error handler并将消息重定向到标准输出(可能是日志文件)。 set_error_handler('myHandlerForMinorErrors', E_NOTICE | E_STRICT)
。
禁止报告E_NOTICE。只排除E_NOTICE的快速方法是error_reporting( error_reporting() & ~E_NOTICE )
。
使用@ operator。
注意:强烈建议只执行点 1。
相关: