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

logowanie php bazy danych

VPS Starter Arubacloud
+1 głos
301 wizyt
pytanie zadane 6 marca 2021 w PHP przez Mateusz Wydra Nowicjusz (240 p.)

witam mam problem stworzyłem sobie system logowania na podstawie 2 odc kursu php i gdy próbuję się w nim zalogować to odsyła mnie do pliku log.php zamiast do user.php tak samo gdy nie uda się zalogować dodam że plik log.php ma zastąpić plik zaloguj.php z odcinka pod spodem daję wszystkie kody

<?php

	session_start();
	
	if ((!isset($_POST['email'])) || (!isset($_POST['password'])))
	{
		header('Location: index.php');
		exit();
	}

	require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name, $db_punkty);
	
	if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$email = $_POST['email'];
		$haslo = $_POST['password'];
		
		$email = htmlentities($email, ENT_QUOTES, "UTF-8");
		$haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
	
		if ($rezultat = @$polaczenie->query(
		sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
		mysqli_real_escape_string($polaczenie,$email),
		mysqli_real_escape_string($polaczenie,$haslo))))
		{
			$ilu_userow = $rezultat->num_rows;
			if($ilu_userow>0)
			{
				$_SESSION['zalogowany'] = true;
				
				$wiersz = $rezultat->fetch_assoc();
				$_SESSION['nick'] = $wiersz['nick'];
				$_SESSION['punkty'] = $wiersz['punkty'];
				
				unset($_SESSION['blad']);
				$rezultat->free_result();
				header('Location: user.php');
				
			} else {
				
				$_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
				header('Location: login.php');
				
			}
			
		}
		
		$polaczenie->close();
	}
	
?>
<!DOCTYPE HTML>

<html lang="pl">

    <head>
	
<meta charset="utf-8" />

        <title>rls4u-reflinks skins for you</title>
		
		<link rel="Shortcut icon" href="icon.ico" />
		
		<link rel="preconnect" href="https://fonts.gstatic.com">
		
<link href="https://fonts.googleapis.com/css2?family=Courgette&display=swap" rel="stylesheet">
        <style>
		
            body{
               background:url('background.png');
			margin: 0 !important;
			color: #FFFFFF; font-family: 'Courgette', cursive;
            }
			
			.sticky{
			width: 100%;
			position: fixed;
			left: 0;
			top: 0;
			z-index: 100;
			}
			
			ol{
			padding: 0;
			margin: 0;
			list-style-type: none;
			font-size: 18px;
			height: 35px;
			line-height: 200%;
			display: inline-block;
			}
			
			ol a{
			color: #ffffff;
			text-decoration: none;
			display: block;
			}
 
			ol > li{
			float: left;
			width: 150px;
			height: 40px;
			border-right: 1px dashed #003333;
			}
			ol > li:first-child{
			border-left: 1px dashed #003333;
			}
 
			ol > li:hover{
			background-color: #336666;
			}
 
			ol > li:hover > a{
			color: #2F4F4F;
			}
 
 
        </style>
		
    </head>
	
        <body>

			<div style=" background-color: #000000; height: 20%;">
			
				<div style=" width: 384px; height: 108px; margin-left: auto; margin-right: auto;">
				
					<img src="banner.png" style=" width: 384px; height: 108px;">
					
				</div>
				
			</div>
			
			<div class="nav" style=" background-color: #2F4F4F; text-align: center; padding: 10px 0;">
			
			<ol>
			
			<li><a href="login.php">Zaloguj</a></li>
			<li><a href="register.php">Zarejestruj</a></li>
			
			<ol>
			
			</div>
			
			<div style=" background-color: #333333; width: 800px; height: 1000px; margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 40px; border-right: 10px solid #222222; border-left: 10px solid #444444; border-top: 10px solid #444444; border-bottom: 10px solid #222222;">
			


<?php

    $punkty = 0;
	
    echo "<span style='font-size: xxx-large'><b><p align='center'>Witaj</p></b></span>". $sesion[user]"<br><span style='font-size: xxx-large'><b><p align='center'> Posiadasz punkty w liczbie: $punkty.</p></b></span>";
	echo '<span style="font-size: xx-large"><b><p align="center">Aby rozpocząć zaloguj się lub zarejestruj.</p></b></span>'
?>

			</div>
			<script src="jquery-1.11.3.min.js"></script>
			<script>
 
    $(document).ready(function() {
    var NavY = $('.nav').offset().top;
      
    var stickyNav = function(){
    var ScrollY = $(window).scrollTop();
           
    if (ScrollY > NavY) { 
        $('.nav').addClass('sticky');
    } else {
        $('.nav').removeClass('sticky'); 
    }
    };
      
    stickyNav();
      
    $(window).scroll(function() {
        stickyNav();
    });
    });
     
</script>
        </body>

</html>
<?php

	$host = "localhost";
	$db_user = "root";
	$db_password = "";
	$db_name = "loginsystem";

?>
<!DOCTYPE HTML>

<html lang="pl">

    <head>
	
<meta charset="utf-8" />

        <title>rls4u-reflinks skins for you</title>
		
		<link rel="Shortcut icon" href="icon.ico" />
		
		<link rel="preconnect" href="https://fonts.gstatic.com">
		
<link href="https://fonts.googleapis.com/css2?family=Courgette&display=swap" rel="stylesheet">
        <style>
		
            body{
               background:url('background.png');
			margin: 0 !important;
			color: #FFFFFF; font-family: 'Courgette', cursive;
            }
			
			.sticky{
			width: 100%;
			position: fixed;
			left: 0;
			top: 0;
			z-index: 100;
			}
			
			ol{
			padding: 0;
			margin: 0;
			list-style-type: none;
			font-size: 18px;
			height: 35px;
			line-height: 200%;
			display: inline-block;
			}
			
			ol a{
			color: #ffffff;
			text-decoration: none;
			display: block;
			}
 
			ol > li{
			float: left;
			width: 150px;
			height: 40px;
			border-right: 1px dashed #003333;
			}
			ol > li:first-child{
			border-left: 1px dashed #003333;
			}
 
			ol > li:hover{
			background-color: #336666;
			}
 
			ol > li:hover > a{
			color: #2F4F4F;
			}
 
 
        </style>
		
    </head>
	
        <body>

			<div style=" background-color: #000000; height: 20%;">
			
				<div style=" width: 384px; height: 108px; margin-left: auto; margin-right: auto;">
				
					<img src="banner.png" style=" width: 384px; height: 108px;">
					
				</div>
				
			</div>
			
			<div class="nav" style=" background-color: #2F4F4F; text-align: center; padding: 10px 0;">
			
			<ol>
			
			<li><a href="login.php">Zaloguj</a></li>
			<li><a href="register.php">Zarejestruj</a></li>
			
			<ol>
			
			</div>
			
			<div style=" background-color: #333333; width: 800px; height: 1000px; margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 40px; border-right: 10px solid #222222; border-left: 10px solid #444444; border-top: 10px solid #444444; border-bottom: 10px solid #222222;">
			


<?php

    $punkty = 0;
	
    echo "<span style='font-size: xxx-large'><b><p align='center'>Witaj.<br> Posiadasz punkty w liczbie: $punkty.</p></b></span>";
	echo '<span style="font-size: xx-large"><b><p align="center">Aby rozpocząć zaloguj się lub zarejestruj.</p></b></span>'
?>

	<form action="log.php" method="post">

		E-mail:<br><input type="text" name="email"><br>
		Hasło:<br><input type="password" name="password"><br><br>
		<input type="submit" value="Zaloguj się">
		
	</form>

			</div>
			<script src="jquery-1.11.3.min.js"></script>
			<script>
 
    $(document).ready(function() {
    var NavY = $('.nav').offset().top;
      
    var stickyNav = function(){
    var ScrollY = $(window).scrollTop();
           
    if (ScrollY > NavY) { 
        $('.nav').addClass('sticky');
    } else {
        $('.nav').removeClass('sticky'); 
    }
    };
      
    stickyNav();
      
    $(window).scroll(function() {
        stickyNav();
    });
    });
     
</script>
        </body>

</html>

 

komentarz 7 marca 2021 przez VBService Ekspert (251,210 p.)

wink

            <div style=" background-color: #333333; width: 800px; height: 1000px; margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 40px; border-right: 10px solid #222222; border-left: 10px solid #444444; border-top: 10px solid #444444; border-bottom: 10px solid #222222;">
             
 
 
<?php
 
    $punkty = 0;
     
    echo "<span style='font-size: xxx-large'><b><p align='center'>Witaj</p></b></span>". $sesion[user]"<br><span style='font-size: xxx-large'><b><p align='center'> Posiadasz punkty w liczbie: $punkty.</p></b></span>";
    echo '<span style="font-size: xx-large"><b><p align="center">Aby rozpocząć zaloguj się lub zarejestruj.</p></b></span>'
?>
 
            </div>

na 

            <div style=" background-color: #333333; width: 800px; height: 1000px; margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 40px; border-right: 10px solid #222222; border-left: 10px solid #444444; border-top: 10px solid #444444; border-bottom: 10px solid #222222;">
             
 
 
<?php $punkty = 0; ?>
     
               <span style='font-size: xxx-large'><p align='center'><b>Witaj</b></p></span>
               <?php echo $sesion[user]; ?><br>
               <span style='font-size: xxx-large'><p align='center'>
               <b>Posiadasz punkty w liczbie: <?php echo $punkty; ?>.</b></p></span>
               <span style="font-size: xx-large"><p align="center"><b>Aby rozpocząć zaloguj się lub zarejestruj.</b></p></span>
 
            </div>

 

1 odpowiedź

–1 głos
odpowiedź 7 marca 2021 przez VBService Ekspert (251,210 p.)

Masz znak "@" przed $polaczenie->query

if ($rezultat = @$polaczenie->query(

co powoduje, że gdy query zwraca błąd to php "nie reaguje" i wtedy nie wiadomo, czy był poprawny.  wink

Propozycja. 

echo $sql; exit(); // po testach usunąć
            $sql = sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
                            mysqli_real_escape_string($polaczenie, $email),
                            mysqli_real_escape_string($polaczenie, $haslo)
                          );

            // do sparwdzenia poprawności zapytania sql
            echo $sql; exit(); // po testach usunąć

            if ($rezultat = @$polaczenie->query(sql)) {

Pełny kod

<?php
    session_start();

    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $email = (isset($_POST['email'])) ? $_POST['email'] : '';
        $haslo = (isset($_POST['password'])) ? $_POST['password'] : '';

        if (!empty($email) && !empty($haslo)) {
            $email = htmlentities($email, ENT_QUOTES, "UTF-8");
            $haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");

            require_once "connect.php";

            $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name, $db_punkty);
            if ($polaczenie->connect_errno) {
                echo "Error: ".$polaczenie->connect_errno;
                exit();
            }

            $sql = sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
                            mysqli_real_escape_string($polaczenie, $email),
                            mysqli_real_escape_string($polaczenie, $haslo)
                          );

            // do sparwdzenia poprawności zapytania sql
            echo $sql; exit(); // po testach usunąć

            if ($rezultat = @$polaczenie->query(sql)) {
                if ($rezultat->num_rows) {
                    $_SESSION['zalogowany'] = true;

                    $wiersz = $rezultat->fetch_assoc();
                    $_SESSION['nick'] = $wiersz['nick'];
                    $_SESSION['punkty'] = $wiersz['punkty'];

                    unset($_SESSION['blad']);
                    $rezultat->free_result();
                    header('Location: user.php');
                }
            } else {
                $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
                header('Location: login.php');
                exit();
            }

            $polaczenie->close();
        }
    } else {
        header('Location: index.php');
    }
?>

 

Podobne pytania

0 głosów
2 odpowiedzi 698 wizyt
+1 głos
3 odpowiedzi 816 wizyt
pytanie zadane 27 czerwca 2015 w PHP przez kamil_1996 Nowicjusz (130 p.)
0 głosów
1 odpowiedź 386 wizyt
pytanie zadane 12 kwietnia 2019 w PHP przez Sinq Nowicjusz (120 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...