我们在调试PHP程序中,经常会遇到这样的问题! Notice: Undefined index...... 警告:为定义的索引...这只是个警告,不是错误,不会影响程序的执行,如果你不想看到这个警告,你可以 1. @$_GET['act'] 前面加个@关闭警告 2. 配置php的error report把警告关掉 3. 代码上写严格一点:if ( array_key_exist("act", $_GET) && $_GET['act']=="" ) 我们来看一下下面的例子: <b>表单数据插入</b><hr/> <?php if ($_GET['act'] == 'insert') { error_reporting(0); $link = mysql_connect('localhost:3306','root',''); //建立连接 if(!$link) { die('连接MySQL服务失败:'.mysql_error()); } mysql_select_db("xiaomai",$link); mysql_query("set names gbk"); if(mysql_query("INSERT INTO student (name, size, heigh) VALUES ('".$_POST['name']."', '".$_POST['size']."', '".$_POST['heigh']."')")) { echo "<p>插入数据成功!"; } else { echo "<p>插入数据失败!"; } mysql_close($link); die(); } ?> <form action="tableIndex.php?act=insert" method="post"> <table> <tr> <td>姓名:</td> <td><input type="text" name="name"/></td> </tr> <tr> <td>体重:</td> <td><input type="text" name="size"/></td> </tr> <tr> <td>身高:</td> <td><input type="text" name="heigh"/></td> </tr> <tr> <td> </td> <td><input type="submit" value="提交"/></td> </tr> </table> </form> 运行时会出现如下的提示:
如果不希望桌面有这样的提示,我们只需改一段代码:
原来的代码:if ($_GET['act'] == 'insert') {
改后的代码:if (@$_GET['act'] == 'insert') { //只添加一个@符号!
程序运行如下图: