2012-12-17 52 views
-1

您好我已經開發了一個jsp中的小菜單欄,它收集會話的屬性並根據它顯示菜單。在php中獲取會話屬性

<li><% 
     String myname = (String)session.getAttribute("name");   
     if(myname!=null && !myname.equals("admin"))    { 

      %> 
      <a href="logout.jsp" ><span>Logout</span></a></li> 
      <li><span>Welcome <%=myname%></span></li> 
      <% 
      } 
     else if(myname!=null && myname.equals("admin")) 
      { 

      %> 
      <a href="logout.jsp" ><span>Logout</span></a></li> 
      <li><span>Welcome Admin</span></li> 

我想在PHP。我相同的代碼嘗試過,但徒勞,因爲我是新手到php.So我的問題是如何獲得會話屬性的名稱和密碼,在PHP?

+1

您可以使用超級全局數組'$ _SESSION' –

+0

注意,JSP是怎麼寫的方式出現被認爲是「傳統」,自推出JSP 2.0的強烈反對,幾乎是十年前在訪問會話贊成taglibs/EL。 – BalusC

回答

0

您需要使用$ _SESSION超全局訪問會話。你可以調用session_start();在那之前開始會話,如果尚未開始。

<?php $myname = $_SESSOIN['name'];   
if (!empty($myname) && $myname != 'admin'): ?> 
    <a href="logout.jsp" ><span>Logout</span></a></li> 
    <li><span>Welcome <?php echo $myname; ?></span></li> 
<?php else if (!empty($myname) && $myname == 'admin'): ?> 
    <a href="logout.jsp" ><span>Logout</span></a></li> 
    <li><span>Welcome Admin</span></li> 
<?php endif; ?> 
+0

+1感謝您的代碼片段。 –

2
you can use $_SESSION['name'] to retrieve session values in php 

<?php 
session_start(); 
$name = $_SESSION['name']; 
?> 
0

爲了獲得在PHP中,你需要開始他們先

例如

session_start(); 

要存儲你需要一個新的$ _SESSION變量會話變量的會話。例如:

$_SESSION['username'] = 'Demo'; 
$_SESSION['password'] = "demo123"; 

並獲得存儲的會話使用:

echo $_SESSION['username']; 

這是非常基本的PHP。我建議你查看一些教程。

0

在PHP會話使用方法如下,

session_start(); 
echo $_SESSION['name']; 
echo $_SESSION['password']; 

嘗試的print_r讓所有的會話值,

print_r($_SESSION); 
0

這裏是你的代碼轉換爲PHP:

<li> 
<?php 
$myname = $_SESSION["name"]; 
if($myname != null && $myname != "admin") { 
?> 
<a href="logout.php" ><span>Logout</span></a></li> 
<li><span>Welcome <?php echo $myname; ?></span></li> 
<?php 
} elseif($myname != null && $myname == "admin") { 
?> 
<a href="logout.php" ><span>Logout</span></a></li> 
<li><span>Welcome Admin</span></li>