Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 这是代码:$会话[';用户名';]=$username;足够在会话中存储用户名吗?_Php_Mysql - Fatal编程技术网

Php 这是代码:$会话[';用户名';]=$username;足够在会话中存储用户名吗?

Php 这是代码:$会话[';用户名';]=$username;足够在会话中存储用户名吗?,php,mysql,Php,Mysql,这是我第一次使用php学习会话,我正在使用最简单的登录页面 那么,从理论上讲,只要用户从未关闭过网页,任何给定的字符串$username都可以始终存储在$\u SESSION['username']中吗 这是一个虚拟网页,只需将$\u SESSION['username']的值设置为$username。如果我这样做了,并且在我的网站上打开了另一个页面,$\u SESSION['username']的值在我关闭web浏览器之前还会保留吗 <?php session_start(); <

这是我第一次使用php学习会话,我正在使用最简单的登录页面

那么,从理论上讲,只要用户从未关闭过网页,任何给定的字符串$username都可以始终存储在
$\u SESSION['username']
中吗

这是一个虚拟网页,只需将
$\u SESSION['username']
的值设置为$username。如果我这样做了,并且在我的网站上打开了另一个页面,
$\u SESSION['username']
的值在我关闭web浏览器之前还会保留吗

<?php
session_start();
<html>
<body>
所以我的大问题是,如果$username是“CiniCraft”,那么在web浏览器关闭之前,$_会话['username']=“CiniCraft”会不会?如果没有,那么在关闭浏览器之前保留其值的最佳变量是什么

我尝试了上面所示的方法,当我从login.php导航到index.php时,$_会话['username']将变为空白

安全性对我来说根本不是问题,如果用户帐户被破坏,那么黑客将浪费他们的时间。当然,除非他们正在寻找电子邮件来发送更多伟哥广告

是的,只要你这样做

$_SESSION['username'] = $username;
会话将被分配
$username
值。但是,请记住在分配会话之前启动会话,因此顺序如下:

session_start();
$_SESSION['username'] = $username;
session_start();
echo $_SESSION['username'];
在需要访问会话的每个页面上启动会话-这可能就是index.php上没有该会话的原因

因此,在index.php上,您可以执行以下操作:

session_start();
$_SESSION['username'] = $username;
session_start();
echo $_SESSION['username'];
在您的示例中,如果您先调用login.php,然后调用index.php,则应该输出“CiniCraft”

会话与cookie一起存储在浏览器中-因此,只要不重置浏览器或长时间关闭浏览器,会话就应该有效。但是,在其他浏览器中,会话将不可用

阅读有关会话和的更多信息

安全对我来说根本不是问题

小心-请不要这样看,你迟早会需要它的。

是的,只要你需要它

$_SESSION['username'] = $username;
会话将被分配
$username
值。但是,请记住在分配会话之前启动会话,因此顺序如下:

session_start();
$_SESSION['username'] = $username;
session_start();
echo $_SESSION['username'];
在需要访问会话的每个页面上启动会话-这可能就是index.php上没有该会话的原因

因此,在index.php上,您可以执行以下操作:

session_start();
$_SESSION['username'] = $username;
session_start();
echo $_SESSION['username'];
在您的示例中,如果您先调用login.php,然后调用index.php,则应该输出“CiniCraft”

会话与cookie一起存储在浏览器中-因此,只要不重置浏览器或长时间关闭浏览器,会话就应该有效。但是,在其他浏览器中,会话将不可用

阅读有关会话和的更多信息

安全对我来说根本不是问题


小心-请不要这样看,而且您很快就会需要它。

您似乎正在使用旧浏览器,因此要求您首先更新浏览器。在现代浏览器中,会话的处理比旧浏览器容易

另一件事是,您必须在页面起点的所有页面上提供session_start()


session\u start将有助于在用户访问您的网站时在整个网站上维护单个会话。

您似乎正在使用旧浏览器,因此要求您首先更新浏览器。在现代浏览器中,会话的处理比旧浏览器容易

另一件事是,您必须在页面起点的所有页面上提供session_start()

当用户访问您的网站时,session_start将有助于在整个网站上维护单个会话。

您需要session_start()位于要使用会话的每页顶部,或者需要session_start()位于要使用会话的每页顶部