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

ページで GET または POST を使用している場合、HTTP プロトコルはデフォルトでステートレスであるため、特定の変数が送信されたという保証はないことに注意してください。

変数が存在すること、および変数が検証されていることを確認することが重要です。このために isset() メソッドは非常に便利です。私はあなたがすることをお勧めします

isset($_GET['hid'])

コードの if ステートメントで。

于 2013-02-20T12:48:12.710 に答える
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 request ( in URL) で hid 変数を渡すこともできません。見てみな。どこかで ?hid=101 または &hid=101 をコンテンツにする必要があります。

else if条件を次のように置き換えます

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