Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dane z formularzy- PROBLEM
Bibop
post 10.12.2005, 17:33:57
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 10.12.2005

Ostrzeżenie: (0%)
-----


Witam,

mam pewien problem z przetwarzaniem informacji wprowadzonych przez uzytkownika. Chodzi o formularz autoryzacji uzytkownikow.
Problem jest taki:
Mam dwa pliki. Jeden to plik formularza, drugi sprawdza dane w bazie. Niestety wprowadzone dane (niewazne czy GET czy POST) nie znajduja sie w zmiennych - zmienne sa po prostu puste - i wszystko sie wysypuje. Jezeli wpisze w pliku sprawdzajacym do zmiennych login i haslo jakies wartosci to wszystko dziala poprawnie.
Moze to jakies bledy w konfiguracji ? Apache, php i MySQL sa z pakietu FoxServ i nic nie zmienialem w pliku konfiguracyjnym Apacha.
Ponizej sa te dwa pliki.

Plik form_log.php
  1. <?php
  2.  
  3. <form action="loguj.php" method="POST">
  4. Login: <input type=text name="login" value=""><br>
  5. Haslo: <input type=password name="haslo" value=""><br>
  6. <input type=submit value="Zaloguj">
  7. </form>";
  8.  
  9. ?>


plik loguj.php
  1. <?php
  2.  
  3. # Dane potrzebne do polaczenia sie z baza i wybraniu odpowiedniej tabeli
  4. $host="localhost";
  5. $user="Bibop";
  6. $pass="";
  7. $baza="forum";
  8. $tabela="uzytkownicy";
  9.  
  10.  
  11. # Sprawdzanie czy w zmiennych sa jakies wartosci
  12. if ($haslo==TRUE AND $login==TRUE)
  13. {
  14.  
  15. # Laczymy sie z baza MySQL
  16. @mysql_connect ("$host", "$user", "$pass") or die ("Nie mozna polaczyc sie z baza");
  17.  
  18. # Wybieramy baze forum
  19. @mysql_select_db ("$baza") or die ("Nie mozna wybrac bazy");
  20.  
  21. # Tworzymy zapytanie sprawdzajace w tabeli uzytkownicy czy wpisane dane sie w ni
    ej znajduja
  22. $zapytanie = "SELECT login FROM $tabela WHERE login='$login' AND haslo='$haslo'";
  23.  
  24. # Wynik naszego zapytania 
  25. $wynik = mysql_query($zapytanie);
  26.  
  27. # Jezeli zwrocona wartosc jest rozna od 1 to wyswietlony jest komunikat o nieist
    niejacym uzytkowniku
  28. if (mysql_num_rows($wynik)!=1)
  29. {
  30. print ("Przykro mi ale $login nie istnieje w bazie, lub podane haslo jest niepopraw
    ne.<BR>"
    );
  31. print ("Sprobuj ponownie <a href="form_log.php">Powrot</a>");
  32. print ("<br>");
  33. }
  34.  
  35. # Jezeli wszystko jest poprawne, wyswietlane jest powitanie
  36. else
  37. {
  38. print ("witaj $login");
  39. }
  40. }
  41.  
  42. # Wyswietla informacje, ze ktoras z danych nie zostala wprowadzona
  43. else
  44. {
  45. print ("Cos jest nie tak<BR>");
  46. print ("Sprobuj ponownie <a href="form_log.php">Powrot</a>");
  47. }
  48.  
  49. ?>


Z gory dziekuje za pomoc.

Pozdrawiam,
Bibop
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mike
post 10.12.2005, 17:40:18
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Masz wyłączone registre_globals

Powninieneś szukać zmiennych z formularza w tablicach suberglobalnych $_POST i @_GET
Go to the top of the page
+Quote Post
lukas1
post 10.12.2005, 17:43:54
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.11.2005

Ostrzeżenie: (0%)
-----


może są wyłączone zmienne globalne.
W pliku loguj.php zamiast:

if ($haslo==TRUE AND $login==TRUE)

zastosuj:

if ($_POST['haslo']==TRUE AND $_POST['login']==TRUE)

i powinno być ok smile.gif
Go to the top of the page
+Quote Post
Bibop
post 10.12.2005, 17:50:25
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 10.12.2005

Ostrzeżenie: (0%)
-----


WIELKIE DZIEKI, DZIALA
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 05:33