Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax]Rejstracja
Forum PHP.pl > Forum > XML, AJAX
Kasztaniak
Witam napisałem script, który przedstwaie poniżej. Ten script ma za zadanie pobierać dane z formularza bezprzeładowyania strony i je sprawdzić ale coś mi nie działa.


index.html

  1. <title> Rejstracja</title>
  2.  
  3. <script type="text/javascript">
  4.  
  5. function getXMLHttpRequestObject()
  6. {
  7. try{
  8. return new XMLHttpRequest();
  9. }
  10. catch(e){
  11. try{
  12. return new ActiveXObject("Microsoft.XMLHTTP");
  13. }
  14. catch(e){
  15. return false;
  16. }
  17. }
  18. }
  19.  
  20. function pobierzDane()
  21. {
  22. if(XMLRequestObject){
  23. var przyciskEl = document.getElementById("bWyslij");
  24. var div = document.getElementById("warstwaDanych");
  25. var tfImie = document.getElementById('tfImie');
  26. var tfLogin = document.getElementById('tfLogin');
  27. var tfMail = document.getElementById('tfMail');
  28. var tfWhy = document.getElementById('tfWhy');
  29. var tfData = document.getElementById('tfData');
  30.  
  31. var imie = tfImie.value;
  32. var login = tfLogin.value;
  33. var mail = tfMail.value;
  34. var why = tfWhy.value;
  35. var data = tfData.value;
  36.  
  37. imie = escape(imie);
  38. login = escape(login);
  39. mail = escape(mail);
  40. why = escape(why);
  41. data = escape(data);
  42.  
  43. var url = "http://kasztan.cal.pl/GF/form/sprawdz.php?";
  44. url += "imie=" + imie + "&login=" + login + "&mail=" + mail + "&why=" + why + "&data=" + data;
  45.  
  46. przyciskEl.disabled = true;
  47. XMLHttpRequestObject.open("GET", url);
  48. XMLHttpRequestObject.onreadystatechange = function()
  49. {
  50. if(XMLHttpRequestObject.readyState == 4){
  51. if(XMLHttpRequestObject.status == 200){
  52.  
  53. var tekst = XMLHttpRequestObject.responseTekst;
  54.  
  55. tekst = unescape(tekst);
  56.  
  57. div.innerHTML = tekst;
  58. }
  59. przyciskEl.disabled = false;
  60. }
  61. }
  62. XMLHttpRequestObject.send(null);
  63. }
  64. }
  65.  
  66. var XMLHttpRequestObject = getXMLHttpRequestObject();
  67.  
  68.  
  69.  
  70.  
  71. </head>
  72.  
  73. <div>
  74. Imie i nazwisko postaci:<input type="text" id="tfImie" /><br/>
  75. Login do gry:<input type="text" id="tfLogin" /><br/>
  76. E-mail:<input type="text" id="tfMail" /><br/>
  77. Dlaczego chcesz grać:<input type="text" id="tfWhy" /><br/>
  78. Wpisz dzisiejszą date<small> (antybot sytem)</small> w formacie ddmmrrrr <small>bez kropek</small><input type="text" id="tfData" /><br/>
  79.  
  80. <input type="button" value="Wyślij" onclick="pobierzDane()" id="bWyslij" /><br/>
  81. </div>
  82. <div id="warstwaDanych">
  83. asd
  84. </div>
  85. </body>
  86. </html>


sprawdz.php

  1. <?php
  2.  
  3. $data1=date(dmY);
  4.  
  5. if (isset($_GET["imie"])) {
  6.  
  7. //tu zaladowac userow z bazy aby sprawdzicczy sie nie powtarzaja
  8.  
  9.  
  10. if (strlen($_GET["imie"]) < 3) {
  11. $tekst="Imie ma mniej niż 3 znaki.";
  12. } else {
  13.  
  14. }
  15.  
  16. } else if (isset($_GET["login"])) {
  17.  
  18.  
  19. if (strlen($_GET["login"]) < 3) {
  20. $tekst="Login jest za krótki.";
  21. } else {
  22.  
  23. }
  24. } else if (isset($_GET["why"])) {
  25.  
  26.  
  27. if (strlen($_GET["why"]) < 10) {
  28. $tekst="Wytłumaczenie jest za krótkie.";
  29. } else {
  30.  
  31. }
  32. } else if (isset($_GET["data"])) {
  33.  
  34.  
  35. if (strlen($_GET["data"]) != $data1) {
  36. $tekst="Zła data";
  37. } else {
  38.  
  39. }
  40. } else if (isset($_GET["mail"])) {
  41.  
  42. if(!eregi(
  43.  "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$",
  44.  $_GET["mail"])) {
  45. $tekst="sprawdz czy podałeś poprawnego maila";
  46. } else {
  47.  
  48. }
  49. }
  50.  
  51. $tekst="Dane zostały zapisane... prosze przejsc do logowania";
  52.  ?>
Garrappachc
A co ci konkretnie nie działa?
Kasztaniak
jak klikam wyslij to przycisk nie reaguje nie wiem co jest grane (pewnie jak zwykla drobny bład)
lord_t
  1. function pobierzDane()
  2. {
  3. if(XMLHttpRequestObject)
  4. {...}
  5. }


Zapomniałeś w ifie "Http".

Nie wiem dlaczego u mnie pokazuje po wysłaniu formularza: undefined pod przyciskiem, no ale może to coś związanego z XMLHttpRequest, nie wiem
Kasztaniak
Hmm.... u mnie teraz jak klikam na przycisk to sie wciska i chyba przetwarza dane ale cos jest zle bo potem nic nie dziala sciana.gif
lord_t
Pokazuje się coś, zmienia po tym naciśnięciu?

1. Spróbuj może zamiast tego sprawdz.php dać coś prostego np. cos co wypisuje tylko jakieś słowo. Postaraj się to słowo wyświetlić. Jeśli się uda to powoli dokładaj całą funkcjonalność sprawdz.php sprawdzajac czy działa po dodaniu każdej czesci funkcjonalności.

2. Czemu nie skorzystasz z gotowej implementacji ajaxa? Np. advAJAX.
Kasztaniak
ad1. Spróbuje

ad2. Narazie chce zrobić sam i nauczyć sie pisać bez kożystania z gotowych rozwiazań
MajareQ
Mógłbyś przynajmniej zmienić pytania w formularzu... i nie pytałeś się mnie czy mój kodzik możesz pokazać... tongue.gif
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.