Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sprawdzenie czy istnieją dane w rekordzie.
Forum PHP.pl > Forum > Przedszkole
koxfx
Mam w bazie o nazwie logowanie tabele rejestracja, w niej 2 komórka (login, hasło).
Chcę aby przy logowaniu sprawdzić czy login i hasło zgadzają się z tym w bazie danych i utworzyć sesję z loginu.

Proszę o sprawdzenie kodu ponieważ, nie mam pewności czy działa właściwie.

  1.  
  2. <?php
  3. require("baza.php");
  4. connection();
  5.  
  6. if (!empty($_POST['login'])) {
  7. $login = $_POST['login'];
  8. } else {
  9. echo "<p>nie podałes loginu!</p>";
  10. }
  11.  
  12. if (!empty($_POST['haslo'])) {
  13. $haslo = $_POST['haslo'];
  14. } else {
  15. echo "<p>nie podałes hasla!</p>";
  16. }
  17.  
  18.  
  19. if(mysql_num_rows(mysql_query("SELECT login, haslo
  20. FROM rejestracja WHERE login = '".$_POST['login']."'
  21. && haslo = '".$_POST['haslo']."' ")) > 0)
  22.  
  23.  
  24.  
  25. $_SESSION['login'] = $login;
  26.  
  27. if(isset($_SESSION['login'])) {
  28. echo "Witaj, ".$_SESSION['login'];
  29. }
  30.  
  31.  
  32.  
  33. header("Location: index.php");
  34. ?>


  1. <form action="logowanie.php" method="POST" >
  2. <h4 class="text-center" >Login:</h3> <input class="center-block" type="tekst" name ="login" >
  3. <h4 class="text-center" >Hasło</h3> <input class="center-block" type="tekst" name="haslo">
  4. <button name="wyslij" class="center-block" >Zaloguj</button>
  5. </form>
Turson
Beznadziejne.

1. input type="tekst"
text a nie tekst
2.
  1. if (!empty($_POST['login'])) {
  2. $login = $_POST['login'];
  3. } else {
  4. echo "<p>nie podałes loginu!</p>";
  5. }

Taki bład powinien przerwać dalsze wykonywanie kodu, a nie przerywa i mimo wszystko wykonuje się zapytanie itd. Analogicznie od linii 12

3. Linia 22 - używasz mysql które jest przestarzale i nie powinno sie uzywac, wsadzasz dane z $_POST prosto do zapytania co jest mega niebezpieczne. Zainteresuj się PDO. Do tego brakuje klamr po if'ie przez co wykona się tylko pierwsze polecenie.

Ogólem włacz raportowanie błędów, wszystkich
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.