Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery][MySQL][PHP]Sprawdzanie czy użytkownik istnieje
konradinho
post 30.06.2010, 16:41:13
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 4.12.2009

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


Witam.

Ostatnio próbowałem robić walidację formularza w "locie". Ze wszystkimi polami poradziłem sobie oprócz jednego. Chodzi i pole "login". Chce sprawdzić w locie czy istnieje użytkownik o nazwie podanej w formularzu. Mianowicie:

Do sprawdzania używam tego skryptu:
http://www.position-absolute.com/articles/...tion-is-a-mess/

Znajduje się tam pliczek:
validateUser.php

Po zmianach wygląda on tak:

  1. <?php
  2.  
  3. $con = mysql_connect("***", "***", "");
  4.  
  5. /* RECEIVE VALUE */
  6. $validateValue=$_POST['u_login'];
  7. $validateId=$_POST['u_login'];
  8. $validateError=$_POST['validateError'];
  9.  
  10.  
  11. /* RETURN VALUE */
  12. $arrayToJs = array();
  13. $arrayToJs[0] = $validateId;
  14. $arrayToJs[1] = $validateError;
  15.  
  16. $spr1 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE u_login='$validateValue'"));
  17.  
  18. if($spr1[0] == 0){ // validate??
  19. $arrayToJs[2] = "true"; // RETURN TRUE
  20. echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}'; // RETURN ARRAY WITH success
  21. }else{
  22. for($x=0;$x<1000000;$x++){
  23. if($x == 990000){
  24. $arrayToJs[2] = "false";
  25. echo '{"jsonValidateReturn":'.json_encode($arrayToJs).'}'; // RETURN ARRAY WITH ERROR
  26. }
  27. }
  28.  
  29. }
  30.  
  31. ?>


Input w formularzu rejestracji wygląda tak:

  1. <input type="text" name="u_login" id="u_login" class="validate[required,custom[noSpecialCaracters],ajax[ajaxUser],length[4,15]">


Tutaj znajdują się pliki odpowiedzialne za walidację.

Czytałem trochę o JSON-ie, na serwerze u mnie jest wersja 1.2.1 czyli ta najnowsza. A skrypt dalej nie działa. Po wpisaniu nazwy użytkownika, cały czas wyświetla się informacja: * Loading, please wait

Bardzo proszę o wskazówki.

Pozdrawiam.

Ten post edytował konradinho 30.06.2010, 16:50:46
Go to the top of the page
+Quote Post
smietek
post 30.06.2010, 20:37:05
Post #2





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

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


To prawdopodobnie błąd JSa, jeśli używasz Firefoxa zainstaluj Firebuga i sprawdź czy wyskakują jakieś błędy w konsoli.


--------------------
Go to the top of the page
+Quote Post
konradinho
post 30.06.2010, 20:50:30
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 4.12.2009

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


Cytat
To prawdopodobnie błąd JSa, jeśli używasz Firefoxa zainstaluj Firebuga i sprawdź czy wyskakują jakieś błędy w konsoli.


Konsola pokazuje błąd w linii 311:

  1. 311 if($.validationEngine.settings.allrules[customAjaxRule].alertTextOk){ // NO OK TEXT MEAN CLOSE PROMPT


W pliku:

http://www.position-relative.net/creation/...dationEngine.js

Dwie zmienne do pliku validateUser.php przenosi poprawnie:
  1. validateId u_login
  2. validateValue admin


Natomiast do zmiennej odpowiadającej za błąd przypisuje coś takiego:

  1. validateError ajaxUsername=eric


Ten post edytował konradinho 30.06.2010, 20:55:30
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: 14.08.2025 - 02:21