2016-03-26 62 views
-1

我面臨PHP運營商的問題。以下是我的代碼。問題和或PHP中的運營商

當我打開頁面時,我沒有收到任何東西。正如你所看到的,有兩種登錄方式可以完成。如果沒有人登錄,那麼它會顯示嗨Guest

但目前沒有任何顯示。我多次查看我的代碼,但沒有發現問題。

根據我的理解,問題將在if條件。

$uid=$_SESSION['uid']; 
    $name=$_SESSION['name']; 
    $pic = $_SESSION['pic']; 
    $emp_id=$_SESSION['emp_id']; 
    $emp_name=$_SESSION['fname']; 

    if($pic==""){ 
     $pic = "/img/noimage.png"; 
     } 
    if(($uid != '' and $name != '') or ($emp_id != '' and $emp_name != '')) 
       { 
        if($emp_name != ''){ 
        $name = $emp_name; 
       } 
    echo '<a href="phome.php"> 
<img src ="'.$pic.'" width="35" height="30" alt="'.$name.'"></img></a>'; 
echo '<li><a href="/settings.php" title="Settings"><i class="fa fa-gears"></i></a></li>'; 
        echo ' '; 
echo '<li><a href="/logout.php" title="Logout"><i class="fa fa-sign-out"></i></a></li>'; 
         } 
         if($uid == '' and $name == '' and $emp_id == '' and $emp_name == '') 
          { 
           echo '<b><font color="#fff">Hi, Guest</font></b>'; 
           echo '<li> </li>'; 
           echo '&nbsp;'; 
           echo ' '; 
           echo '<li><a href="/register.php"><i class="fa fa-user"></i></a></li>';     
          } 
+4

權利之前'如果是檢查你的變量值($ UID == '' 和$ name == '' 和$ EMP_ID ...)'顯然其中一個或多個不爲空。 –

+2

你可以使用'else'而不是第二個'if'。 –

+0

@u_mulder感謝您的評論。這意味着我的代碼是正確的? – Ironic

回答

0
if(($uid == '' OR $name == '') and ($emp_id == '' OR $emp_name == '')) 
{ 
    echo '<b><font color="#fff">Hi, Guest</font></b>'; 
    echo '<li> </li>'; 
    echo '&nbsp;'; 
    echo ' '; 
    echo '<li><a href="/register.php"><i class="fa fa-user"></i></a></li>'; 
}