-1

您好我在jsp中开发了一个小菜单栏,它收集会话的属性并根据它显示菜单。

<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 的新手。所以我的问题是如何在 php 中获取会话属性作为名称和密码?

4

5 回答 5

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

<?php
session_start();
$name =  $_SESSION['name'];
?>
于 2012-12-17T12:45:38.360 回答
0

要在 PHP 中获取会话,您需要先启动它们

例如

session_start();

要存储会话变量,您需要创建一个新的 $_SESSION 变量。例子:

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

要获取存储的会话,请使用:

echo $_SESSION['username'];

这都是非常基本的 PHP。我建议你查一些教程。

于 2012-12-17T12:46:40.950 回答
0

在 PHP Session 中使用如下,

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

尝试 print_r 获取所有会话值,

print_r($_SESSION);
于 2012-12-17T12:47:06.537 回答
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>
于 2012-12-17T12:49:52.960 回答
0

您需要使用 $_SESSION 超全局访问会话。你可以调用 session_start(); 如果尚未开始,则在此之前开始会话。

<?php $myname =  $_SESSION['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; ?>
于 2012-12-17T12:50:19.167 回答