php高手一个简单的问题。老出现 Notice: Undefined index: hidden1 in *****

<html>
<head><title>练习</title></head>
<body>
<?php
if($_POST["hidden1"]==1){
$aa=$_POST["text1"];
$bb=$_POST["text2"];
}else{
$aa=0;
$bb=0;
}
$cc=$aa+$bb;
?>
<form name="from1" action="#" method="post">
<input type="hidden" name="hidden1" value="1">
<input type="text" name="text1" size="5" value="<?php echo $aa; ?>">
+
<input type="text" name="text2" size="5" value="<?php echo $bb; ?>">
=<?php echo $cc; ?>
<input type="submit" value="提交" name="tijiao">
</form>
</body>
</html>

出现 Notice: Undefined index: hidden1 in *****
不影响运行。

是不影响运行,程序员不关心notice只关心error得得了……
你在没有提交表单时就判断表单中的数据是否正确,自然会出现未定义的警告,修改错误提示不大好,不容易养成良好的习惯,一个比较好的习惯是在使用一个有可能未定义的变量之前先判定它是否存在,用isset判断,还有几个问题,你用hidden值判断是否提交表单其实有点那个,那个,起不到应有的作用,如果只是判断用户的正常操作,直接isset就行了,isset($text1)或者text2都行,hidden变量不大必要,如果是为了防止恶意提交,那个源文件都能看到,你设个hidden值也没用啊。可以用随机生成字符串验证方式防止恶意提交。再就是你这个页面在浏览器里中文的部分可能是乱码啊,以后注意把编码形式写在meta标签里。还有name名称,从一开始记得要用通用的名称,通用的一般都不是拼音,以后跟人家合作,用tijiao作按钮名称会不方便。
好了没有了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-17
notice是通知的意思就是信息不是错误 php.ini里面修改 error_reporting 把E_ALL改成E_ALL&~E_NOTICE&~E_WARNING

这个提示就没有了 刚才的更改关掉了通知和警告!
第2个回答  2010-10-17
开启错误报告的警告所致,有3种方法解决
1、是在开头添加error_reporting(0);
2、在php.ini中关闭错误报告的notice
3、if($_POST["hidden1"]==1){
换成if(isset($_POST["hidden1"]) && $_POST["hidden1"]==1){

参考资料:

第3个回答  2010-10-17
这个错误是因为你的hidden1,没有定义,但这不是错误,你只要error_reporting关掉就行了,还有一种就是当你的语句不规范是比如$_POST[err],里面没有加引号是也会出这种警告。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网