Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
维护PHP会话变量_Php_Session - Fatal编程技术网

维护PHP会话变量

维护PHP会话变量,php,session,Php,Session,我想在登录后维护3$\u会话变量。我的登录模式提交到我的index.php页面,这似乎是我可以访问用户登录时设置的会话变量的唯一地方。如何将这些变量传递到用户访问的下一页?我知道我可以在表单中使用隐藏的输入,但是如果用户使用菜单浏览站点呢?我想将用户会话变量存储在会话包含文件中,但在页面之间传递变量值时遇到了同样的问题 -Mike文件a.php: <?php session_start(); $_SESSION['saveme'] = 'from file A'; ?> 文

我想在登录后维护3$\u会话变量。我的登录模式提交到我的index.php页面,这似乎是我可以访问用户登录时设置的会话变量的唯一地方。如何将这些变量传递到用户访问的下一页?我知道我可以在表单中使用隐藏的输入,但是如果用户使用菜单浏览站点呢?我想将用户会话变量存储在会话包含文件中,但在页面之间传递变量值时遇到了同样的问题

-Mike

文件a.php:

<?php
session_start();

$_SESSION['saveme'] = 'from file A';

?>

文件b.php:

<?php
session_start();

echo $_SESSION['saveme']; // if you visited a.php previously, you will see "from file A"
?>

在任何文件中设置会话变量都可以在其他任何地方使用。

file a.php:

<?php
session_start();

$_SESSION['saveme'] = 'from file A';

?>

文件b.php:

<?php
session_start();

echo $_SESSION['saveme']; // if you visited a.php previously, you will see "from file A"
?>


在任何文件中设置会话变量都可以在其他任何地方使用。

您可以将会话中的值存储在一个页面上(如您所述,在您的案例中为索引),然后,如果会话在该页面上启动,您可以在任何页面上获取这些值。会话存储这些值,直到同一会话处于活动状态

用于在会话中设置值的代码:

<?php
// Start the session
session_start();
?>
    <?php
    // Set session variables
    $_SESSION["xyz"] = "xyz";
    $_SESSION["abc"] = "abc";
    echo "Session variables are set.";
    ?>

获取会话值的代码:

<?php
// Echo session variables that were set on previous page
echo "value of xyz is " . $_SESSION["xyz"] . ".<br>";
echo "value of abc is " . $_SESSION["abc"] . ".";
?> 

您可以将会话中的值存储在一个页面上(如您所述,在您的案例中为索引),然后,如果会话在该页面上启动,您可以在任何页面上获取这些值。会话存储这些值,直到同一会话处于活动状态

用于在会话中设置值的代码:

<?php
// Start the session
session_start();
?>
    <?php
    // Set session variables
    $_SESSION["xyz"] = "xyz";
    $_SESSION["abc"] = "abc";
    echo "Session variables are set.";
    ?>

获取会话值的代码:

<?php
// Echo session variables that were set on previous page
echo "value of xyz is " . $_SESSION["xyz"] . ".<br>";
echo "value of abc is " . $_SESSION["abc"] . ".";
?> 

您的模式

<form action="index.php" method="post">
Username <input type="text" name="username" />
Password <input type="password" name="password" />
</form> 
在任何其他页面中,可以使用以下值

<?php
session_start();

if (isset($_SESSION['username'])) {
    echo 'Welcome ' . $_SESSION['username'];
}
您的模态

<form action="index.php" method="post">
Username <input type="text" name="username" />
Password <input type="password" name="password" />
</form> 
在任何其他页面中,可以使用以下值

<?php
session_start();

if (isset($_SESSION['username'])) {
    echo 'Welcome ' . $_SESSION['username'];
}

所有提供答案的人谢谢。这个被忽视的细节都在我身上,虽然我已经退出开发游戏一段时间了,但我应该更清楚

默认情况下,我的托管服务将所有文件权限设置为只读/写…以访问会话变量,我已更改为读/写/执行,并已成功


再次感谢

所有提供答案的人谢谢。这个被忽视的细节都在我身上,虽然我已经退出开发游戏一段时间了,但我应该更清楚

默认情况下,我的托管服务将所有文件权限设置为只读/写…以访问会话变量,我已更改为读/写/执行,并已成功


再次感谢

Session是一个全局变量,它持续一个会话,为什么要将变量从一个页面传递到另一个页面,请使用$\u Session variable访问它我想将它们传递到其他页面以维护用户登录凭据。Session是一个全局变量,它持续一个会话,为什么要将变量从一个页面传递到另一个页面,请使用$\u会话变量访问它我想将它们传递到其他页面以维护用户登录凭据。我遇到了这个问题,并执行了这个精确的解决方案,但我无法从文件b.php访问这些变量。我开始认为这可能是一个php.ini问题?我遇到了这个答案,并执行了这个精确的解决方案,但我无法从文件b.php访问这些变量。我开始认为这可能是一个php.ini问题?我也遇到了这个答案,唯一的区别是变量设置在if($\u SERVER['REQUEST\u METHOD']=='POST')的一侧。我开始认为这可能是一个php.ini问题。我认为,默认情况下,php ini文件都应该设置为使用会话,如果您将上述代码置于您在上述评论中提到的条件下,您将面临什么问题..请分享您的代码或详细解释以便更好地理解..YPS,我修改了我的代码以反映Hans下面的示例。请看下面我的评论。谢谢。我也遇到了这个答案。唯一的区别是变量设置在if($\u服务器['REQUEST\u METHOD']='POST')的一侧。我开始认为这可能是一个php.ini问题?我认为,默认情况下,php ini文件应该全部设置为使用会话,如果您将上述代码置于您在上述评论中提到的条件下,您将面临什么问题..请分享您的代码或详细解释以便更好地理解..YPS,我修改了我的代码以反映Hans下面的示例。请看下面我的评论。谢谢。汉斯,我把我的密码改成了你上面的密码。直到最后一个街区,一切都正常。当我通过主菜单(包含在include中)移动到另一个页面时,我可以访问会话变量。我在最后一个块中设置了一个else{echo“Session not set”;},我可以看到这一点。同样值得注意的是,当我从第二页导航回索引时,变量消失了。Hans,我已经修改了我的代码,使其设置与上面的一样。直到最后一个街区,一切都正常。当我通过主菜单(包含在include中)移动到另一个页面时,我可以访问会话变量。我在最后一个块中设置了一个else{echo“Session not set”;},我可以看到这一点。同样值得注意的是,当我从第二页导航回索引时,变量就消失了。