Reputation: 1159
I recently created a PHP/MySQL comment system, and it was working until a few hours ago (no changes at all in the code). When I tell the submit form code to echo the query, it shows that the area for commenttext and date is missing. I don't see why. Here's my code:
mysql_connect("localhost","commentUser","password"); mysql_select_db("comments"); $name = mysql_real_escape_string($_POST['name']); $postID = mysql_real_escape_string($_POST['postId']); if(!is_numeric($postID)) exit(); $email = mysql_real_escape_string($_POST['email']); $comment = strip_tags(mysql_real_escape_string($_POST['comment']), ''); $date = mysql_real_escape_string($_POST['date']); if($email == '' || $comment = '' || $date = '') exit(); $query = "INSERT INTO comments (PostID,Name,Email,Text,Date) VALUES($postID, '$name', '$email', '$comment', '$date')"; mysql_query($query) or die(mysql_error()); mysql_close(); echo " window.location = \"snippet.php?id=$postID\"; ";
Upvotes: 4
Views: 384
Reputation: 395
You are trying to compare $comment
and $date
with invalid character
please replace this line:
if($email == '' || $comment = '' || $date = '')
with
if($email == '' || $comment = '' || $date == '')
Upvotes: 0
Reputation: 270609
You are assigning the empty string to $comment
and $date
with =
if($email == '' || $comment = '' || $date = '')
exit();
// Should use `==` for all three:
if($email == '' || $comment == '' || $date == '')
exit();
Upvotes: 4