Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Pobieranie danych z bazy i sprawdzenie
Forum PHP.pl > Forum > Przedszkole
danielv13
Mam następujący problem:
Jak pobrać hasło z bazy danych i formularzem sprawdzić czy jest ok?
Formularz ja pole o nazwie password.
Plik sprawdz.php:

  1. <?php
  2.  
  3. require "../../conf.php";
  4.  
  5.  mysql_connect ("$host", "$dbuser", "$dbpass") or die ("BLAD!<br> Nie mozna polaczyc sie z baza danych! Sprawdx czy wpisane&nb 1149 sp;przez Ciebie dane sa poprawne!");
  6.  mysql_select_db ("$dbname") or die ("BLAD!<br> Nie mozna odnalezdx bazy danych o nazwie $dbname");
  7.  $row = @mysql_fetch_array($result);
  8.  $query = "SELECT haslo FROM ekipa";
  9.  
  10. // najpierw sprawdzamy, czy wysylane zmienne w formularzu nie sa puste.
  11. if ( ! empty( $_POST['password'] ) )
  12. {
  13. // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  14. if($_POST['password'] == $row['haslo']){  
  15.  
  16. // tworzymy zmienna sesyjna
  17. $_SESSION['prezenterlogin'] = '1';
  18. //session_register('zalogowany');
  19. print("<table cellpad="0" cellspace="0" border="0" align="center" width="100%"><tr><td bgcolor="#00ff00"><p><b><div class="big" align="center">Zostałeś zalogowany jako <b>$login</b></p><p><a href="panel.php"> --->Przejdz do panelu prezentera <---</a></p></div></b></td></tr></table>");
  20. }
  21. else
  22. {
  23. echo 'Podales zly login badz haslo! <a href="index.php"> <-- BACK</a>';
  24. }
  25. }
  26. else
  27. {
  28. echo 'Wprowadz dane do formularza :) <a href="index.php"> <-- BACK</a>';
  29. }
  30. ?>
MacPain
Najpierw dajesz kwerende(zapytanie) a potem wyświetlasz je w formie tablicy, a w twoim skrypcie jest na odwrót. Po drugie najpierw sprawdz czy pole jest nie puste i dopiero wtedy łacz sie z bazą.
danielv13
Ja pierdziuu działa biggrin.gif

A jak mam zrobić, aby sprawdziło też login? worriedsmiley.gif ?
Tabela: ekipa - komórka nick
MacPain
Pomyśl troche i napewno coś wykombinujesz.
danielv13
Ano już mam biggrin.gif

Edit: aaah za wcześnie :/ Mam tak i nie działa:

  1. <?php
  2.  
  3. require "../../conf.php";
  4.  
  5.  
  6.  
  7. // najpierw sprawdzamy, czy wysylane zmienne w formularzu nie sa puste.
  8. if ( ! empty( $_POST['password'] ) )
  9. {
  10. // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  11. if($_POST['password'] == $haslo && $_POST['login'] == $nick){  
  12.  
  13. // tworzymy zmienna sesyjna
  14. $_SESSION['prezenterlogin'] = '1';
  15. //session_register('zalogowany');
  16. print("<table cellpad="0" cellspace="0" border="0" align="center" width="100%"><tr><td bgcolor="#00ff00"><p><b><div class="big" align="center">Zostałeś zalogowany jako <b>$login</b></p><p><a href="panel.php"> --->Przejdz do panelu prezentera <---</a></p></div></b></td></tr></table>");
  17. }
  18. else
  19. {
  20. echo 'Podales zly login badz haslo! <a href="index.php"> <-- BACK</a>';
  21. }
  22. }
  23. else
  24. {
  25. echo 'Wprowadz dane do formularza :) <a href="index.php"> <-- BACK</a>';
  26. }
  27. mysql_connect ("$host", "$dbuser", "$dbpass") or die ("BLAD!<br> Nie mozna polaczyc sie z baza danych! Sprawdx czy wpisane&nb 1149 sp;przez Ciebie dane sa poprawne!");
  28. mysql_select_db ("$dbname") or die ("BLAD!<br> Nie mozna odnalezdx bazy danych o nazwie $dbname");
  29.  
  30. $query = "SELECT * FROM ekipa";
  31. $result = mysql_query($query);
  32. while($r = mysql_fetch_array($result)) {
  33. $haslo = $r['haslo'];
  34. $nick = $r['nick'];
  35.  
  36. }
  37. ?>


PLZ HELP!
MacPain
Pobierz zemienne z bazy ($haslo i $nick) zaraz po if ( ! empty( $_POST['password'] ) )
{ i je prownaj z danymi z formularza a nie gdzies tam na koncu kodu.
danielv13
Mógłbyś dać poprawny kod, bo ja nie rozumiem za bardzo co powiedziałeś... Mam taki kod:

  1. <form method="post" action="sprawdz.php">
  2. <div align="center">Login: 
  3. <input type="text" name="login" />
  4. Hasło:
  5. <input type="password" name="password" />
  6. <input type="submit" value="Zaloguj się" />
  7. </div>
  8. </form>
  9. <?php
  10.  
  11. require "../../conf.php";
  12.  
  13.  
  14.  
  15. // najpierw sprawdzamy, czy wysylane zmienne w formularzu nie sa puste.
  16. if ( ! empty( $_POST['password'] ) )
  17. {
  18. mysql_connect ("$host", "$dbuser", "$dbpass") or die ("BLAD!<br> Nie mozna polaczyc sie z baza danych! Sprawdx czy wpisane&nb 1149 sp;przez Ciebie dane sa poprawne!");
  19. mysql_select_db ("$dbname") or die ("BLAD!<br> Nie mozna odnalezdx bazy danych o nazwie $dbname");
  20.  
  21. $query = "SELECT * FROM ekipa";
  22. $result = mysql_query($query);
  23. while($r = mysql_fetch_array($result)) {
  24. $haslo = $r['haslo'];
  25. $nick = $r['nick'];
  26.  
  27. }
  28.  
  29. // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  30. if($_POST['password'] == $haslo && $_POST['login'] == $nick){  
  31.  
  32. // tworzymy zmienna sesyjna
  33. $_SESSION['prezenterlogin'] = '1';
  34. //session_register('zalogowany');
  35. print("<table cellpad="0" cellspace="0" border="0" align="center" width="100%"><tr><td bgcolor="#00ff00"><p><b><div class="big" align="center">Zostałeś zalogowany jako <b>$login</b></p><p><a href="panel.php"> --->Przejdz do panelu prezentera <---</a></p></div></b></td></tr></table>");
  36. }
  37. else
  38. {
  39. echo 'Podales zly login badz haslo! <a href="index.php"> <-- BACK</a>';
  40. }
  41. }
  42. else
  43. {
  44. echo 'Wprowadz dane do formularza :) <a href="index.php"> <-- BACK</a>';
  45. }
  46.  
  47. ?>


i nie działa...
MacPain
Spróbuj tak:
  1. <?php
  2. if (!empty($_POST['password']) && !empty($_POST['login']))
  3. {
  4. $formLogin = $_POST['login'];
  5. $formPass = $_POST['password'];
  6.  
  7. mysql_connect ("$host", "$dbuser", "$dbpass")
  8. or die ("BLAD!<br> Nie mozna polaczyc sie z baza danych! Sprawdx czy wpisane&nb 1149 sp;przez Ciebie dane sa poprawne!");
  9.  
  10. mysql_select_db ("$dbname")
  11.  or die ("BLAD!<br> Nie mozna odnalezdx bazy danych o nazwie $dbname");
  12.  
  13. $query = "SELECT haslo FROM ekipa where haslo = ".$formPass."";
  14. $result = mysql_query($query);
  15. while($r = mysql_fetch_array($result)) {
  16. $haslo = $r['haslo'];
  17. $nick = $r['nick'];
  18.  
  19.  // jezeli nie dokonujemy sprawdzenia poprawnosci loginu i hasla
  20. if($formPass == $haslo && $formLogin == $nick){  
  21.  
  22. // tworzymy zmienna sesyjna
  23. $_SESSION['prezenterlogin'] = '1';
  24. //session_register('zalogowany');
  25. print("<table cellpad="0" cellspace="0" border="0" align="center" width="100%"><tr><td bgcolor="#00ff00"><p><b><div class="big" align="center">Zostałeś zalogowany jako <b>$login</b></p><p><a href="panel.php"> --->Przejdz do panelu prezentera <---</a></p></div></b></td></tr></table>");
  26. }
  27. else
  28. {
  29. echo 'Podales zly login badz haslo! <a href="index.php"> <-- BACK</a>';
  30. }
  31. }
  32. }
  33. else
  34. {
  35. echo 'Wprowadz dane do formularza :) <a href="index.php"> <-- BACK</a>';
  36. }
  37. ?>
danielv13
Parse error: parse error in c:\usr\krasnal\www\........\sprawdz.php on line 37 :/ Nikt nie rozwiąże?
MacPain
Spróbuj ten kod jeszcze raz poprawilem go.
danielv13
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\...\sprawdz.php on line 19

Poprawiłem dałem przed "@" i... nic się nie pokazuje :/
MacPain
Błąd tkwi w zaptaniu spróbuj zamienić ".$formPass." na '$formPass'.
danielv13
Podales zly login badz haslo! <-- BACK Podales zly login badz haslo! <-- BACK

sadsmiley02.gif
MacPain
To moze tak
  1. <?php
  2. if(isset($_POST['password']) && !empty($_POST['password']) && isset($_POST['login']) && !empty($_POST['login']))
  3. {
  4. $haslo = ($_POST['password']);
  5.  
  6. //laczenie z baza
  7.  
  8. $wynik=mysql_query("SELECT * FROM ekipa WHERE haslo='$haslo'");
  9. if(!$wynik) echo "Zapytanie nie możę być wykonane!";
  10. if (mysql_num_rows($wynik) > 0) 
  11. {
  12. //zakladasz sesje
  13. }
  14. else
  15. {
  16. echo "haslo nie istnieje w bazie";
  17. }
  18. }
  19. else
  20. {
  21. echo "nie wypelniles wszystkich pol";
  22. }
  23. ?>
danielv13
haslo nie istnieje w bazie

Kurde musze to mieć na dzisiaj! :/ Jak ktoś pomoże to będę baardzo wdzięczny!! PLZ.. sadsmiley02.gif
MacPain
U mnie dziala sprobuj jeszcze raz masz wogole cos w tej bazie moze hasla sa zapisane w md5 albo w sha1.
danielv13
Ło k#%$@ działa! smile.gif
Thx wieeeeelkie ;]
Nie dam Ci buziola po pomyślą że jestem teletubiś haha.gif
MacPain
Może być zimny browarek aaevil.gif heheheh
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.