Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][PHP] Wiele zmiennych
Forum PHP.pl > Forum > Przedszkole
Reiven
Witam,
przedstawię najpierw kod, a potem omówię swój problem:

index
  1. <script type="text/javascript">
  2.  
  3. var loaderImage = new Image();
  4. loaderImage.src = 'images/loader.gif';
  5.  
  6. $(document).ready(function(){
  7. var messageArea = $('textarea#message');
  8. var imieArea = $('input#imie');
  9. var nickArea = $('input#nick');
  10. var id_kArea = $('input#id_k');
  11. var emailArea = $('input#email');
  12. var ggArea = $('input#gg');
  13. var wwwArea = $('input#www');
  14. var ipArea = $('input#ip');
  15.  
  16.  
  17. messageArea.val('Twój komentarz...').css('color', '#666666');
  18. messageArea.click(function (){
  19. $(this).val('').css('color', '#000000');
  20. $(this).unbind('click').click(function(){
  21. return false;
  22. });
  23. });
  24.  
  25. $('input#submit-comment').click(function(){
  26. // Store vars
  27. var message = messageArea.hide().val();
  28. var imie = imieArea.hide().val();
  29. var nick = nickArea.hide().val();
  30. var id_k = id_kArea.hide().val();
  31. var email = emailArea.hide().val();
  32. var www = wwwArea.hide().val();
  33. var gg = ggArea.hide().val();
  34. var ip = ipArea.hide().val();
  35.  
  36. // Validation
  37. if(message.length < 1 || message == "Twój komentarz..."){
  38. messageArea.fadeOut('slow', function(){
  39. var errorMessage = 'Nic nie wpisałeś!';
  40. var error = $('<div id="too-short"><span class="error">' + errorMessage + '</span></div>').insertBefore($(this));
  41. error.hide().fadeIn('slow', function(){
  42. setTimeout(function(){
  43. error.hide();
  44. messageArea.fadeIn('slow');
  45. }, 2000);
  46. });
  47. });
  48. return false;
  49. }
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. dataString = (('message='+ message ) && ('nick='+ nick) && ('imie='+ imie) && ('id_k='+ id_k) && ('www='+ www) && ('email='+ email) && ('gg='+ gg) && ('ip='+ ip));
  58.  
  59.  
  60. // Show loader
  61. var loader = $('<div id="loader"><img class="load-gif" src="' + loaderImage.src + '" /></div>').insertBefore($(this));
  62.  
  63. //alert (dataString);
  64. $.ajax({
  65. type: "POST",
  66. url: "submitComment.php",
  67. data: dataString,
  68. success: function(data) {
  69. $('div#loader').find('img.load-gif').remove();
  70. $('div#loader').append('<span class="success">Dzięki za komentarz!</span>');
  71. $('div#loader').hide().fadeIn('slow');
  72. $('span.limit').remove();
  73. $('div#comments').prepend(data);
  74. $('div#comments div.comment-unapproved:nth-child(1)').hide().slideDown('slow');
  75. $('input#submit-comment').unbind('click').click(function(){
  76. return false;
  77. });
  78. }
  79. });
  80. return false;
  81. });
  82.  
  83. messageArea.keyup(function(){
  84. var limit = 250;
  85. var currentLength = $(this).val().length;
  86. var charsLeft = limit - currentLength;
  87. $('span.limit').html(charsLeft);
  88. if(currentLength >= limit){
  89. $(this).val($(this).val().substring(0, limit));
  90. $('span.limit').html('0');
  91. var textarea = document.getElementById('message');
  92.  
  93. textarea.scrollTop = textarea.scrollHeight + 9999;
  94. }
  95. });
  96. });
  97. </script>
  98.  
  99. <div id="container">
  100. <div id="comments">
  101. <div class="comment">
  102. <div class="date">
  103. <span class="day-month">'.$dayMonth.' </span>
  104. <span class="year">'.$year.'</span>
  105. </div>
  106. <span class="content"><span class="time"> ~'.$imie.' ('.$nick.') '.$datediff.' </span> <BR> '.stripslashes($message).'</span><BR>
  107.  
  108. <div align="right"><a href="gg:'.$gg.'"><img src="images/gg.png" border="0"></a><a href="'.$www.'" target="_BLANK"><img src="images/www.png" border="0"</a><a href="mailto:'.$email.'"><img src="images/email.png" border="0"></a>
  109. </div>
  110. <div class="clear"></div>
  111. </div>
  112. </div>
  113. <div id="submission">
  114. <form name="comment-submission">
  115. <textarea id="message" name="tresc"></textarea>
  116. <span class="limit">250</span>
  117. <input type="hidden" id="imie" name="imie" value="'.$imie.'" />
  118. <input type="hidden" id="nick" name="nick" value="'.$login.'" />
  119. <input type="hidden" id="email" name="email" value="'.$email.'" />
  120. <input type="hidden" id="www" name="www" value="'.$www.'" />
  121. <input type="hidden" id="gg" name="gg" value="'.$gg.'" />
  122. <input type="hidden" id="ip" name="ip" value="'.$ip.'" />
  123. <input type="hidden" id="data" name="data" value="'.$data.'" />
  124. <input type="hidden" id="id_k" name="id_k" value="'.$id_k.'" />
  125. <input type="submit" id="submit-comment" value=" " />
  126. </form>
  127.  
  128. </div></div>
  129.  


submit
  1. <?php
  2. include("dbConnector.php");
  3. $connector = new DbConnector();
  4.  
  5.  
  6.  
  7.  
  8. // Work out the Date plus 8 hours
  9. // get the current timestamp into an array
  10. $timestamp = time();
  11. $date_time_array = getdate($timestamp);
  12.  
  13. $hours = $date_time_array['hours'];
  14. $minutes = $date_time_array['minutes'];
  15. $seconds = $date_time_array['seconds'];
  16. $month = $date_time_array['mon'];
  17. $day = $date_time_array['mday'];
  18. $year = $date_time_array['year'];
  19.  
  20. // use mktime to recreate the unix timestamp
  21. // adding 19 hours to $hours
  22. $timestamp = mktime($hours + 8,$minutes,$seconds,$month,$day,$year);
  23. $theDate = strftime('%Y-%m-%d %H:%M:%S',$timestamp);
  24.  
  25. // Get the message
  26. $tresc = addslashes(strip_tags($_POST['message']));
  27.  
  28. $imie = strip_tags($_POST['imie']);
  29. $email = strip_tags($_POST['email']);
  30. $www = strip_tags($_POST['www']);
  31. $gg = strip_tags($_POST['gg']);
  32. $ip = strip_tags($_POST['ip']);
  33. $id_k = strip_tags($_POST['id_k']);
  34. $nick = strip_tags($_POST['nick']);
  35.  
  36.  
  37.  
  38.  
  39. $theQuery = "INSERT INTO yt_k (id, imie, nick, tresc, data, ip, email, www, gg, czego) VALUES ('', '".$imie."','".$nick."','".$tresc."','".$theDate."','".$ip."','".$email."','".$www."','".$gg."','".$id_k."' )";
  40. echo $theQuery;
  41.  
  42. $connector->query($theQuery);
  43.  
  44. <div class="comment-unapproved">
  45. <div class="date">
  46. <span class="day-month">'.$dayMonth.' </span>
  47. <span class="year">'.$year.'</span>
  48. </div>
  49. <span class="content"><span class="time"> ~'.$imie.' ('.$nick.') '.$datediff.' </span> <BR> '.stripslashes($tresc).'</span><BR>
  50.  
  51. <div align="right"><a href="gg:'.$gg.'"><img src="images/gg.png" border="0"></a><a href="'.$www.'" target="_BLANK"><img src="images/www.png" border="0"</a><a href="mailto:'.$email.'"><img src="images/email.png" border="0"></a>
  52. </div>
  53. <div class="clear"></div>
  54. </div>
  55.  
  56. ';
  57.  
  58.  
  59. ?>
  60.  



Wiec tak, mam stworzony formularz, gdzie prawie wszystkie pola sa ukryte i zostawione jest jedno na komentarz.
Dane pobiera do tych pol z mysql'a (dziala).
Gdy dam na wyslij, wysyla formularz ladnie w ajaxie, ale przekazuje tylko jedna zmienną, np IP...
Próbowałem w js z tablicą array ale nie szło, próbowałem z rożnymi operatorami też nie szło,

  1. dataString = (('message='+ message ) && ('nick='+ nick) && ('imie='+ imie) && ('id_k='+ id_k) && ('www='+ www) && ('email='+ email) && ('gg='+ gg) && ('ip='+ ip));


chyba w tym fragmencie jest coś nie tak i nie mam pojęcia co... :/
tomm
po jednym & wystarczy
i traktuj je jako część stringa czyli np ....+'&'+...
Reiven
ano tak.. smile.gif

dzięki
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.