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

发布网友 发布时间:2024-12-02 08:33

我来回答

4个回答

热心网友 时间:2024-12-09 22:50

是因为有时候$main=$_GET['main'];,没有获取到值。可以黑他个默认值,或者写成这样 就不会有报错了$main=@$_GET['main'];追问管用的!谢谢!但是这块内容我是按着网上的学习视频操作的,视频上的没有加@,运行结果也没有出现Notice! 这是怎么办到的呢!??

追答那是因为人家的那个一直有值把,你可以看他的url 应该有&main=art_add 这种的
这种问题 不必纠结他为啥不报错 你解决了就好 要么关报错 要么给默认值

热心网友 时间:2024-12-09 22:51

首先看你的这个这个语句:$main=$_GET['main']; 还没有将GET值传过来之前 当然是没有定义了 这样写:if(isset($_GET['main'])){$main=$_GET['main'];}包括post提交时都应该做个判断
比如:if(isset($_POST)){}
作为程序员这点逻辑还是要搞清楚的

热心网友 时间:2024-12-09 22:51

在运行程序之前要判断一下有没有GET或是POST上来数据,这样就避免了直接获取GET数据出错的问题.例如:

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

这样,判断一下有没有GET,如果有就获取GET数据,这样就不会在第一次没有提交数据的情况下就获取没有索引的空数据了!

热心网友 时间:2024-12-09 22:52

接收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呢?
期待中……

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com