Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery][MySQL][PHP]Sprawdzanie czy użytkownik istnieje
konradinho
post
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
 
Start new topic
Odpowiedzi (1 - 2)
smietek
post
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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:32