Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Poprawne wysłanie formularza z przeładowaniem/ niepoprawne bez
BienuSS
post 21.09.2018, 16:49:18
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

Ostrzeżenie: (10%)
X----


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. ?>


Go to the top of the page
+Quote Post
nospor
post 21.09.2018, 16:53:33
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




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?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
BienuSS
post 21.09.2018, 16:54:48
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

Ostrzeżenie: (10%)
X----


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 ?

Ten post edytował BienuSS 21.09.2018, 16:59:27
Go to the top of the page
+Quote Post
Pyton_000
post 21.09.2018, 16:59:22
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


a networking?
Go to the top of the page
+Quote Post
BienuSS
post 21.09.2018, 17:00:58
Post #5





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

Ostrzeżenie: (10%)
X----


Networking czyli o co dokładnie ci chodzi ?
Go to the top of the page
+Quote Post
Pyton_000
post 21.09.2018, 17:02:24
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Zakładka Network obok Console
Go to the top of the page
+Quote Post
BienuSS
post 21.09.2018, 17:03:28
Post #7





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

Ostrzeżenie: (10%)
X----


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

Ten post edytował BienuSS 21.09.2018, 17:20:11
Go to the top of the page
+Quote Post
Pyton_000
post 21.09.2018, 17:18:29
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Chcesz powiedzieć że jako odpowiedź na twój Ajax Request w konsoli Network jako response widzisz JSON z Success?
Go to the top of the page
+Quote Post
BienuSS
post 21.09.2018, 17:21:37
Post #9





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

Ostrzeżenie: (10%)
X----


Nie, widze status 200 z xhr....
Go to the top of the page
+Quote Post
Pyton_000
post 21.09.2018, 17:31:19
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Masz zobaczyć reponse z tego requesta bo będziesz tam miał błędy
Go to the top of the page
+Quote Post
BienuSS
post 21.09.2018, 17:33:43
Post #11





Grupa: Zarejestrowani
Postów: 152
Pomógł: 0
Dołączył: 3.11.2017

Ostrzeżenie: (10%)
X----


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

Ten post edytował BienuSS 22.09.2018, 11:13:37
Go to the top of the page
+Quote Post
rad11
post 22.09.2018, 19:13:06
Post #12





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


https://css-tricks.com/form-validation-part...alidation-html/
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: 29.03.2024 - 00:42