PHP会话未注册 [英] PHP session not registering
问题描述
可能的重复:
PHP 会话副作用警告以全局变量作为数据源
我使用的登录脚本有问题.问题在于某些托管服务提供商登录后会话未注册.在 php 错误日志中我可以看到这个错误
<块引用>PHP 警告:未知:您的脚本可能依赖于 PHP 4.2.3 之前存在的会话副作用.请注意,除非启用了 register_globals,否则会话扩展不会将全局变量视为数据源.您可以通过分别在 Unknown on line 0 中将 session.bug_compat_42 或 session.bug_compat_warn 设置为 off 来禁用此功能和此警告
但在大多数主机中,如 bluehost、hostmonster,它运行良好,没有任何错误.有人可以指出我在这里做错了什么吗?提前谢谢你.
代码:
<代码><?php$err=isset($_GET['error'])?$_GET['error']:"";if($err=='error'){?><div class="errormsgbox">用户名或密码错误.请重试.
<?php }if(!isset($_SESSION['adminuser'])){if($_SERVER["REQUEST_METHOD"] == "POST"){//从表单发送的用户名和密码$adminuser=mysql_real_escape_string($_POST['adminuser']);$adminpassword=mysql_real_escape_string($_POST['adminpassword']);$gpassword=md5($adminpassword);//加密密码$sql="SELECT id FROM admin WHERE adminuser='$adminuser' and adminpassword='$gpassword'";$result=mysql_query($sql);$count=mysql_num_rows($result);//如果结果匹配 $username 和 $password,则表行必须为 1 行如果($count==1){session_register("adminuser");header("位置:index.php");}别的{header("location:login.php?error=error");}}ob_end_flush();?><form action="login.php" method="post"><div class="login_input"><label class="loginlbl" for="adminuser">用户名:</label><input type="text" name="adminuser"/>
<div class="login_input"><label class="loginlbl" for="adminpassword">密码:</label><input type="password" name="adminpassword"/>
<div class="login_submit"><input type="submit" id="submit" value="登录管理控制面板"/>