2013-02-05 64 views
-1

我正在尝试为我的新网站上的用户创建一个用session_start()登录的选项; 。请记住,如果这是一个简单的修复,这是我第一次这样做!在php中启动会话

到目前为止,我有我的日志页面设置。我还有另一个页面检查数据库并确保输入的组合是正确的。从该页面,chegs的信息我有这个:

session_register("myusername"); 
session_register("mypassword"); 

然后它重定向到主页。

然后在主页上和所有的网站上的网页我有

session_start(); 

没有错误,但我可以告诉大家,一直没有会话开始,因为没有会话ID的节目,当我回声SESSION_ID( );

任何人都可以给我一个精确的答案如何让这个工作?我非常感谢任何帮助。

+3

向我们展示您的代码 –

+0

请在您的代码中设置会话变量的值 –

+0

'session_register()'在php 5.3中被弃用,并在php 5.4中被删除。不要使用它。 – Rob

回答

1

警告
此功能已被弃用的PHP 5.3.0和去除PHP 5.4.0的。

session_register函数不再是PHP的一部分。相反,你应该分配给$_SESSION超全局数组:

$_SESSION['myusername'] = "abc"; 
$_SESSION['mypassword'] = "def"; 

这有可能是你的会话没有被保存,因为你实际上并没有保存任何变量。

但是,还有其他的事情要检查。例如,$_COOKIE是否包含会话ID的条目? php.ini在哪里告诉你的服务器保存会话文件?该位置是否可写?

+0

另外值得注意的是,根据文档'session_register'在'register_globals'关闭时不会工作 - 使用'$ _SESSION'的另一个好理由。 – Jim

+0

- 我已经替换了会话注册表,开启了register_globals,并且我没有看到任何指示php.ini文件告诉服务器保存会话文件的位置。我猜这是一个坏东西哈哈。 –

+0

当我尝试$ _cookie时,我也会得到“Array” –