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

logowanie php bazy danych

Cloud VPS
+1 głos
416 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 (256,600 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 (256,600 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 1,368 wizyt
+1 głos
3 odpowiedzi 1,068 wizyt
pytanie zadane 27 czerwca 2015 w PHP przez kamil_1996 Nowicjusz (130 p.)
0 głosów
1 odpowiedź 689 wizyt
pytanie zadane 12 kwietnia 2019 w PHP przez Sinq Nowicjusz (120 p.)

93,481 zapytań

142,414 odpowiedzi

322,758 komentarzy

62,894 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

Kursy INF.02 i INF.03
...