• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Logowanie nie działa

42 Warsaw Coding Academy
+1 głos
513 wizyt
pytanie zadane 22 grudnia 2021 w PHP przez lukas1231233 Nowicjusz (240 p.)

Otóż mam problem z kodem wydaje mi się, że naprawdę jest już wszystko i nic nie trzeba zmieniać, ale nie wyświetla się przy błędnym logowaniu komunikat i nie loguje na stronę index1.php.

<?php 
session_start();

$conn = @mysqli_connect("localhost", "root" ,"", "klienci");

if((!isset($_POST['login']))&&(!isset($_POST['haslo'])))
{
	header('Location: login.php');
	exit();
}


if($conn->connect_errno!=0)
{
	echo "Error: ".$conn->connect_errno;
}
else
{
	
	$login = $_POST['login'];
	$haslo = $_POST['haslo'];

	
	$login = htmlentities($login, ENT_QUOTES,"UTF-8");
	$haslo = htmlentities($haslo, ENT_QUOTES,"UTF-8");
	
	if($result = @$conn->query(
	sprintf("SELECT * FROM users WHERE User='%s' AND Password='%s'",
	mysqli_real_escape_string($conn, $login),
	mysqli_real_escape_string($conn, $haslo))))
	{
		$users = $result->num_rows;
		if($users==1)
		{
			$_SESSION['zalogowany']=true;
			
			$row = $result->fetch_assoc();
			$_SESSION['User']=$row['User'];
			$_SESSION['Password']=$row['Password'];
			
			
			
			unset($_SESSION['blad']);
			
			
			$result->close();
			header('Location: index1.php');
			
		}
		else
		{
			$_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
			header('Location: login.php');
		}
	}
	
	$conn->close();
}
?>

 

<?php
	
	session_start();
	$conn = @mysqli_connect("localhost", "root" ,"", "klienci");
	if((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
	{
		header('Location: index1.php');
		exit();
	}
	
	$conn = @mysqli_connect("localhost", "root" ,"", "klienci");
	

?>

<!DOCTYPE HTML>
<html>
<head>
	<meta charset="UTF-8"/>
	<meta http-equiv="X-UA-COMPATIBLE" content="IE=edge,chrome=1"/>
    <link rel="stylesheet" href="logowanie.css" type="text/css" />
</head>	
<body>

<form action="index1.php" method="POST">

    <div id="container">
        <div class="logowanie">
            Login:     <div class="login"><input name="login" size="30" maxlength="30"> </div> <br><br>
            Hasło:     <div class="haslo"><input name="haslo" size="30" maxlength="30"> </div> <br><br>

            <button class="button">Zaloguj się</button>
			
			
       </div>
 </div>
    


</form>
		
			<?php 

	if(isset ($_SESSION['blad'])) 
	{
		echo $_SESSION['blad'];
	}
			?>

</div>
 </div>
</body>
</html>

Plik index1.php

<?php
	session_start();
	
	if(!isset($_SESSION['zalogowany']))
	{
		header('Location: login.php');
		exit();
	}
?>

<!DOCTYPE html>
<html lang="pl">
<head>
    <title>Aktualności</title>
    <meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
</head>
<body>
<div id="container">
        <div id="container1">
            <div class="logo">

            </div>
            <div class="searching">

                <div class="wrapper">
                    <input id="search" class="search1" name="q" type="text" autocomplete="off" value="" placeholder="Search your products" aria-label="Search your products">
                    <button>SZUKAJ</button>
                </div>
            </div>
            <div class="login">
                <?php
					echo "<p> Jesteś zalogowany".$_SESSION['login'].'! <a href="logout.php">Wyloguj się!</a></p>';
				?>
            </div>
        </div>
        <div id="container2">
            <div class="nav">
                        <ul>
                            <ol>
                                <button><li>Strona Główna</li></button>
                                <button><li>Aktualności</li></button>
                                <button><li>RJ-45</li></button>
                                <button><li>Motoryzacja</li></button>
                                <button><li>Ogrodnictwo</li></button>
                                <button><li>Elektronika</li></button>
                            </ol>
                        </ul>
            </div>
            <div class="content">

            </div>
        </div>
</div>

</body>
</html>

 

Proszę o szybką odpowiedź.

komentarz 23 grudnia 2021 przez VBService Ekspert (256,600 p.)

Ten zapis

<ul>
  <ol>
    <button><li>Strona Główna</li></button>
    <button><li>Aktualności</li></button>
    <button><li>RJ-45</li></button>
    <button><li>Motoryzacja</li></button>
    <button><li>Ogrodnictwo</li></button>
    <button><li>Elektronika</li></button>
  </ol>
</ul>

 

nie do końca jest prawidłowy

validator.w3.org

 

Element <ol> jest niedozwolony jako element potomny elementu <ul> w tym kontekście.

 

<button> jest niedozwolony jako element potomny elementu <ol> w tym kontekście.

 

po prostu zapisz np. tak

<div class="nav">
  <ol>
    <li><button>Strona Główna</button></li>
    <li><button>Aktualności</button></li>
    <li><button>RJ-45</button></li>
    <li><button>Motoryzacja</button></li>
    <li><button>Ogrodnictwo</button></li>
    <li><button>Elektronika</button></li>
  </ol>
</div>

lub

<div class="nav">
  <ul>
    <li><button>Strona Główna</button></li>
    <li><button>Aktualności</button></li>
    <li><button>RJ-45</button></li>
    <li><button>Motoryzacja</button></li>
    <li><button>Ogrodnictwo</button></li>
    <li><button>Elektronika</button></li>
  </ul>
</div>

 

1
komentarz 27 grudnia 2021 przez lukas1231233 Nowicjusz (240 p.)

Dzięki za radę, tak zrobię.laugh

1 odpowiedź

0 głosów
odpowiedź 22 grudnia 2021 przez Michał Kazula Pasjonat (19,540 p.)
Mam głupie pytanie. A w którym miejscu pliku index1.php masz wywołanie tego algorytmu z pierwszej sekcji? To łączenie do bazy, sprawdzanie loginu i hasła?

Mała podpowiedź nie używaj polskich nazw.
komentarz 22 grudnia 2021 przez lukas1231233 Nowicjusz (240 p.)
Cześć, dzięki za radę. W index1.php chodziło mi o to aby wyświetlał się napis Jesteś zalogowany po zalogowaniu na tą stronę.
1
komentarz 22 grudnia 2021 przez lukas1231233 Nowicjusz (240 p.)
Teraz widzę że chyba w linijce Jesteś zalogowany, trochę za dużo jest cudzysłowów albo w nieodpowiednim miejscu. Powiedz mi czy mam rację.
komentarz 22 grudnia 2021 przez lukas1231233 Nowicjusz (240 p.)
3 sekcja to index 1.php chyba źle podpisałem
komentarz 22 grudnia 2021 przez Michał Kazula Pasjonat (19,540 p.)

Coś za bardzo kombinujesz.
 

  1.  Odpalasz plik index1.php
    1. Jak jesteś zalogowany - to pokaż zawartość storny
    2. Jak nie jesteś zalogowany - to przeładuj stronę na lohin.php
  2. Pokaż formularz do logowania - jak kliknę w guzik "Zaloguj się" - to gdzie idę?!

Gdzie jest wstawiony kod z sekcji pierwszej!!! Tam jest Twoja logika do sprawdzania czy podane login i hasło są ok. Ale nie odpalasz tego nigdzie to skąd w sesji masz mieć info czy zalogowany?!

komentarz 27 grudnia 2021 przez lukas1231233 Nowicjusz (240 p.)
Przepraszam że tak dlugo nie odpisywałem, mam jeszcze plik index który przekierowuje na stronę login.php i stamtąd ma być logowanie, które właśnie nie działa.
komentarz 27 grudnia 2021 przez lukas1231233 Nowicjusz (240 p.)
<!DOCTYPE html>
<html lang="pl">
<head>
    <title>Strona Główna</title>
    <link rel="stylesheet" href="main.css" type="text/css" />
</head>
<body>
<div id="container">
        <div id="container1">
            <div class="logo">

            </div>
            <div class="searching">

                <div class="wrapper">
                    <input id="search" class="search1" name="q" type="text" autocomplete="off" value="" placeholder="Search your products" aria-label="Search your products">
                    <button>SZUKAJ</button>
                </div>
            </div>
            <div class="login">
                <a href="login.php"/>   <button class="button1"> ZALOGUJ SIĘ</button>
            </div>
        </div>
        <div id="container2">
            <div class="nav">
                        <ul>
                                <li><button>Strona Główna</button></li>
                                <li><button>Aktualności</button></li>
                                <li><button>RJ-45</button></li>
                                <li><button>Motoryzacja</button></li>
                                <li><button>Ogrodnictwo</button></li>
                                <li><button>Elektronika</button></li>
                            </ul>
            </div>
            <div class="content">

            </div>
        </div>
</div>

</body>
</html>

Index.html z przyciskiem zaloguj się.

Podobne pytania

0 głosów
1 odpowiedź 305 wizyt
pytanie zadane 11 lipca 2019 w Systemy operacyjne, programy przez Rocket Gaduła (3,030 p.)
0 głosów
0 odpowiedzi 148 wizyt
pytanie zadane 22 lipca 2019 w SQL, bazy danych przez jedyna Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 226 wizyt

93,383 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,744 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...