Gdy próbuję się zalogować, to ponownie wyskakuje mi ponownie formularz uwierzytelnienia, pomimo wprowadzenia poprawnych danych. Testy prowadzę na locallhoście a dokładniej na pakiecie XAMPP.
<?php
if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { // Użytkownik nie wpisał nazwy użytkownika i hasła, dlatego trzeba wysłać nagłowki uwierzytelnienia.
header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm=Stronawww"'); exit('Musisz podać nazwę użytkownika i hasło, aby się zalogować i uzyskać dostęp do strony.'); }
//Łączenie z bazą danych
$dbc = mysqli_connect ('locallhost', 'root', ' ', 'strona');
//Pobieranie danych logowania
$user_username = mysqli_real_escape_string
($dbc, trim($_SERVER['PHP_AUTH_USER'])); $user_password = mysqli_real_escape_string
($dbc, trim($_SERVER['PHP_AUTH_PW']));
//Wyszukiwanie nazwy i hasła w bazie danych
$query = "SELECT username FROM tabela_logowania WHERE username = ' .$user_username.' AND password = SHA(' .$user_password. ')";
$data = mysqli_query($dbc,$query);
if (mysqli_num_rows($data) == 1) {
// Dane są porawne, zostanie przypisana nazwa użytkownika
$row = mysqli_fetch_array($data);
$username = $row['username'];
}
else {
//Nie prawidłowe dane
header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm=Stronawww"'); exit('Musisz podać nazwę użytkownika i hasło, aby się zalogować i uzyskać dostęp do strony.'); }
// Potwierdzenie zalogowania
echo('<p>Zagowany użytkownik: ' .$username. '</p>');
?>
Gdy kliknę przycisk "Anuluj" w oknie uwierzytelnienia, to wywala mi błąd nie wiem czy dobrze rozumiem go ale chyba o to chodzi że są podane złe dane które łączą się z bazą danych, sprawdziłem i są dobre.
To są te błędy:
Warning: mysqli_connect() [FUNCTION.mysqli-connect]: php_network_getaddresses: getaddrinfo failed: Nieznany host. IN E:\xampp\htdocs\strona\logowanie.php ON line 10
Warning: mysqli_connect() [FUNCTION.mysqli-connect]: [2002] php_network_getaddresses: getaddrinfo failed: Nieznany host. (trying TO connect via tcp://locallhost:3306) IN E:\xampp\htdocs\strona\logowanie.php ON line 10
Warning: mysqli_connect() [FUNCTION.mysqli-connect]: (HY000/2002): php_network_getaddresses: getaddrinfo failed: Nieznany host. IN E:\xampp\htdocs\strona\logowanie.php ON line 10
Warning: mysqli_real_escape_string() expects parameter 1 TO be mysqli, BOOLEAN given IN E:\xampp\htdocs\strona\logowanie.php ON line 13
Warning: mysqli_real_escape_string() expects parameter 1 TO be mysqli, BOOLEAN given IN E:\xampp\htdocs\strona\logowanie.php ON line 14
Warning: mysqli_query() expects parameter 1 TO be mysqli, BOOLEAN given IN E:\xampp\htdocs\strona\logowanie.php ON line 19
Warning: mysqli_num_rows() expects parameter 1 TO be mysqli_result, NULL given IN E:\xampp\htdocs\strona\logowanie.php ON line 22
Musisz podać nazwę użytkownika i hasło, aby się zalogować i uzyskać dostęp do strony.