Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > PHP
boosik01
Witam! Próbuje zrobiź skrypt logowania, taki prosty byle był ; ))

O to on:

  1. <?php
  2.  
  3. include ('baza.php');
  4. if(isset($_POST['ok']) AND isset($_POST['user']) AND isset($_POST['haslo'])){
  5. $user = $_POST['user'];
  6. $haslo = md5($_POST['haslo']);
  7. $mysql = mysql_fetch_array(mysql_query("select `id` from `users` where `user` = '$user' AND `haslo` = '$haslo' limit 1"));
  8. if(isset($mysql['id'])){
  9. $_SESSION["user"] = $user;
  10. header("Location: main.php");
  11. }
  12. else {
  13. echo 'Wystąpił błąd podczas logowania!';
  14. }
  15. }
  16. else {
  17. ?>
  18. <form action='' method='POST'>
  19. Login: <input type='text' name='user'>
  20. Hasło: <input type='password' name='haslo'>
  21. <input type='submit' name='ok' value='Zaloguj'>
  22. </form><br><br>
  23. <a href="rejestracja.php">Rejestracja</a>
  24. <?php
  25. }
  26. ?>


Tyle że po nacisknięciu loguj strona tylko się odświeża. Hmm... może ktoś wie co tu jest nie tak że tylko strona się odświeża.
Fifi209
Zamiast AND w ifach daj &&
boosik01
Nic nie daje ;((

Musze troche uściślić:

Po kliknięciu w loguj przechodzi mi tak jakby do main.php lecz nadal jest ten formularz logowania i nic więcej ;/;/
erix
Cytat
Zamiast AND w ifach daj &&

...

  1. if(isset($mysql['id'])){

Sprawdź sobie, co masz w tej tablicy. Poza tym, skrypt podatny na SQLInjection.
boosik01
No co mam w tej tablicy ? id ;p
drPayton
A czy ten plik, którego kod wkleiłeś to właśnei ten main.php? Bo jeśli tak, to za wyjątkiem tego co napisał @erix działa poprawnie...
thek
Podłaczę się do wypowiedzi... Jeśli main.php i kod jaki nam pokazałeś to ten sam plik to nie ma się czemu dziwić smile.gif Logujesz się i owszem, ale przekierowujesz na ten sam plik, więc pokaże on to, co powinien pokazać:) Wrzuć do location inny i sprawdź czy Cię na właściwy przekieruje. Poza tym do pól można wstawić co się chce. Jeśli więc wstawię tam spreparowane zapytanie do bazy to będzie jazda. Mogę też jako login podstawić sobie kod php lub html i też będziesz miał na stronie jazdę winksmiley.jpg Zapoznaj się z tematami o bezpieczeństwie bo strona w necie Ci nie pożyje długo winksmiley.jpg

@fifi: AND i && to jedno i to samo smile.gif Po prostu inny zapis :]
Tak samo jak if(warunek) {instrukcja} else {instrukcja} jest równoważne (warunek) ? {instrukcja} : {instrukcja}
Tak przy okazji... Jest różnica w działaniu między & i && więc lepiej się nie pomylić winksmiley.jpg

Mi się wydaje, że może baza zwracać false, a tego nie przewidujesz wcale, gdyż od razu mysql_query walisz do mysql_fetch co w takim wypadku sypać będzie błędem. A jeśli display error masz na false to widzisz pustą stronę.
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.