调用未定义的函数错误PHP

时间:2013-12-24 00:26:31

标签: php

几年前,我聘请了一个开发人员为我建立一个网站。当它安装在网络服务器上时,它曾经工作得很好。

几年过去了,现在我正在尝试重新安装它,一切正常但管理员登录区域。当进入登录页面时,你转到“index.php”文件,这个页面有一个简单的表格连接到数据库以检查用户名和密码。单击登录按钮后,表单调用“login.php”:

<form action="login.php" method="post" name="form1">

然后用以下代码启动login.php:

    <?php
$user = $_POST[user];
$pass = $_POST[pass];
$ip = $_SERVER['REMOTE_ADDR'];
$status = authenticate($user, $pass);
if ($status == 1)
    {
    session_start();
    session_register("SESSION");
    session_register("SESSION_UNAME");

    $_SESSION['usuario'] = $user;
    $SESSION_UNAME = $user;
    include("../inc/conect_bd.inc.php");
    $gravar_log = "INSERT INTO `logs` (`idLogin`, `user`, `data`, `ip`) VALUE ('', '".$_POST['user']."', '".date("d/m/Y-H:i:s")."', '".$_SERVER['REMOTE_ADDR']."')";
    $exec_gravar_log = @mysql_query($gravar_log) or die ("Error saving username);
    header("Location: manager.php");
    exit();
    }
else
    {
    header("Location: manager.php");
    exit();
    }
function authenticate($theuser, $thepass)
    {
    include("../inc/conect_bd.inc.php");
    $query = "SELECT id from manager WHERE username = '$theuser' AND password = '$thepass'";
    $result = @mysql_query($query) or die ("Error in query: $query. " . mysql_error());
    if (mysql_num_rows($result) == 1)
        {
        return 1;
        }
    else{
return 0;}}
?>

但是当您尝试登录时,我收到以下错误

Fatal error: Call to undefined function session_register() in /home/usr/public_html/johntrucks.com/manager/login.php on line 9

它在那里已经定义了吗?或者我该如何定义它?

抱歉,伙计们,无处可寻,他的编码只是令人困惑......

2 个答案:

答案 0 :(得分:4)

在PHP 5.4中删除了该功能 http://us.php.net/manual/en/function.session-register.php

$_SESSION

替换这些函数调用
$_SESSION["SESSION_UNAME"];

答案 1 :(得分:1)

问题在于你are using PHP 5.4

  

此功能自PHP 5.3.0起已废弃,并已删除   PHP 5.4.0。