Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Poprawne wysłanie formularza z przeładowaniem/ niepoprawne bez
Forum PHP.pl > Forum > Przedszkole
BienuSS
Witam.
Mam problem taki, że formularz działa jak należy bez
  1. event.preventDefault();


natomiast gdy już to dodam to nie zmienia mi sie nic w bazie sad.gif

O to kod:

  1.  
  2. jQuery(function ($) { // a
  3. $(".logowanie").submit(function (event) {
  4. // b i c
  5. event.preventDefault();
  6. var method = this.method;
  7. var url = this.action;
  8. var data = $(this).serialize();
  9.  
  10.  
  11.  
  12. $.ajax({ // f
  13. type: "POST",
  14. url: "logowanie.php",
  15. data: data,
  16. dataType: "json",
  17.  
  18. success: function(){
  19.  
  20. header("Location: user.php");
  21.  
  22. },
  23.  
  24. error: function() {
  25. $('.error').fadeIn(200).show();
  26. }
  27.  
  28.  
  29. });
  30.  
  31. });
  32. });
  33.  



i formularz :

  1. <?php
  2.  
  3. require("Db.class.php");
  4. $db = new Db();
  5.  
  6.  
  7. if (isset($_POST['loguj']))
  8. {
  9. $login = $_POST['login'];
  10. $haslo = $_POST['haslo'];
  11. $ip = $_SERVER['REMOTE_ADDR'];
  12.  
  13.  
  14. $db->bind("login", $login);
  15. $db->bind("haslo", md5($haslo));
  16. $loginhaslo =$db->single("SELECT COUNT(*) FROM uzytkownicy WHERE login = :login AND haslo = :haslo ");
  17.  
  18.  
  19. if ($loginhaslo > 0)
  20.  
  21. {
  22.  
  23. $update = $db->query("UPDATE uzytkownicy SET logowanie=:logowanie WHERE login=:login",
  24. array("logowanie"=> time() ,"login"=>$login ));
  25.  
  26. $update2 = $db->query("UPDATE uzytkownicy SET ip=:ip WHERE login=:login",
  27. array("ip"=> $ip ,"login"=>$login ));
  28.  
  29.  
  30. $_SESSION['zalogowany'] = true;
  31. $_SESSION['login'] = $login;
  32.  
  33.  
  34. $response_array['status'] = 'success';
  35.  
  36. echo json_encode($response_array);
  37.  
  38. }
  39.  
  40. else
  41. {
  42.  
  43. }
  44.  
  45. }
  46.  
  47. ?>


nospor
bez tego ci sie poprostu wysyla formularz normalnie.
Z tym zas przejrzyj console bledow js oraz konsole network. Tyle bledow w tak malym kodzie.... Przenosze


header("Location: user.php");
Tak na powaznie wkladasz od tak sobie kod php w kod js?
BienuSS
To zapomniałem akurat usunąć bo było w formularzu ale jak dodałem succes i error do ajaxa to juz nie działało

konsola nic nie pokazuje

O jakie błedy chodzi ci konkretnie, jak mozna ?
Pyton_000
a networking?
BienuSS
Networking czyli o co dokładnie ci chodzi ?
Pyton_000
Zakładka Network obok Console
BienuSS
Wszystko poprawnie, ale dane w bazie i tak sie nie aktualizuja sad.gif

EDIT
jak usunąłem:

(isset($_POST['loguj']))

to zaczeło aktualizować baze ale dalej wykonuje polecenie z error
Pyton_000
Chcesz powiedzieć że jako odpowiedź na twój Ajax Request w konsoli Network jako response widzisz JSON z Success?
BienuSS
Nie, widze status 200 z xhr....
Pyton_000
Masz zobaczyć reponse z tego requesta bo będziesz tam miał błędy
BienuSS
tak dokładnie to sie wyświetla :\
  1. {"status":"success"}


EDIT dobra naprawiłem, co głównie zrobiłem to zamiana success i error na done i fail oraz wywalenie tego co wczesniej pisałem isset

A żeby nie tworzyć nowego postu, jak można zrobić takie dodatkowe okienko przy formularzu że email jest wpisany w złym formacie albo hasło jest za krótkie ? Chodzi mi o sam dymek nie o pattern
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.