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,看起来很另类,大哥大姐帮忙解决下了!!
管用的!谢谢!但是这块内容我是按着网上的学习视频操作的,视频上的没有加@,运行结果也没有出现Notice! 这是怎么办到的呢!??
追答那是因为人家的那个一直有值把,你可以看他的url 应该有&main=art_add 这种的
这种问题 不必纠结他为啥不报错 你解决了就好 要么关报错 要么给默认值
比如:if(isset($_POST)){}
作为程序员这点逻辑还是要搞清楚的
if($_GET){
$action=$_GET["action"];
}
这样,判断一下有没有GET,如果有就获取GET数据,这样就不会在第一次没有提交数据的情况下就获取没有索引的空数据了!
可以定义一个函数判断是否是空值
<?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呢?
期待中……