przedstawię najpierw kod, a potem omówię swój problem:
index
<script type="text/javascript"> var loaderImage = new Image(); loaderImage.src = 'images/loader.gif'; $(document).ready(function(){ var messageArea = $('textarea#message'); var imieArea = $('input#imie'); var nickArea = $('input#nick'); var id_kArea = $('input#id_k'); var emailArea = $('input#email'); var ggArea = $('input#gg'); var wwwArea = $('input#www'); var ipArea = $('input#ip'); messageArea.val('Twój komentarz...').css('color', '#666666'); messageArea.click(function (){ $(this).val('').css('color', '#000000'); $(this).unbind('click').click(function(){ return false; }); }); $('input#submit-comment').click(function(){ // Store vars var message = messageArea.hide().val(); var imie = imieArea.hide().val(); var nick = nickArea.hide().val(); var id_k = id_kArea.hide().val(); var email = emailArea.hide().val(); var www = wwwArea.hide().val(); var gg = ggArea.hide().val(); var ip = ipArea.hide().val(); // Validation if(message.length < 1 || message == "Twój komentarz..."){ messageArea.fadeOut('slow', function(){ var errorMessage = 'Nic nie wpisałeś!'; var error = $('<div id="too-short"><span class="error">' + errorMessage + '</span></div>').insertBefore($(this)); error.hide().fadeIn('slow', function(){ setTimeout(function(){ error.hide(); messageArea.fadeIn('slow'); }, 2000); }); }); return false; } dataString = (('message='+ message ) && ('nick='+ nick) && ('imie='+ imie) && ('id_k='+ id_k) && ('www='+ www) && ('email='+ email) && ('gg='+ gg) && ('ip='+ ip)); // Show loader var loader = $('<div id="loader"><img class="load-gif" src="' + loaderImage.src + '" /></div>').insertBefore($(this)); //alert (dataString); $.ajax({ type: "POST", url: "submitComment.php", data: dataString, success: function(data) { $('div#loader').find('img.load-gif').remove(); $('div#loader').append('<span class="success">Dzięki za komentarz!</span>'); $('div#loader').hide().fadeIn('slow'); $('span.limit').remove(); $('div#comments').prepend(data); $('div#comments div.comment-unapproved:nth-child(1)').hide().slideDown('slow'); $('input#submit-comment').unbind('click').click(function(){ return false; }); } }); return false; }); messageArea.keyup(function(){ var limit = 250; var currentLength = $(this).val().length; var charsLeft = limit - currentLength; $('span.limit').html(charsLeft); if(currentLength >= limit){ $(this).val($(this).val().substring(0, limit)); $('span.limit').html('0'); var textarea = document.getElementById('message'); textarea.scrollTop = textarea.scrollHeight + 9999; } }); }); </script> <div id="container"> <div id="comments"> <div class="comment"> <div class="date"> <span class="day-month">'.$dayMonth.' </span> <span class="year">'.$year.'</span> </div> <span class="content"><span class="time"> ~'.$imie.' ('.$nick.') '.$datediff.' </span> <BR> '.stripslashes($message).'</span><BR> <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> </div> <div class="clear"></div> </div> </div> <div id="submission"> <form name="comment-submission"> <textarea id="message" name="tresc"></textarea> <span class="limit">250</span> <input type="hidden" id="imie" name="imie" value="'.$imie.'" /> <input type="hidden" id="nick" name="nick" value="'.$login.'" /> <input type="hidden" id="email" name="email" value="'.$email.'" /> <input type="hidden" id="www" name="www" value="'.$www.'" /> <input type="hidden" id="gg" name="gg" value="'.$gg.'" /> <input type="hidden" id="ip" name="ip" value="'.$ip.'" /> <input type="hidden" id="data" name="data" value="'.$data.'" /> <input type="hidden" id="id_k" name="id_k" value="'.$id_k.'" /> <input type="submit" id="submit-comment" value=" " /> </form> </div></div>
submit
<?php include("dbConnector.php"); $connector = new DbConnector(); // Work out the Date plus 8 hours // get the current timestamp into an array $hours = $date_time_array['hours']; $minutes = $date_time_array['minutes']; $seconds = $date_time_array['seconds']; $month = $date_time_array['mon']; $day = $date_time_array['mday']; $year = $date_time_array['year']; // use mktime to recreate the unix timestamp // adding 19 hours to $hours // Get the message $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."' )"; $connector->query($theQuery); echo' <div class="comment-unapproved"> <div class="date"> <span class="day-month">'.$dayMonth.' </span> <span class="year">'.$year.'</span> </div> <span class="content"><span class="time"> ~'.$imie.' ('.$nick.') '.$datediff.' </span> <BR> '.stripslashes($tresc).'</span><BR> <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> </div> <div class="clear"></div> </div> '; ?>
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,
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... :/