Очередная ошибка PHP кода за день, поможите???

$connect = mysql_connect("localhost", "cj28778_bd", "1234567") or die(mysql_error());
 mysql_select_db("cj28778_bd");

if(isset($_POST['submit'])){
   $username = $_POST['username'];
   $login = $_POST['login'];
   $password = $_POST['password'];
   $r_password = $_POST['r_password'];
 }
 if ($password == $r_password) {
 	$password = md5($password);
 	$query = mysql_query("INSERT INTO users VALUES('','$username', '$login', '$password')") or die(mysql_error());
 }
 else{
 	die("Пароли не совпадают");
 }


 if (isset($_POST['enter'])) {
  $e_login = $_POST['e_login'];
  $e_password = md5($_POST['e_password']);


  $query = mysql_query("SELECT * FROM users WHERE login='$e_login'");
  $user_data = mysql_fetch_array($query);

  if ($user_data['password'] == $e_password) {
  	echo "Авторизация прошла успешно!";
  }
  else{
  	echo "Неверный пароль или логин";
  }
  
 }


Вот код, и при попытке авторизоваться постоянно выводится "Неверный пароль или логин", вне зависимости от правильности пароля. Ко всему этому, при регистрации создаётся две ячейки в таблице mysql, вторая строка в таблице совпадает с паролем, но при этом отсутствует логин и id f9501bafe40648a988902bea029eab27.png. Так же могут создаваться 3 ячейки абсолютно идентичные друг другу
f432a9bc357a419a98345086e478ac1b.png
  • Вопрос задан
  • 205 просмотров
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
проверьте echo'm переменную $e_password после md5. Мне кажется в ней проблема. (возможно она вообще, пустая) (или $e_login пустой)
п.с. может пароль слишком длинный? у вас в mysql у password стоит длина 26 и прихешировании - не влазиет (соответственно обрезает)?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Pinsky
@Pinsky
Кофеиноникотиновая смесь в backend-код
1. Экранируйте SQL-параметры. Ваш сайт - уже одна большая дыра - с БД можно делать что угодно.
2. Отладка для слабаков?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы