airplaneman19
airplaneman19

Reputation: 1159

PHP isn't processing some form fields

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

Answers (2)

Javed Khan
Javed Khan

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

Michael Berkowski
Michael Berkowski

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

Related Questions