Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Irytujący problem z if'em..
pawel5251
post 31.10.2017, 22:59:52
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


Witam , mam mały dość irytujący problem z if'em , mianowicie odbieram wartości od ajaxa ze skryptow php i robie sprawdzenie aby wstawic odpowiednie wartosci w diva pomimo spelnienia warunku if wywala zawsze else. Robilem debug w konsoli i poprzez alert.

if (msg === "zalogowano") {
$("#login-message").html('<div class="alert alert-success">Zalogowano pomyślnie!</div>');
} else {
$("#login-message").html('<div class="alert alert-danger">Niepoprawne dane logowania bądź konto nie zostało jeszcze aktywowane!</div>');
}

Pomimo tego że w konsoli widnieje "zalogowano" to i tak dostaje else. Ma ktoś jakiś pomysł ? Z góry dzięki smile.gif

Ten post edytował pawel5251 31.10.2017, 23:01:18
Go to the top of the page
+Quote Post
trueblue
post 31.10.2017, 23:08:16
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


A nie umieszczasz czasem tego warunku poza wywołaniem Ajaxa? Czyli nie wywołuje się kiedy żądanie ajaxowe odniesie sukces, lecz poza nim.


--------------------
Go to the top of the page
+Quote Post
pawel5251
post 31.10.2017, 23:28:58
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


Nie , ajax dostaje odpowiedź od skryptu php i w funkcji success mam to sprawdzenie i tylko tam

To wygląda dosłownie tak jak by if nie ogarniał że ma spełniony warunek jak dla mnie

Ten post edytował pawel5251 31.10.2017, 23:32:21
Go to the top of the page
+Quote Post
viking
post 31.10.2017, 23:49:21
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


W linii przed ifem daj console.log(msg) i podaj wynik.


--------------------
Go to the top of the page
+Quote Post
pawel5251
post 1.11.2017, 09:44:41
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


Tak jak już mówiłem, jak dam console.log przed ifem to dostaje z php poprawne wartości albo success albo error w zależności od tego czy podalem poprawne dane logowania czy nie. Tak samo po warunkach console log ma dobre wartości , cos jest nie tak w samym if'ie czego totalnie nie ogarniam
Go to the top of the page
+Quote Post
viking
post 1.11.2017, 09:48:24
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Wklej te wartości albo daj screena.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 1.11.2017, 09:48:31
Post #7





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


A wartość msg nie ma czasem spacji lub jakiegoś białego znaku?


--------------------
Go to the top of the page
+Quote Post
pawel5251
post 1.11.2017, 20:32:06
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


loginController.php
  1. class formController{
  2.  
  3. public static function userLogin($userLogin,$pass){
  4. $userPass= sha1(md5($pass));
  5.  
  6. $dbcon = pageController::dbcon();
  7.  
  8. mysqli_set_charset($dbcon,"utf8");
  9.  
  10. $checkLogin = $dbcon->query("SELECT * FROM users WHERE login='$userLogin' AND password = '$userPass'");
  11.  
  12. if($checkLogin->num_rows==1){
  13. $_SESSION['loggedIn'] = $userLogin;
  14. return "zalogowano";
  15.  
  16. }
  17. else{
  18. return "error";
  19. }
  20.  
  21. }
  22.  
  23. public static function userRegister(){
  24.  
  25. }
  26.  
  27. public static function userPassForgot(){
  28.  
  29. }
  30. }
  31.  
  32. ?>


handler.php
  1. <?php
  2.  
  3. require_once($_SESSION['maindir']. 'controller\loginController.php');
  4. include_once($_SESSION['maindir']. 'controller\engineController.php');
  5. $lrc = new formController();
  6.  
  7. if($_POST['form']=='loguj'){
  8. echo $lrc->userLogin($_POST['login'],$_POST['haslo']);
  9. }
  10.  
  11. ?>


Screen ze strony po kliknięciu w zaloguj :



console.log przed if'em , alert w else

lepsza rozdzielczosc zdjecia : https://image.ibb.co/mQNAAw/Przechwytywanie.png

Ten post edytował pawel5251 1.11.2017, 20:33:13
Go to the top of the page
+Quote Post
trueblue
post 1.11.2017, 20:52:14
Post #9





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Wygląda na to, że jednak wpuszczasz biały znak - enter przed stringiem.


--------------------
Go to the top of the page
+Quote Post
pawel5251
post 1.11.2017, 20:59:33
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


A możesz jeszcze wytłumaczyć w którym miejscu go wpuszczam ? Bo ja tego ni cholery nie ogarniam
Go to the top of the page
+Quote Post
trueblue
post 1.11.2017, 21:03:01
Post #11





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Tego nie wiem, ale jeśli w konsoli nic więcej drukujesz, to tak to wygląda.
Pokaż dla pewności wynik w konsoli z:
  1. console.log(JSON.stringify(msg));


Ten post edytował trueblue 1.11.2017, 21:03:13


--------------------
Go to the top of the page
+Quote Post
pawel5251
post 1.11.2017, 21:06:50
Post #12





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


Faktycznie wstawia \r\n przed zalogowano tylko nie mam pojęcia dlaczego



Lepsza rozdzielczosc : https://image.ibb.co/bVn8fw/Przechwytywanie.png

Go to the top of the page
+Quote Post
trueblue
post 1.11.2017, 21:11:48
Post #13





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


W pliku handler.php lub innym masz prawdopodobnie enter przed otwarciem <?php


--------------------
Go to the top of the page
+Quote Post
pawel5251
post 1.11.2017, 21:28:02
Post #14





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


Problem w tym że właśnie w żadnym z plików includowanych i używanych w logowaniu nie ma entera przed rozpoczęciem znaczników php ale nadal szukam gdzie mogl sie wcisnac ten enter
Go to the top of the page
+Quote Post
Pyton_000
post 1.11.2017, 21:37:46
Post #15





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

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


przenos session_start() po każdym include i odpalaj skrypt. Jak dostaniesz błąd że headers sent to szukaj w tym pliku

PS. W plikach PHP nie zaleca się zamykania plików przez ?> (właśnie przez to m.in mogą pojawiać się takie kwiatki smile.gif
Go to the top of the page
+Quote Post
pawel5251
post 1.11.2017, 21:40:16
Post #16





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.01.2016

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


Kolega wyżej zniszczył mi mózg , usunięcie zakmnięć ?> rozwiązało problem. Do zamknięcia , koledze browara stawiam
Go to the top of the page
+Quote Post
Pyton_000
post 1.11.2017, 21:44:20
Post #17





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

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


Ja chyba w stopkę zacznę wypisywać kto mi borwary wisi biggrin.gif

Spoko że pomogło. Czasami banalne rozwiązania daja najwięcej.
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: 26.04.2024 - 14:08