Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql]logowanie
Forum PHP.pl > Forum > PHP
noc_nik
Panowie gdzie robie błąd bo juz wysiadam !:


  1. <?php
  2. $uzytkownik = $_POST['uzytkownik'];
  3. $haslo = $_POST['haslo'];
  4.  
  5. if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))
  6. {
  7. //uzytkownik musi podac login i haslo
  8. echo" <form method=\"post\" action=\"index.php\">
  9. <input type=\"text\" name=\"uzytkownik\">
  10. <input type=\"password\" name=\"haslo\">
  11. <input type=\"submit\" value=\"zaloguj\">
  12. </form>
  13.  
  14.  
  15.  
  16. ";
  17.  
  18. }
  19.  
  20. else
  21. {
  22. //połącz sie z msql
  23. $mysql = mysql_connect ('localhost','root','krasnal');
  24. if(!$mysql)
  25. {
  26. echo"brak połączenia z bazą danych";
  27. }
  28.  
  29. //wybranie właściwej bazy danych
  30. $wybrana = mysql_select_db ('uwierz', $mysql);
  31. if(!$wybrana)
  32. {
  33. echo"błąd wyboru bazy danych";
  34. }
  35.  
  36. //znajdz pasujący wiersz 
  37. $zapytanie ="select count(*) from uwierzytelnieni_urzytkownicy where
  38. uzytkownik = '$uzytkownik' and
  39. haslo = '$haslo'";
  40.  
  41. $wynik = mysql_query ( $zapytanie , $mysql );
  42. if(!$wynik);
  43. {
  44. echo'nie mozna wykonac zapytania';
  45. }
  46. $wiersz = mysql_fetch_row ( $wynik );
  47. $ile = $wiersz[0];
  48.  
  49. if ( ile > 0 )
  50. {
  51. //podanie kombinacji loginu i hasla jest prawidlowa
  52.  
  53.  
  54.  
  55.  
  56. echo'login ok tekst';
  57.  
  58.  
  59.  
  60.  
  61. }
  62. else
  63. {
  64. //kombinacja dostepu i hasla jest nieprawidlowa
  65. echo"odejdz z tąd";
  66. echo"nie jestes uprawniony do przeglądnia tych zasobów";
  67. }
  68. }
  69. ?>



  1. --
  2. -- Baza danych: `uwierz`
  3. --
  4.  
  5. -- --------------------------------------------------------
  6.  
  7. --
  8. -- Struktura tabeli dla `uwierzytelnieni_urzytkownicy`
  9. --
  10.  
  11. CREATE TABLE `uwierzytelnieni_urzytkownicy` (
  12. `uzytkownik` varchar(20) NOT NULL DEFAULT '',
  13. `haslo` varchar(40) NOT NULL DEFAULT '',
  14. `prawa` char(1) NOT NULL DEFAULT '',
  15. `imie` varchar(20) NOT NULL DEFAULT '',
  16. `nazwisko` varchar(20) NOT NULL DEFAULT '',
  17. PRIMARY KEY (`uzytkownik`)
  18. ) TYPE=MyISAM;
Fixus
a w czym jest problem?
noc_nik
wyskakuje mi "nie mozna wykonac zapytania"
czyli nie wiem o co chodzi juz
John
  1. <?php
  2. $zapytanie ="select count(*) from uwierzytelnieni_urzytkownicy where
  3. uzytkownik = '$uzytkownik' and
  4. haslo = '$haslo'";
  5.  
  6. $wynik = mysql_query ( $zapytaie , $mysql );
  7. ?>


$zapytanie

mysql_query($zapytaie,$mysql)

literówka ;-)
noc_nik
hmmm sad.gif nadal nie to poprawiłem i to samo nic .
John
cóż po testowałem to u siebie i zapytanie to on wykonuje, ale wygląda na to,że zapytanie
  1. SELECT COUNT
zwyczajnie nie zwraca żadnego wyniku proponuje wobec tego metodę zastępczą.
  1. <?php
  2. $zapytanie = "select * from tabela where komorka=wartosc";
  3. $wynik = mysql_query($zapytanie);
  4. $ilosc = mysql_num_rows($wynik);
  5. if($ilosc > 0) {
  6.  
  7. echo 'zaloguj';
  8. } else {
  9.  
  10. echo 'nie ma';
  11. }
  12. ?>
Hazel
Spróbuj z:
  1. <?php
  2. $wynik = mysql_query($zapytanie)
  3. ?>


Wyrzuć drugi parametr funkcji mysql_query - u mnie kiedyś przez to nie działało również, wiec masz jakąś tam szansę, że właśnie o to chodzi.
John
Cytat(Hazel @ 20.01.2008, 15:51:00 ) *
Spróbuj z:
  1. <?php
  2. $wynik = mysql_query($zapytanie)
  3. ?>


Wyrzuć drugi parametr funkcji mysql_query - u mnie kiedyś przez to nie działało również, wiec masz jakąś tam szansę, że właśnie o to chodzi.


próbowałem u siebie nie działa, on wykonuje zapytanie tylko nie zwraca żadnych jego efektów.
Hazel
mysql_error" title="Zobacz w manualu PHP" target="_manual używasz?
Bardzo przydatna funkcja...
John
wykonałem to zapytanie bezpośrednio w MySQL'u i zapytanie jest sformułowane poprawnie a także spełnia swoje zadanie, ale bezpośrednio w mysql nie zwraca zaś wyniku, który możesz zaaportować.

Tak więc na co mi mysql_error skoro nie było błędów powiesz mi ?
noc_nik
Panowie ten problem rozwiązałem już dawno dzięki waszej pomocy za którą bardzo dziękuje ale teraz mam problem bo mnie wylogowywuje jak zrobić zebym po wybraniu np index.php i kliknieciu enter nie pokazywalo sie haslo ?


  1. <?php
  2. $uzytkownik = $_POST['uzytkownik'];
  3. $haslo = $_POST['haslo'];
  4.  
  5. if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))
  6. {
  7. //uzytkownik musi podac login i haslo
  8. echo" <form method=\"post\" action=\"index.php\">
  9. <input type=\"text\" name=\"uzytkownik\">
  10. <input type=\"password\" name=\"haslo\">
  11. <input type=\"submit\" value=\"zaloguj\">
  12. </form>
  13.  
  14.  
  15.  
  16. ";
  17.  
  18. }
  19.  
  20. else
  21. {
  22. //połącz sie z msql
  23. $mysql = mysql_connect ('localhost','root','krasnal');
  24. if(!$mysql)
  25. {
  26. echo"brak połączenia z bazą danych";
  27. }
  28.  
  29. //wybranie właściwej bazy danych
  30. $wybrana = mysql_select_db ('uwierz', $mysql);
  31. if(!$wybrana)
  32. {
  33. echo"błąd wyboru bazy danych";
  34. }
  35.  
  36. //znajdz pasujący wiersz 
  37.  
  38. $zapytanie = "select * from uwierzytelnieni_urzytkownicy where 
  39. uzytkownik = '$uzytkownik' and
  40. haslo = '$haslo'";
  41. $wynik = mysql_query($zapytanie);
  42. $ilosc = mysql_num_rows($wynik);
  43. if($ilosc > 0) {
  44.  
  45.  
  46.  
  47. //podanie kombinacji loginu i hasla jest prawidlowa
  48.  
  49.  
  50. echo"strona ok !";
  51.  
  52. } else {
  53.  
  54. echo 'nie ma';
  55. }
  56. }
  57. ?>
dtulacz
Zeby Cie nie wylogowalo, musisz użyć sesji o ile się nie my i potem możesz zastosować coś na wzór:
<?php
if(isset($_SESSION['zalogowany']) && $_SESSION['zalogowany']==1) { include 'naglowek_log.php'; } else { include 'naglowek.php'; }
?>
noc_nik
Panowie zrobiłem sobie index.php?go=1 index.php?go=1 i jak przechodze miedzy dzialami to za kazdym razem i wyskakuje panel zaloguj sie!!
  1. <?php
  2. if(isset($_SESSION['zalogowany']) && $_SESSION['zalogowany']==1) { include 'naglowek_log.php'; } else { include 'naglowek.php'; }
  3. ?>


zupełnie nic z tego nie rozumiem co ma sie znajdowac w naglowek.php gdzie mam to wkleic questionmark.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.