用户登录无法正常工作(致命错误)

时间:2013-04-03 04:12:48

标签: php mysql database

所以我正在创建用户登录,我已将以下代码添加到checklogin.php页面,并且每次尝试登录时都会收到以下致命错误。


致命错误:在第36行的C:\ xampp \ htdocs \ php \ login \ checklogin.php中调用未定义的函数session_register()

我看不出问题,不确定你们是否可以看到问题的根源?感谢

<?php
    phpinfo();


    ob_start();
    $host="localhost"; // Host name
    $username=""; // Mysql username
    $password=""; // Mysql password
    $db_name="test"; // Database name
    $tbl_name="members"; // Table name

    // Connect to server and select databse.
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    // Define $myusername and $mypassword
    $myusername=$_POST['myusername'];
    $mypassword=$_POST['mypassword'];

    // To protect MySQL injection (more detail about MySQL injection)
    $myusername = stripslashes($myusername);
    $mypassword = stripslashes($mypassword);
    $myusername = mysql_real_escape_string($myusername);
    $mypassword = mysql_real_escape_string($mypassword);

    $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
    $result=mysql_query($sql);

    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);

    // If result matched $myusername and $mypassword, table row must be 1 row

    if($count==1){

    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("$myusername");
    session_register("mypassword");
    header("location:login_success.php");
    }
    else {
    echo "Wrong Username or Password";
    }

    ob_end_flush();
    ?>

4 个答案:

答案 0 :(得分:0)

session_register需要版本&lt; 5.4.0

检查您的版本。我确定它的&gt; 5.4.0。

因此,它给出了未定义函数的错误。

来自文档

自PHP 5.3.0开始,此函数已被弃用,自PHP 5.4.0起已被删除。

答案 1 :(得分:0)

您正在使用弃用的方式来设置会话。考虑使用:

$_SESSION['username'] = $myusername;

答案 2 :(得分:0)

session_register()已从php&gt;中删除5.4.0 ..

instead使用$_SESSION[]注册会话位

答案 3 :(得分:0)

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

我认为你错过了一个$符号。