-1

そのため、現在ユーザーログインを作成しています。次のコードをchecklogin.phpページに追加しましたが、ログインしようとするたびに次の致命的なエラーが発生し続けます.

'
致命的なエラー: C:\xampp\htdocs\php\login\checklogin.php の 36 行目の未定義関数 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 に答える