0

在运行以下代码时,我收到以下错误:

Notice: Undefined index: hid in E:\Program Files\xampp\htdocs\cont.php

echo "<table align='right'><tr><td><a href='cont.php?hid=101'><input type='button' value='Account Settings'></a></td></tr></table>";

cont.php 代码:

$con = mysql_connect("localhost","Rahul","");
    mysql_select_db("ebusiness", $con);

if($_SESSION['id']==1)
    {
 include 'business.php';
}
else if($_GET['hid']==101)
{
    session_start();
     include 'edprofile.php';
}
4

5 回答 5

3

您直接检查$_GET['hid']而不检查它是否已设置。

else if(isset($_GET['hid']) && $_GET['hid'] == 101)
于 2013-02-20T12:46:03.707 回答
0

试试这个代码:

添加 : $hid = isset($_GET['hid'])?$_GET['hid']:"";

编辑:$_GET['hid']else if($hid==101)

$con = mysql_connect("localhost","Rahul","");
    mysql_select_db("ebusiness", $con);

$hid  = isset($_GET['hid'])?$_GET['hid']:"";

if($_SESSION['id']==1)
    {
 include 'business.php';
}
else if($hid==101)
{
    session_start();
     include 'edprofile.php';
}
于 2013-02-20T12:45:53.623 回答
0

更改此行:

else if($_GET['hid']==101)

至:

else if(isset($_GET['hid']) && $_GET['hid']==101)
于 2013-02-20T12:46:19.253 回答
0

请记住,当您在页面上使用 GET 或 POST 时,不能保证已发送某个变量,因为 HTTP 协议默认情况下是无状态的。

重要的是要检查变量是否存在,并且变量是否已验证。为此,isset() 方法非常有用。我建议你做一个

isset($_GET['hid'])

在 if 语句中的代码中。

于 2013-02-20T12:48:12.710 回答
0

您还缺少在获取请求中传递隐藏变量(在 URL 中)。一探究竟。它应该在某个地方包含 ?hid=101 或 &hid=101 的内容。

并将您的 else if 条件替换为

else if(isset($_GET['hid']) && $_GET['hid']==101)
于 2013-02-20T12:50:31.177 回答