我正在尝试使用1and1服务器为我的网站创建一个登录系统。
但是,当我移动到不同的页面时,会话变量没有保留。
我认为我的代码可能是问题,所以我创建了一个非常简单的2文件站点进行测试。
这是set.php
<?php
session_start();
$_Session['name'] = "alex";
?>
这是view.php
<?php
session_start();
echo "hello";
echo $_Session['name'];
?>
这是取自Youtube上的教程
当我第一次导航到设置页面并且到视图页面时,结果只是“你好”这个词。从我的第一个回声。
谢谢, 甲
答案 0 :(得分:4)
$_Session
必须设置为大写,{a superglobal。
将它们全部更改为$_SESSION
根据the manual:
PHP中的几个预定义变量是&#34; superglobals&#34;,这意味着它们在整个脚本的所有范围内都可用。没有必要做全局$变量;在函数或方法中访问它们。
这些超全球变量是:
- $ GLOBALS
- $ _ SERVER
- $ _ GET
- $ _ POST
- $ _ FILES
- $ _ COOKIE
- $ _ SESSION
- $ _ REQUEST
- $ _ ENV
关于您要创建的登录系统;如果您不了解使用的安全方法,请考虑以下事项:
密码: - 旁注:请勿以纯文本格式存储密码。
password_hash()
功能。对于PHP&lt; 5.5使用password_hash() compatibility pack
。 <强>数据库:强>
使用mysqli_
with prepared statements或PDO with prepared statements。
始终使用准备好的陈述。