表单中PHP的错误提示: Notice: Undefined index: submit in D:\wamp\www\bbs\add.php on line 9
<?php
/*
* Created on 2011-6-4
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
include("conn.php");
if ($_POST['submit'])
{
$sql="insert into message (id,user,title,content,lastdate) values('','$_post[user]','$_post[title]','$_post[content]',now())";
mysql_query($sql);
echo "发表成功";
}
?>
<form action="add.php" method="post">
用户:<input type="text" name="user" /><br/>
标题:<input type="text" name="title" /><br/>
内容:<textarea name="content" ></textarea><br/>
<input type="submit" name="submit" value="发布留言"/>
</form>
答案:楼上的方法可以解决问题,但需要每次都输入,比较麻烦其实这个问题的根本原因是 php.ini 配置问题。
本来 PHP 是不需要事先定义变量的,但有些 php.ini 修改过了。对于这些未定义的变量,会报错!
解决方案:
修改 php.ini 的错误配置,如下:
error_reporting = E_ALL & ~E_NOTICE
修改好以后,重启 Apache ,就可以不用 isset 来判断了。
其他:应该是你if 下面的大括号的问题吧,你把大括号紧挨那个小括号 你第一次访问add.php使用GET方法访问的 根本没有踢脚 所以没有($_POST['submit']
你应该修改为 if (isset($_POST['submit'])) 不能识别变量名.两种方法
1.把if($_POST['submit'])改成 if (isset($_POST['submit']))
因为刚开始没有获取submit的值.isset是判断submit是否存在
2: 在开头加上
error_reporting(E_ALL & ~E_NOTICE);
表示提示除去 E_NOTICE 之外的所有错误信息
上一个:十天学会php语言???
下一个:php自动跳转传值乱码