divinity02 Ответов: 1

Пытаюсь войти в систему, но получаю ошибки в имени пользователя и пароле


привет, у меня есть форма входа в систему, где я пытаюсь войти, но получил эти ошибки с именем пользователя и паролем.

( ! ) Notice: Undefined index: username in C:\wamp64\www\FormTutorial\php\luana_login.php on line 6



( ! ) Notice: Undefined index: password in C:\wamp64\www\FormTutorial\php\luana_login.php on line 7


может ли кто-нибудь указать мне правильное направление, как это исправить? это то, что я пробовал

Что я уже пробовал:

<pre><?php

	
		// capture values from the form and store in php variables
		
		$username=$_POST['username'];
		$password=$_POST['password'];
		
		//connection to the database
		
		$db_host='localhost';
		$db_username='root';
		$db_password="";
		$con=mysqli_connect($db_host, $db_username, $db_password) or die (mysqli_connect_error());
		
		//select the database to query
		mysqli_select_db($con, 'staff') or die (mysqli_error($con));
		$sql="SELECT * FROM applicant  WHERE username ='$username' AND password=md5('$password')";
		$result=mysqli_query($con,$sql) or die ("Error:" .mysqli_error($con));
		$rowcount=mysqli_num_rows($result);
		
		if($rowcount == 1)
		{
			session_start();
			$_SESSION['user']=$username;
			header("location:luana_profile.php");
		}
		else
		{
			echo"<script type=\"text/javascript\">
			alert('username and password doesn't exist');
			window.location\"../xhtml/luana_login.html\";
			</script>";
		}
		mysqli_close($con);
		
	
?>

Richard MacCutchan

Эти метки не могут быть найдены в HTML веб-страницы.

Richard Deeming

Кроме того, несоленый хэш MD5 не намного лучше, чем хранение пароля в обычном тексте. Вы должны использовать встроенные функции для безопасного управления вашими паролями:

PHP: password_hash[^]
РНР: функцию password_verify[^]

1 Ответов

Рейтинг:
2

HappyPines

попробовать это

<?php
$connect = mysqli_connect("localhost","root","","jiyo");

$имя пользователя = $_POST, где['имя пользователя'];
$password = $_POST['пароль'];

запрос $query = mysqli_query($Connect, то "выбрать * из tbl_account, где имя пользователя='$имя пользователя' и Pass='$пароль");

$результат = mysqli_fetch_array($запроса);
if ($query = $result)

{

заголовок("Location:main.php");

} еще {

echo "неверное имя Пользователя или пароль";

}




?>


Richard Deeming

Смотрите мои комментарии к этому вопросу - у вас есть те же самые критические уязвимости безопасности в вашем коде.

Операция, по крайней мере, хранила хэшированную версию пароля, хотя и несоленую и использующую небезопасный алгоритм хэширования. Вы заменили его на обычное текстовое хранилище паролей, что гораздо хуже.