致命错误:调用未定义的函数session_register()

时间:2013-03-02 20:50:41

标签: php

我是php的新手,想知道是否有人可以帮我调试,以下错误。 致命错误:调用未定义的函数session_register()

当我让用户登录时发生。

PHP

<?php
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form 
$myusername=addslashes($_POST['username']); 
$mypassword=addslashes($_POST['password']); 

$sql="SELECT id FROM admin WHERE username='$myusername' and passcode='$mypassword'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];
$count=mysql_num_rows($result);


// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
session_register("myusername");
$_SESSION['login_user']=$myusername;

header("location: welcome.php");
}
else 
{
$error="Your Login Name or Password is invalid";
}
}
?>

第16行抛出的错误是

$active=$row['active'];

2 个答案:

答案 0 :(得分:3)

如果您查看php手册,您会看到它是deprecated

您如何使用$_SESSION变量?

$_SESSION["myusername"] = $username;

答案 1 :(得分:2)

首先,您只有select id来自数据库,因此没有$row['active']。 将$row['active']更改为$row[0]['id']

不要使用session_register("myusername");使用$_SESSION['myusername']=="something"

您可以将查询更改为select id,username ...,然后设置$_SESSION['myusername']=$row[0]['username'];

当然这种方法并不好,但初学者应该这样做;