注意:未定义索引虽然仍然设置了

时间:2012-12-12 02:44:29

标签: php mysql

我会尝试把isset但仍然给我一个通知,你们可以帮助我..就像我说在我还在学习php之前,我可以通过打字让通知消失             error _reporting(E_ALL& ~E_NOTICE);但我还是想修理它......

        Notice: Undefined index: IdUser in C:\wamp\www\contract\content\maintanace\add_newUser.php on line 9
        Notice: Undefined index: Categori in C:\wamp\www\contract\content\maintanace\add_newUser.php on line 10


       $IdUser= isset($_POST['IdUser']);
       $Categori= isset($_POST['Categori']); 

       $IdUser= $_SESSION['IdUser'];
       $Categori= $_SESSION['Categori'];


       $IdUser= (isset($_SESSION['IdUser'])) ? $_SESSION['IdUser'] : false;
       $Categori= (isset($_SESSION['Categori'])) ? $_SESSION['Categori'] : false;

       if($IdUser!='' && $Categori= '1')

            {
                    $apply = mysql_query("SELECT * FROM user WHERE IdUser=    '".$IdUser."' AND Categori='".$Categori."'");
                    $result = mysql_fetch_array($apply);
            }

3 个答案:

答案 0 :(得分:0)

isset返回true或false值,因此

$IdUser= isset($_POST['IdUser']);

将$ IdUser设置为true或false。这不是你想要完成的。

也许尝试这样的事情?虽然我仍然不完全确定你在问什么。

if(!isset($_SESSION['IdUser'])){
//Register SESSION variables.
}

答案 1 :(得分:0)

您没有检查会话索引上的isset。

您可以尝试这样的事情:

$IdUser= (isset($_SESSION['IdUser'])) ? $_SESSION['IdUser'] : false;
$Categori= (isset($_SESSION['Categori'])) ? $_SESSION['Categori'] : false;

答案 2 :(得分:0)

您可以这样做,也可以使用三元声明

 if(isset($_POST['IdUser']) || isset($_POST['Categori']))
        {
        $IdUser = $_POST['IdUser'];
        $Categori= $_POST['Categori']; 
        }
        elseif(isset($_SESSION['IdUser']) || isset($_SESSION['Categori']))
            {
                $IdUser = $_SESSION['IdUser'];
                $Categori= $_SESSION['Categori'];
            }
            else
                {
                    $IdUser = "";
                    $Categori= "";
                }