0

我会尝试 put 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);
            }
4

3 回答 3

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= "";
                }
于 2012-12-12T03:11:02.513 回答
0

isset 返回一个真或假值,因此

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

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

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

if(!isset($_SESSION['IdUser'])){
//Register SESSION variables.
}
于 2012-12-12T02:46:35.470 回答
0

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

你可以尝试这样的事情:

$IdUser= (isset($_SESSION['IdUser'])) ? $_SESSION['IdUser'] : false;
$Categori= (isset($_SESSION['Categori'])) ? $_SESSION['Categori'] : false;
于 2012-12-12T02:46:46.980 回答