Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery, ajax, logowanie, brak danych powrotnych
Forum PHP.pl > Forum > XML, AJAX
Speedy90
witam, mam taki problem, że chcę zrobić logowanie za pomocą jquery i funckji .ajax() jednak nie pobrać danych ze skryptu, mimo tego ze logowanie następuje.

formularz logowania:
  1. <div id="loguj">
  2. Logowanie: <span id="loguj_zamknij" style="float:right; margin-right:0px;">Zamknij</span>
  3. <form id="form_logowanie" action="" method="post">
  4. login: <input id="login" type="text" name="login" />
  5. haslo: <input id="haslo" type="password" name="haslo" />
  6. <input id="logowanie_czynnosc" type="submit" name="akcja" value="Loguj" />
  7. </form>
  8. </div>


JS:
Kod
$("#logowanie_czynnosc").click(function(){
  $.post('./ajax/logowanie.php', $('#form_logowanie').serialize(), function(data){
        if (data == "ok"){
                    alert(3);
                } else if (data == 1){
                    alert(1);
                } else if (data == 2){
                    alert(2);
                }
                alert(data+login);

  });
});


logowanie.php
  1. <?php
  2. echo '5';
  3. if ($_GET['login'] != '' AND $_GET['haslo'] != ''){
  4. # ... zapytanie do bazy... i sprawdzenie czy jest taki użytkownik...
  5. if ($rekord['us_id'] != ''){
  6. #zalogowanie uzytka
  7. echo 'ok';
  8. } else { echo '2'; }
  9. } else { echo '1'; }
  10. ?>


Aha ten ostatni alert w JS się pojawia i pokazuje wpisany login. podsumowując brakuje zmiennej "data". Ktoś może miał podobny problem.
zend
$.post != $_GET!!!!!!!! Jak wysyłasz dane postem to nie odbieraj ich getem! $_POST, $_GET - to dwie różne metody przesyłania i odbierasz je w różnych tablicach. Poza tym wynik nigdy nie będzie wynosił "ok" bo jeszcze "5" wyświetlasz. A nie lepiej
[JAVASCRIPT] pobierz, plaintext
  1. $('#loginForm').submit(function(){
  2. //ajax
  3. return false;
  4. });
[JAVASCRIPT] pobierz, plaintext
Speedy90
ok może faktycznie jednak nie w tym błąd, ponieważ ja już próbowałem wysłać .ajax() i .post() i .get(), stad ten błąd, jednak mi chodzi o to ze nic nie zwraca nawet tej "5" a przecież powinno zauważ że mam alert(data+login) i nie wyświetla mi się nawet "5"

Aha i gdy sprawdzam przez firebug'a to status linka jest "aborted".
zend
Wyrzuć buforowanie, spróbuj kliknąć na ten link w firebugu i sprawdż czy plik faktycznie istnieje, włącz wyświetlanie błędów w php ini_set('display_errors' , 'On'); potem przetestuj na "sucho" czy wszystko śmiga tzn w pisz w przegladarke ajax/logowanie.php?login=xxx&haslo=yyy, potem kombinuj z ajaxem :
[JAVASCRIPT] pobierz, plaintext
  1. $.ajax({
  2. method : "get",
  3. data : //serializacja forma,
  4. url : "url jaki chcesz",
  5. success : function(data) {alert(data);}
  6. });
[JAVASCRIPT] pobierz, plaintext
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.