Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Panel Administracyjny
Forum PHP.pl > Forum > PHP
Mazur_pl
Próbuje zrobić panel administracyjny oparty o sesje itp ale na razie mam taki problem:
  1. <?php
  2.  
  3. define("db_host", "localhost");
  4. define("db_user", "Mazur");
  5. define("db_password", " ");
  6. define("db_name", "opt");
  7.  
  8. if($_POST['name'] && $_POST['password']) {
  9.  
  10. //Login i password
  11. $name = $_POST['name'];
  12. $password = $_POST['password'];
  13.  
  14. //Przygotowanie zapytania
  15. $query = "SELECT * FROM user WHERE login = "$name" AND haslo = "$password"";
  16.  
  17. //Polaczenie z baza danych mySQL
  18. $connect = mysql_connect(db_host);
  19. //Wybór bazy danych
  20. mysql_select_db(db_name);
  21.  
  22. //Wykonanie zapytania
  23. $result = mysql_query($query);
  24. //Jezeli zalogowano
  25. if ($row = mysql_fetch_array($query)) {
  26. echo("Zalogowany");
  27. } else { //Blad logowania
  28. echo("Blad logowania.");
  29. }
  30. mysql_close($connect);
  31. } else {
  32. echo"<form action="admin.php" method="POST">rn";
  33. echo"Login: <input type="text" name="name"><br />rn";
  34. echo"Haslo: <input type="password" name="password"><br />rn";
  35. echo"<input type="submit" value="Zaloguj"><br />rn";
  36. echo"</form>rn";
  37. }
  38.  
  39.  
  40. ?>

Kiedy sie zaloguje używając obojętnie jakich passów mam :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .\test\admin.php on line 25
Blad logowania.

O co tutaj chodzi ? Próbowałem już na 10 sposobów ale nie mogę dojść czemu tak mam sad.gif .
wojtekwro
nie znam php na tyle by wyszukiwać blędy w czyiś skryptach ale przerabiałem pare dni temu sesje. Poniżej zamieszcze Ci cały kod który wykonuje mi logowanie, ja dodatkowo sprawdzam u siebie czy konto jest aktywne , zabezpieczy mnie to przed użytkownikami których musiałem "usunąć" poprostu wpis w tabeli 0 i już a na stronce sprawdzamy sesje czy aktywny i jest git.

  1. <?php
  2. // odbieranie danych z formularza
  3. $login = $_POST['login'];
  4. $haslo = $_POST['haslo'];
  5. $imie = $_POST['imie'];
  6. // polaczenie z BD
  7. $connection = @mysql_connect('127.0.0.1', 'root', '')
  8. or die('Nie można nawiązac połączenia z bazą danych');
  9. /// wybór bazy
  10. //wykonujemy zapytanie ;)
  11. $sql = "SELECT * FROM userzy WHERE aktywny='1' AND login = '".$_POST['login']."' AND haslo = '".$_POST['haslo']."'";
  12. $wyn = @mysql_query($sql) or die(mysql_error());
  13. if (mysql_num_rows($wyn) == 1) 
  14. {
  15. $_SESSION['LOGGED'] = "TRUE";
  16. $dane=mysql_fetch_array($wyn);
  17. $_SESSION['login']=$dane['login'];
  18. $_SESSION['imie']=$dane['imie'];
  19. $_SESSION['01']=$dane['01'];
  20. header('Location: mainindex.php');
  21. }else
  22. {
  23. echo('Podales bledne dane lub twoje konto jest nieaktywne.<br> <a href="index.php">Spróbuj ponownie</a>');
  24. } 
  25. ?>
Mazur_pl
Dzięki, nie wiem czy dobrze zrobiłem ale:
  1. <?php
  2.  
  3. define("db_host", "localhost");
  4. define("db_user", "Mazur");
  5. define("db_password", "damian");
  6. define("db_name", "opt");
  7.  
  8. if($_POST['name'] && $_POST['password']) {
  9.  
  10. //Login i password
  11. $name = $_POST['name'];
  12. $password = $_POST['password'];
  13.  
  14. //Przygotowanie zapytania
  15. $query = "SELECT * FROM user WHERE login = "$name" AND haslo = "$password"";
  16.  
  17. //Polaczenie z baza danych mySQL
  18. $connect = mysql_connect(db_host);
  19. //Wybór bazy danych
  20. mysql_select_db(db_name);
  21.  
  22. //Wykonanie zapytania
  23. $result = mysql_query($query);
  24. //Jezeli zalogowano
  25. if ($row = mysql_fetch_array($query)) {
  26. //Sesje
  27. $_SESSION['LOGGED'] = "TRUE";
  28. $_SESSION['name'] = $dane['name'];
  29. $_SESSION['password'] = $dane['password'];
  30. //Reszta
  31. echo("Zalogowany");
  32. } else { //Blad logowania
  33. echo("Blad logowania.");
  34. }
  35. mysql_close($connect);
  36. } else {
  37. echo"<form action="admin.php" method="POST">rn";
  38. echo"Login: <input type="text" name="name"><br />rn";
  39. echo"Haslo: <input type="password" name="password"><br />rn";
  40. echo"<input type="submit" value="Zaloguj"><br />rn";
  41. echo"</form>rn";
  42. }
  43.  
  44.  
  45. ?>
Cysiaczek
Ehh. Bład masz tu:

  1. <?php
  2. //Wykonanie zapytania
  3. $result = mysql_query($query);
  4. //Jezeli zalogowano
  5. if ($row = mysql_fetch_array($query)) { // <<< TU
  6. ?>


Zamień $query na $result, bo na "fetchować" musisz wyniki zapytania, a nie samo zapytanie.
Pozdrawiam.
Mazur_pl
Już sobie poradziłem smile.gif .
Mam pytanie, jak zrobić aby zapamiętywało sesje i można się wylogować? tongue.gif
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.