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

logowanie php bazy danych

Object Storage Arubacloud
+1 głos
302 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 (252,740 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 (252,740 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 734 wizyt
+1 głos
3 odpowiedzi 819 wizyt
pytanie zadane 27 czerwca 2015 w PHP przez kamil_1996 Nowicjusz (130 p.)
0 głosów
1 odpowiedź 407 wizyt
pytanie zadane 12 kwietnia 2019 w PHP przez Sinq Nowicjusz (120 p.)

92,553 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...