Jump to content

Script Sees Everything As Unequal Even If It Is Equal


chaseman

Recommended Posts

I'm trying to achieve that my script checks in the database if the user has submitted the data twice.

 

The script takes the user submission and checks it with the column in the database with != and ==

 

But it ALWAYS sees it as UNEQUAL even if the data is EQUAL.

 

Here's the script

 

<?php
$con_submit = $_POST['submit'];
$user_id = $_SESSION['user_id'];

if ($con_submit && isset($user_id)){

// Connect to the database 
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  
// Grab the score data from the POST
$knuffix_name = strip_tags(trim($_POST['knuffix_name']));
$knuffix_contribution = $_POST['knuffix_contribution'];
$knuffix_category = strip_tags(trim($_POST['sort_category']));

$query = "SELECT contribution FROM con WHERE user_id = '$user_id'";
$query_run = mysqli_query ($dbc, $query) or die (mysqli_error ($dbc));
$assoc = mysqli_fetch_assoc ($query_run) or die (mysqli_error ($dbc));
$db_user_con = $assoc['contribution'];
$num_rows = mysqli_num_rows ($query_run) or die (mysqli_erro ($dbc));

if ($knuffix_contribution != $db_user_con) {

	$query = "SELECT contribution FROM con";
	$query_run = mysqli_query ($dbc, $query);
	$assoc = mysqli_fetch_assoc ($query_run);
	$db_con = $assoc['contribution'];


	if ($knuffix_contribution != $db_con) {	

		if (!empty($knuffix_name) && !empty($knuffix_category) && !empty($knuffix_contribution)) {
			  // Write the data into the database
			  $query = sprintf("INSERT INTO con (user_id, name, contribution, category, contributed_date) VALUES ('$user_id', '%s', '%s', '%s', now())",
					mysqli_real_escape_string($dbc, $knuffix_name),
					mysqli_real_escape_string($dbc, $knuffix_contribution),
					mysqli_real_escape_string($dbc, $knuffix_category));

				mysqli_query($dbc, $query) or die (mysqli_error($dbc));

				mysqli_close($dbc);
			   	  

		  } else {
				echo "<p class='error'>Please enter all of the information to add your contribution.</p>";
			}

	  } else {
			echo "You have to be signed-in to do a contribution.";
		}

	} else {
		echo "This contribution already exists in the database. To keep this place clean we do not allow duplicate submissions.";
	}

} else {
	echo "You cannot make the same submission twice.";
}

?>

 

Where is the problem?

Link to comment
Share on other sites

i think the problem is that the script is not looking in the correct row, it simply selecting a random row and thus it's unequal, I'd have to rewrite the query into:

 

SELECT contribution WHERE user_id = '$user_id' AND contribution = '$submitted_contribution'

 

And then

if ($num_rows == 0) {

// run script

} else {

echo "already exists";

}

 

This may work, should have thought of that earlier.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.