2012-12-12 53 views
0

我会尝试把isset,但仍然给我一个通知,你们可以帮助我..就像我之前说过,我还在学习PHP,我可以通过键入通知消失 错误_reporting(E_ALL &〜E_NOTICE);但我还是想解决它......notice:undefined index虽然仍然放issets

 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); 
      } 

回答

0

isset返回一个true或false值,因此

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

设置$ ID用户为是真,还是假的。这不是你想要完成的。

也许试试这样?尽管我仍然不完全确定你在问什么。

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

做到这一点,所以我就把如果循环和内,我把$ IdUser = isset($ _ POST ['IdUser']); , 我对吗? –

+0

仍然得到相同的消息... –

+0

@NixshamBMohamad我没有得到循环部分 – ianace

0

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

你可以尝试这样的事:

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

如何检查它..请向我解释 –

+0

ooo..i看到..现在我有点理解了,还有更多的brendan怎么样? –

+0

我只是编辑我的编码...你请检查它 –

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= ""; 
       } 
+0

它工作的感谢,但我可以问你我的循环,你做的注意事项? –

+0

不明白你在问什么循环。但你不应该使用mysql,因为它是折旧的。检查Mysqli或PDO –

相关问题