Witam,
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
$date_time_array = getdate($timestamp);
$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
$timestamp = mktime($hours + 8
,$minutes,$seconds,$month,$day,$year); $theDate = strftime('%Y-%m-%d %H:%M:%S',$timestamp);
// 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);
<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... :/