Я новичок в 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'];
Если вы проверите руководство по php, вы увидите, что оно устарело
Как насчет использования переменной $_SESSION
?
$_SESSION["myusername"] = $username;
Сначала вы select id
только select id
из базы данных, поэтому нет $row['active']
. Измените $row['active']
на $row[0]['id']
.
И не используйте session_register("myusername");
Используйте $_SESSION['myusername']=="something"
Вы можете изменить свой запрос, чтобы select id,username ...
и затем установить $_SESSION['myusername']=$row[0]['username'];
Конечно, этот метод не хорош, но для новичка он должен это делать;