Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AJAX]Przesyłanie danych POSTem
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


Witam. Robie na swojej stronce edytowanie danych usera. Chcę zrobić tak aby je zmieniało bez odświeżania strony czyli w AJAXie. To wiem jak zrobić żęby wykonać zapytanie bez odświeżania. Nie wiem tylko jak wysłać dane z formularza do tego skryptu. Czy ktoś może mi pomóc? Załączam kod:
  1. <?
  2. include('config.php');
  3. $query = query('users', "`login` = '".$_SESSION['login']."'");
  4. $row = mfa($query);
  5. show('
  6. <html>
  7. <head>
  8. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  9. <script type="text/javascript">
  10. function getXMLHttpRequestObject(){
  11. try{
  12. return new XMLHttpRequest();
  13. }
  14. catch(e){
  15. try{
  16. return new ActiveXObject("Microsoft.XMLHTTP");
  17. }
  18. catch(e){
  19. return false;
  20. }  
  21. }
  22. }
  23. function zapisz(){
  24. var XMLHttpRequestObject = getXMLHttpRequestObject();
  25. if(XMLHttpRequestObject){
  26. var th = document.getElementById("edit");
  27. var url = "'.$URL.'/edit_data.php?action=edit";
  28.  
  29. XMLHttpRequestObject.open("GET", url);
  30. XMLHttpRequestObject.onreadystatechange = function(){
  31. if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
  32. th.innerHTML = XMLHttpRequestObject.responseText;
  33. delete XMLHttpRequestObject;
  34. XMLHttpRequestObject = false
  35. }
  36. }
  37. XMLHttpRequestObject.send(null)
  38. }
  39. }
  40.  
  41. </script>
  42. </head>
  43.  
  44.  
  45. <form action="" method="post">
  46. <table class="user_panel">
  47. <tr>
  48. <th class="header" colspan="2">'.EDIT_DATA.'</th>
  49. </tr>
  50. <tr>
  51. <th>'.LOGIN.':</th>
  52. <th><input type="text" value="'.$row[1].'" disabled class="form_edit"></th>
  53. </tr>
  54. <tr>
  55. <th>'.MAIL.':</th>
  56. <th><input type="text" value="'.$row[3].'" name="mail" class="form_edit"></th>
  57. </tr>
  58. <tr>
  59. <th>'.NAME.':</th>
  60. <th><input type="text" value="'.$row['imiona'].'" name="name" class="form_edit"></th>
  61. </tr>
  62. <tr>
  63. <th>'.SURNAME.':</th>
  64. <th><input type="text" value="'.$row['nazwisko'].'" name="surname" class="form_edit"></th>
  65. </tr>
  66. <tr>
  67. <th>'.ADDRESS.':</th>
  68. <th><input type="text" value="'.$row['adres'].'" name="address" class="form_edit"></th>
  69. </tr>
  70. <tr>
  71. <th>'.COUNTRY.':</th>
  72. <th><input type="text" value="'.$row['kraj'].'" name="address" class="form_edit"></th>
  73. </tr>
  74. <tr>
  75. <th>'.CITY.':</th>
  76. <th><input type="text" value="'.$row['miasto'].'" name="address" class="form_edit"></th>
  77. </tr>
  78. <tr>
  79. <th>'.POSTAL.':</th>
  80. <th><input type="text" value="'.$row['kodpocztowy'].'" name="address" class="form_edit"></th>
  81. </tr>
  82. <tr>
  83. <th>'.DATE_BIRTH.':</th>
  84. <th><select name="year">'); 
  85. $birth = explode('.', $row['dataurodzenia']);
  86. $rok = date("Y");
  87. $rok2 = $rok - 70;
  88. for($i = $rok2; $i < $rok; $i++){
  89. if($birth[0] == $i){
  90. show('<option value="'.$i.'" selected>'.$i.'</option>');
  91. }
  92. else{
  93.  show('<option value="'.$i.'">'.$i.'</option>');
  94. }
  95.  
  96. }
  97. $month = array('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');
  98. show('</select><select name="month">'); 
  99. for($i = 0; $i < 12; $i++){
  100. $ii = $i+1;
  101. if($birth[1] == $ii){
  102. show('<option value="'.$ii.'" selected>'.$month[$i].'</option>');
  103. }
  104. else{
  105.  show('<option value="'.$ii.'">'.$month[$i].'</option>');
  106. }
  107.  
  108. }
  109. show('</select><select name="day">'); 
  110. for($i = 0; $i < 31; $i++){
  111. $ii = $i+1;
  112. if($birth[2] == $ii){
  113. show('<option value="'.$ii.'" selected>'.$ii.'</option>');
  114. }
  115. else{
  116.  show('<option value="'.$ii.'">'.$ii.'</option>');
  117. }
  118.  
  119. }
  120. show('</select></th>
  121. </tr>
  122. <tr>
  123. <th colspan="2"><input type="button" onclick="zapisz();" value="Zapisz"></th>
  124. </tr>
  125. <tr>
  126. <th id="edit"></th>
  127. </tr>
  128. </table>
  129. </form>
  130. </html>');
  131. if($_GET['action'] == 'edit'){
  132. echo('edit');
  133. }
  134. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Wez uzyj takiego jQuery + jQuery form plugin, z 10 linijek kodu i wszystko zrobione, na stronce masz gotowe przyklady. I pisze sie 10x prosciej


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #3





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


no dobrze a mozesz podac jakis przyklad bo ajaxa troche czaje a jquery wcale

a wpadłem tez na pomysl jakby przekazac dane JSem do GETa i zrobic zapytanie z geta
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Uzywanie google boli?
http://docs.jquery.com/Ajax/jQuery.post#urldatacallbacktype


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


no nie boli ale jak ktos nie kmini wcale co to jest jquery tak jak ja to nic sam nie zdziała więc prosze o dokladne instrukcje jak to zrobic
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
no nie boli ale jak ktos nie kmini wcale co to jest jquery
To se wejdz na strone domowa jquery i poczytaj co to jest jquery
http://jquery.com/
i nie zawracaj ludziom 4 liter takimi pytaniami

Cytat
dokladne instrukcje jak to zrobic
Dostales linka wczesniej do konkrentego przykladu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mike
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(Mlodycompany @ 10.07.2008, 13:16:38 ) *
no nie boli ale jak ktos nie kmini wcale co to jest jquery tak jak ja to nic sam nie zdziała więc prosze o dokladne instrukcje jak to zrobic
Ci którzy nie kminią dzielą się na dwie kategorie.
1. Ci, którzy potrafią używać rozumu. Oni szukają informacji, tym bardziej że dostali linka.
2. Ci, którzy nie potrafią (bądź nie chcą) i nic nie robią.

Ty wpadłeś do drugiego worka. Kolejny raz wykazujesz się "niechciejstwem" i znów prezentujesz niesamodzielność. To forum nie służy do prowadzenia za rączkę tych, którym się nie chce.
Pamiętaj o tym inaczej będę zamykał takie wątki jak ten.
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #8





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


no dobra. mniejsza. a jakby wziasc dane JS do GETa czyli
Kod

var url = "'.$URL.'/strona.php?get=";
url += document.form.mail.value;

to by działało?
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




by dzialalo, pod warunkiem ze dobrze je dodasz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Mlodycompany
post
Post #10





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


zrobiłem to tak:
  1. <?
  2. include('config.php');
  3. $query = query('users', "`login` = '".$_SESSION['login']."'");
  4. $row = mfa($query);
  5. show('
  6. <html>
  7. <head>
  8. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  9. <script type="text/javascript">
  10. function getXMLHttpRequestObject(){
  11. try{
  12. return new XMLHttpRequest();
  13. }
  14. catch(e){
  15. try{
  16. return new ActiveXObject("Microsoft.XMLHTTP");
  17. }
  18. catch(e){
  19. return false;
  20. }  
  21. }
  22. }
  23. function zapisz(){
  24. var XMLHttpRequestObject = getXMLHttpRequestObject();
  25. if(XMLHttpRequestObject){
  26. var th = document.getElementById("idedit");
  27. var mail = document.getElementById("mail").value;
  28. mail = escape(mail);
  29. var url = "'.$URL.'/edit_data_true.php?action=" + mail;
  30.  
  31. XMLHttpRequestObject.open("GET", url);
  32. XMLHttpRequestObject.onreadystatechange = function(){
  33. if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
  34. th.innerHTML = XMLHttpRequestObject.responseText;
  35. delete XMLHttpRequestObject;
  36. XMLHttpRequestObject = false
  37. }
  38. }
  39. XMLHttpRequestObject.send(null)
  40. }
  41. }
  42.  
  43. </script>
  44. </head>
  45.  
  46.  
  47. <form action="" method="post" name="form">
  48. <table class="user_panel">
  49. <tr>
  50. <th class="header" colspan="2">'.EDIT_DATA.'</th>
  51. </tr>
  52. <tr>
  53. <th>'.LOGIN.':</th>
  54. <th><input type="text" value="'.$row[1].'" disabled class="form_edit"></th>
  55. </tr>
  56. <tr>
  57. <th>'.MAIL.':</th>
  58. <th><input type="text" value="'.$row[3].'" name="mail" class="form_edit" id="mail"></th>
  59. </tr>
  60. <tr>
  61. <th>'.NAME.':</th>
  62. <th><input type="text" value="'.$row['imiona'].'" name="name" class="form_edit"></th>
  63. </tr>
  64. <tr>
  65. <th>'.SURNAME.':</th>
  66. <th><input type="text" value="'.$row['nazwisko'].'" name="surname" class="form_edit"></th>
  67. </tr>
  68. <tr>
  69. <th>'.ADDRESS.':</th>
  70. <th><input type="text" value="'.$row['adres'].'" name="address" class="form_edit"></th>
  71. </tr>
  72. <tr>
  73. <th>'.COUNTRY.':</th>
  74. <th><input type="text" value="'.$row['kraj'].'" name="address" class="form_edit"></th>
  75. </tr>
  76. <tr>
  77. <th>'.CITY.':</th>
  78. <th><input type="text" value="'.$row['miasto'].'" name="address" class="form_edit"></th>
  79. </tr>
  80. <tr>
  81. <th>'.POSTAL.':</th>
  82. <th><input type="text" value="'.$row['kodpocztowy'].'" name="address" class="form_edit"></th>
  83. </tr>
  84. <tr>
  85. <th>'.DATE_BIRTH.':</th>
  86. <th><select name="year">'); 
  87. $birth = explode('.', $row['dataurodzenia']);
  88. $rok = date("Y");
  89. $rok2 = $rok - 70;
  90. for($i = $rok2; $i < $rok; $i++){
  91. if($birth[0] == $i){
  92. show('<option value="'.$i.'" selected>'.$i.'</option>');
  93. }
  94. else{
  95.  show('<option value="'.$i.'">'.$i.'</option>');
  96. }
  97.  
  98. }
  99. $month = array('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');
  100. show('</select><select name="month">'); 
  101. for($i = 0; $i < 12; $i++){
  102. $ii = $i+1;
  103. if($birth[1] == $ii){
  104. show('<option value="'.$ii.'" selected>'.$month[$i].'</option>');
  105. }
  106. else{
  107.  show('<option value="'.$ii.'">'.$month[$i].'</option>');
  108. }
  109.  
  110. }
  111. show('</select><select name="day">'); 
  112. for($i = 0; $i < 31; $i++){
  113. $ii = $i+1;
  114. if($birth[2] == $ii){
  115. show('<option value="'.$ii.'" selected>'.$ii.'</option>');
  116. }
  117. else{
  118.  show('<option value="'.$ii.'">'.$ii.'</option>');
  119. }
  120.  
  121. }
  122. show('</select></th>
  123. </tr>
  124. <tr>
  125. <th colspan="2"><input type="button" onclick="zapisz();" value="Zapisz"></th>
  126. </tr>
  127. <tr>
  128. <th id="idedit"></th>
  129. </tr>
  130. </table>
  131.  
  132. </form>
  133. </html>');
  134. if($_GET['action'] == 'edit'){
  135. echo('dupa');
  136. }
  137.  
  138. ?>

i w pliku edit_data_true.php mam
  1. <?php
  2. echo $_GET['action'], 'ok';
  3. ?>

i jak klikam 'zapisz to nic nie wyswietla na stronie'

blad nie lezy w przeslaniu danych tylko w wykonaniu skryptu ktory jest w edit_data_true.php poniewaz tam jest echo i jak klikne na zapisz to nic sie nie zmienia na stronie
Go to the top of the page
+Quote Post
mls
post
Post #11





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Pocieszne. Zrobić taki błąd w jednej prostej linijce i pisać wielką wiadomość na forum, że "nie działa"... Ech...
A najlepsze jest przecież to, że PHP przeważnie informuje co i gdzie powoduje błąd...


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~mls pokaż mi błąd w tej linijce:
  1. <?php
  2. echo $_GET['action'], 'ok';
  3. ?>

Zanim zaczniesz szukać to podpowiem: tu nie ma błędu.

~Mlodycompany męczysz się już tyle z każdą pierdołą i nadal nie wiesz że jak nic nie widać to dajesz na początku skryptu:
  1. <?php
  2.  
  3. ini_set('display_errors', 1);
  4.  
  5. ?>


Zapomnij o tym raz jeszcze i dostaniesz ostrzeżenie.
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #13





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


OłKej Majk biggrin.gif
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 Aktualny czas: 21.08.2025 - 21:18