求助: php中 Notice: Undefined index:,该如何解决?请前辈们帮帮忙!

php中为接收表单参数而定义的变量在执行时总显示Notice:Undefinedindex:maininD:\apweb\phppage\fortest0807c\adm... php中 为接收表单参数而定义的变量 在执行时总显示

Notice: Undefined index: main in D:\apweb\phppage\fortest 0807c\admin.php on line 3

以下是相关代码:
<?php

$main=$_GET['main'];

if($main=="art_add")
{
require("art_add.php");
exit;
}
其他相关代码:
<?php
$action=$_GET["action"];

?>
<?php
if($action=="add")
{
//////文章增加
$art_title=trim($_POST["title"]);
$art_user=trim($_POST["user"]);
$art_content=$_POST["content"];
echo $art_addtime=date("Y-m-d H:i:s");
///trim去除首位空格

Notice: Undefined index: action in D:\apweb\phppage\fortest 0807c\art_manage.php on line 2

另:相关的表单action值
<form name="form1" method="post" action="admin.php?main=art_manage&action=add">

注:程序运行是正确的,就是多 了这个NOTICE,看起来很另类,大哥大姐帮忙解决下了!!
展开
 我来答
帐号已注销
2011-08-07 · TA获得超过268个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:273万
展开全部
是因为有时候$main=$_GET['main'];,没有获取到值。可以黑他个默认值,或者写成这样 就不会有报错了$main=@$_GET['main'];
追问
管用的!谢谢!但是这块内容我是按着网上的学习视频操作的,视频上的没有加@,运行结果也没有出现Notice! 这是怎么办到的呢!??
追答
那是因为人家的那个一直有值把,你可以看他的url 应该有&main=art_add 这种的
这种问题 不必纠结他为啥不报错 你解决了就好 要么关报错 要么给默认值
新视角新的世界
2011-08-07 · TA获得超过591个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:299万
展开全部
首先看你的这个这个语句:$main=$_GET['main']; 还没有将GET值传过来之前 当然是没有定义了 这样写:if(isset($_GET['main'])){$main=$_GET['main'];}包括post提交时都应该做个判断
比如:if(isset($_POST)){}
作为程序员这点逻辑还是要搞清楚的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lifei6671
2011-08-07 · TA获得超过9228个赞
知道大有可为答主
回答量:3899
采纳率:25%
帮助的人:2775万
展开全部
在运行程序之前要判断一下有没有GET或是POST上来数据,这样就避免了直接获取GET数据出错的问题.例如:

if($_GET){
$action=$_GET["action"];
}

这样,判断一下有没有GET,如果有就获取GET数据,这样就不会在第一次没有提交数据的情况下就获取没有索引的空数据了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦萱_75
2011-08-07 · TA获得超过346个赞
知道小有建树答主
回答量:621
采纳率:100%
帮助的人:548万
展开全部
接收post或者get传过来的参数,发生PHP Notice: Undefined index:
可以定义一个函数判断是否是空值
<?php

$main=_request('main');
function _request($str){
$val=!empty($_REQUEST[$str])?$_REQUEST[$str]:null;
return $val;
}
追问
你好! 梦萱_75 
我用下面的语句测试,
<?php
$main=$_GET['main'];
if($main) echo "main有值";
else echo "main值为空";
输出结果为:
Notice: Undefined index: main in D:\apweb\phppage\fortest 0807c\admin.php on line 2
main值为空

不过,在表单还未提交前,它的值自然是空的吧?
所以,这要如何修改,调整程序,才不会出现Notice呢?
期待中……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式