Не удалось создать страницу входа?

Хорошо, поэтому я хочу сделать простую страницу входа. Я создал страницу регистрации успешно, но я не могу получить регистрационную информацию.

login.php:

<?php session_start(); include("mainmenu.php"); $usrname = mysql_real_escape_string($_POST['usrname']); $password = md5($_POST['password']); $con = mysql_connect("localhost", "root", "g00dfor@boy"); if(!$con){ die(mysql_error()); } mysql_select_db("users", $con) or die(mysql_error()); $login = "SELECT * FROM `users` WHERE (usrname = '$usrname' AND password = '$password')"; $result = mysql_query($login); if(mysql_num_rows($result) == 1 { $_SESSION = true; header('Location: indexlogin.php'); } else { echo = "Wrong username or password." ; } ?> 

indexlogin.php просто перекликается с «Войти успешно». Что я делаю не так? О, и только FYI- моя база данных – это «пользователи», а моя таблица – «данные».

Solutions Collecting From Web of "Не удалось создать страницу входа?"

 <?php session_start(); include("mainmenu.php"); $usrname = mysql_real_escape_string($_POST['usrname']); $password = md5($_POST['password']); $con = mysql_connect("localhost", "root", "g00dfor@boy"); if (!$con) { die(mysql_error()); } mysql_select_db("users", $con) or die(mysql_error()); $login = "SELECT * FROM `users` WHERE (usrname = '$usrname' AND password = '$password')"; $result = mysql_query($login); if (mysql_num_rows($result) == 1) { $_SESSION['logged_in'] = true; header('Location: indexlogin.php'); exit; } else { echo "Wrong username or password."; } ?> в <?php session_start(); include("mainmenu.php"); $usrname = mysql_real_escape_string($_POST['usrname']); $password = md5($_POST['password']); $con = mysql_connect("localhost", "root", "g00dfor@boy"); if (!$con) { die(mysql_error()); } mysql_select_db("users", $con) or die(mysql_error()); $login = "SELECT * FROM `users` WHERE (usrname = '$usrname' AND password = '$password')"; $result = mysql_query($login); if (mysql_num_rows($result) == 1) { $_SESSION['logged_in'] = true; header('Location: indexlogin.php'); exit; } else { echo "Wrong username or password."; } ?> 
  • Я добавил mysql_real_escape_string() чтобы предотвратить SQL- инъекцию .
    Нет, я не сделал этого, потому что у тебя уже было это.
  • Я немного очистил форматирование кода.
  • Я изменил $_SESSION = true; (что не имеет смысла) в $_SESSION['logged_in'] = true; , Затем в indexlogin.php вы можете сделать что-то вроде if ($_SESSION['logged_in']) { echo $secret; } if ($_SESSION['logged_in']) { echo $secret; }
  • Я исправил echo = "Wrong username or password."; echo "Wrong username or password.";
  • Я добавил закрывающую скобку около mysql_num_rows($result) == 1 .

Ты сказал:

моя база данных – это «пользователи», а моя таблица – «данные».

Если это правильно, вам нужно будет изменить SELECT * FROM users на данные SELECT * FROM data .

Я не думаю, что вы можете установить $ _SESSION = true, потому что $ _SESSION – это массив. Попробуйте $ _SESSION ['logged_in'] = true.