Не записва коментар

nasibg

Registered
Нещо не сработва кода.... Имам две полета, които ги пращам към php посредством post функцията на jQuery. Показва лентата, че коментара е записан(тоест във базата), но във същност не e. +1

index.php
Код:
<!DOCTYPE html>
<html>
<head>
	<title>Заглавие</title>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script> 
	<meta charset="utf-8">
	<script type="text/javascript">
		$(document).ready(function() {
			$("#msgbox").hide();
			$("#addComment").click(function() {
				$.post('process.php', {
					name:$("#name").val(),
					commment:$("#comment").val()
				},
				function(response) {
					$("#msgbox #msg").html("Коментара е добавен успешно!");
					$("#msgbox").slideUp().slideDown("normal");
				});
				return false;
			});
			$("#msgbox").click(function() {
				$(this).slideUp("normal");
			})
		});
	</script>
	<style type="text/css" media="screen">
		body { font-family: 'Arial', sans-serif; font-size: 75%; }
		#msgbox { background: #CCE5AD; border-bottom: 2px solid #56B96B; color: #4a4a4a; width: 100%; height: 30px; position: absolute; top: 0; left: 0; cursor: pointer; }
		#msgbox #msg { line-height: 30px; padding-left: 10px; }
		#commentForm { margin-top: 35px; }
	</style>
</head>
<body>
<div id="msgbox"><span id="msg"> </span></div>
	<form id="commentForm">
		Име: <input type="text" id="name" /><br />
		Коментар: <input type="text" id="comment" /><br />
		<input type="submit" id="addComment" value="Запиши">
	</form>
</body>
</html>

process.php

Код:
<?php 
	$dbhost = 'localhost';
	$dbuser = 'user';
	$dbpassword = 'pass';
	$db = 'you';

	$conn = mysql_connect($dbhost, $dbusername, $dbpassword);
	mysql_select_db($db);

	$name = $_POST['name'];
	$comm = $_POST['comment'];

	mysql_query("INSERT INTO comments (`ID`,`Name`,`Comment`) VALUES (NULL, '$name', '$comm')") or die(mysql_error());
?>

SQL:

Код:
CREATE TABLE `comments` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(50) NOT NULL,
  `Comment` text NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
 
nasibg каза:
Нещо не сработва кода.... Имам две полета, които ги пращам към php посредством post функцията на jQuery. Показва лентата, че коментара е записан(тоест във базата), но във същност не e. +1

index.php
Код:
<!DOCTYPE html>
<html>
<head>
	<title>Заглавие</title>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script> 
	<meta charset="utf-8">
	<script type="text/javascript">
		$(document).ready(function() {
			$("#msgbox").hide();
			$("#addComment").click(function() {
				$.post('process.php', {
					name:$("#name").val(),
					commment:$("#comment").val()
				},
				function(response) {
					$("#msgbox #msg").html("Коментара е добавен успешно!");
					$("#msgbox").slideUp().slideDown("normal");
				});
				return false;
			});
			$("#msgbox").click(function() {
				$(this).slideUp("normal");
			})
		});
	</script>
	<style type="text/css" media="screen">
		body { font-family: 'Arial', sans-serif; font-size: 75%; }
		#msgbox { background: #CCE5AD; border-bottom: 2px solid #56B96B; color: #4a4a4a; width: 100%; height: 30px; position: absolute; top: 0; left: 0; cursor: pointer; }
		#msgbox #msg { line-height: 30px; padding-left: 10px; }
		#commentForm { margin-top: 35px; }
	</style>
</head>
<body>
<div id="msgbox"><span id="msg"> </span></div>
	<form method="post" id="commentForm">
		Име: <input type="text" id="name" /><br />
		Коментар: <input type="text" id="comment" /><br />
		<input type="submit" name='submit' id="addComment" value="Запиши">
	</form>
</body>
</html>

process.php

Код:
<?php 
	$dbhost = 'localhost';
	$dbuser = 'user';
	$dbpassword = 'pass';
	$db = 'you';

	$conn = mysql_connect($dbhost, $dbusername, $dbpassword);
	mysql_select_db($db);

	$name = $_POST['name'];
	$comm = $_POST['comment'];
                   if(isset($_POST['submit'])) 
                        { 
                        if ($comm == NULL) 
                        { 
                           echo "<center>Не сте въвели коментар!</center>"; 
                        } 
                        else 
                        {
	mysql_query("INSERT INTO comments (`ID`,`Name`,`Comment`) VALUES (NULL, '$name', '$comm')") or die(mysql_error());
}
}
?>

SQL:

Код:
CREATE TABLE `comments` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(50) NOT NULL,
  `Comment` text NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
 
Показва ти текста, който си му сложил.
Промени тези редове така
function(response) {
$("#msgbox #msg").html(response);
$("#msgbox").slideUp().slideDown("normal");
и виж какво ти връща пхп файла :idea:
 
Махни проверката за натиснатия събмит в пхп файла ти. И за напред след всеки ИФ си добавяй ЕЛСЕ нещо си, за да може по-лесно да се ориентираш.
 
Когато кода е така:
Код:
<?php
$conn = mysql_connect('localhost','user','pass'); 
mysql_select_db('you');
$name = $_POST['name']; 
$comm = $_POST['comment']; 

 mysql_query("INSERT INTO comments (`ID`,`Name`,`Comment`) VALUES (NULL, '$name', '$comm')") or die(mysql_error()); 


?>
Се записва, но коментара го няма, а само името...

А когато е така
Код:
<?php
$conn = mysql_connect('localhost','user','pass'); 
mysql_select_db('you');
$name = $_POST['name']; 
$comm = $_POST['comment'];  
if ($comm == NULL) 
{ 
echo "<center>Не сте въвели коментар!</center>"; 
} 
else 
{ 
   mysql_query("INSERT INTO comments (`ID`,`Name`,`Comment`) VALUES (NULL, '$name', '$comm')") or die(mysql_error()); 
}
?>
Не прави никакъв запис, а във конзолата ми изкарва че не е въведен коментар(а съм въвел).... Нещо ми стана неясно(убъркано)....
 

Back
Горе