-1

所以我目前正在创建用户登录,我已将以下代码添加到 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

4 回答 4

0

session_register需要版本 < 5.4.0

检查你的版本。我确信它> 5.4.0。

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

来自文档

自 PHP 5.3.0 起,该函数已被弃用,自 PHP 5.4.0 起已移除。

于 2013-04-03T04:16:27.193 回答
0

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

$_SESSION['username'] = $myusername;
于 2013-04-03T04:16:44.783 回答
0

session_register()已从 php > 5.4.0.. 中删除。

而是用于$_SESSION[]注册您的会话位

于 2013-04-03T04:16:45.833 回答
0
session_register("$myusername");
session_register("mypassword");

我认为您缺少 $ 符号。

于 2013-04-03T04:18:44.860 回答