Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][JavaScript] Wysłanie formularza bez przeładowania strony
-kubek3898-
post
Post #1





Goście







Na początku od razu mówię, użyłem szukajki, niestety nie znalazłem to czego szukam (IMG:style_emoticons/default/wink.gif)

Mam następujący kod:

  1. <body id='body_screen' class='login_screen'>
  2. <form action='login.php' method='post'>
  3. <div id='login' class=''>
  4. <div id='login_error'>Dane użyte podczas logowania nie były poprawne</div>
  5. <div id='login_controls'>
  6. <label for='username'>Użytkownik</label>
  7. <input type='text' size='20' id='username' name='username' value='' class='textinput'>
  8.  
  9. <label for='password'>Hasło</label>
  10. <input type='password' size='20' id='password' name='password' value='' class='textinput'> </div>
  11. <div id='login_submit'>
  12. <input type='submit' class='button' value="Zaloguj" />
  13. </div>
  14. </div>
  15. </form>
  16. </div>
  17. </body>


I teraz jak za pomocą AJAX'a zrobić tak, że po kliknięciu "Zaloguj" strona nie przeładowuje się tylko zostaje wypisany stosowny komunikat:

  1. <div id='login_error'>Dane użyte podczas logowania nie były poprawne</div>


lub

  1. <div id='login_ok'>Zalogowano!</div>



"Raczkuję" jak widać w temacie JS oraz AJAX, więc proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-kubek3898-
post
Post #2





Goście







Dobra przeniosłem skrypt na innny hosting i o dziwo działa! Jednak teraz mam kolejny problem. Po wypełnieniu danych, powinna zostać uruchomiona dalsza część funkcji logowanie(); tj.

  1. else
  2. {
  3. var myLogAjax = new Ajax.Request
  4. (
  5. 'check.php',
  6. {
  7. method: 'post',
  8. parameters: "nick="+nick+
  9. "&pass="+pass,
  10. onComplete: showResponseLog,
  11. onFailure: showAlertLog
  12. }
  13. );
  14. }


która odpowiada za przesłanie do pliku 'check.php' parametrów logowania. Oczywiście w bazie mam tabelę, a w niej rekord z przykładowym kontem, ale po wpisaniu poprawnych danych... nic się nie dzieje. Proszę o pomoc.

Plik login.js:

  1. function logowanie()
  2. {
  3. var nick = document.getElementById("nick").value;
  4. var pass = document.getElementById("pass").value;
  5.  
  6. if(nick == '')
  7. {
  8. $('#login').prepend('<div id=\'login_error\'>Nie podano loginu.</div>');
  9. }
  10. else if(pass == '')
  11. {
  12. $('#login').prepend('<div id=\'login_error\'>Nie podano hasła.</div>');
  13. }
  14. else
  15. {
  16. var myLogAjax = new Ajax.Request
  17. (
  18. 'check.php',
  19. {
  20. method: 'post',
  21. parameters: "nick="+nick+
  22. "&pass="+pass,
  23. onComplete: showResponseLog,
  24. onFailure: showAlertLog
  25. }
  26. );
  27. }
  28. }
  29. function showResponseLog(text)
  30. {
  31.  
  32. var logFrom = document.getElementById("logFrom");
  33.  
  34. if(text.responseText == '1')
  35. {
  36. $('#login').prepend('<div id=\'login_error\'>Konto nie istnieje, bądź zostało zalobkowane przez administratora.</div>');
  37. }
  38. else
  39. {
  40. $('#login').prepend('<div id=\'login_ok\'>Zostałeś pomyślnie zalogowany jako: ' +text.responseText+ '</div>');
  41. }
  42. }
  43. function showAlertLog(MyRequest)
  44. {
  45. $('#login').prepend('<div id=\'login_error\'>Wystąpił nieokreślony błąd podczas logowania. Skontaktuj się z administratorem.</div>');
  46. }


Plik login.php

  1. <?php
  2.  
  3. require 'header.php';
  4.  
  5. ?>
  6.  
  7. <script type=text/javascript src="function/js/login.js"></script>
  8. <script type=text/javascript src="function/js/prototype.js"></script>
  9.  
  10. <body id='ipboard_body' class='login_screen'>
  11. <div id='infoMassage'></div>
  12. <div id='logFrom'>
  13. <form action='java script:logowanie();'>
  14. <div id='login' class=''>
  15. <div id='login_controls'>
  16. <label for='nick'>Login</label>
  17. <input type='text' size='20' id='nick' name='nick' value='' class='textinput'>
  18.  
  19. <label for='pass'>Hasło</label>
  20. <input type='password' size='20' id='pass' name='pass' value='' class='textinput'> </div>
  21. <div id='login_submit'>
  22. <input type='submit' class='button' value='Zaloguj' />
  23. </div>
  24. </div>
  25. </form>
  26. </div>
  27. </div>
  28. </body>
  29.  
  30. <?php
  31. /*
  32. }
  33. else
  34. {
  35.  
  36.  
  37. <body id='ipboard_body' class='login_screen'>
  38.   <form action='index.php' method='post'>
  39.   <div id='login' class=''>
  40. <div id='login_error'>Już jesteś zalogowany!</div>
  41. <div id='login_submit'>
  42. <input type='submit' class='button' value='Powrót' />
  43. </div>
  44.   </div>
  45. </div>
  46. </body>
  47.  
  48. }*/
  49.  
  50. ?>
  51.  
  52. </html>


Aha, jeszcze jedno, jak coś to poradnik tworzenia AJAX'owego logowania brałem z http://funkcje.net/nsc/2/1733/3/8/page.html

Go to the top of the page
+Quote Post

Posty w temacie


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: 18.10.2025 - 07:24