$image_id = mysqli_fetch_assoc($result); //check if user already voted for certain image $result = mysqli_query($link, "SELECT * FROM `votes` WHERE `userID`=" . $user_id['userID'] . " AND `imageID`=" . $image_id['imageID'] . ";") or die(mysqli_error($link)); $row = mysqli_num_rows($result); if ($row == '0') { mysqli_query($link, "INSERT INTO `votes`(`userID`, `imageID`) VALUES (" . $user_id['userID'] . ", " . $image_id['imageID'] . ");") or die(mysqli_error($link)); $data = update_vote($image_id['imageID']); echo json_encode($data); } else { //already upvoted echo json_encode('upvoted before'); } } elseif (isset($_POST['action']) && $_POST['action'] == 'anonymous_voting') { //anonymous vote from main page if (isset($_POST['votePic'])) { $data = update_vote($_POST['votePic']); echo json_encode($data); } } else { //user not logged, cant vote echo json_encode('not logged'); } function update_vote($image_id) { //get number of votes and update global $link; /*$result = mysqli_query($link, "SELECT `amount` FROM `votes_amount` WHERE `imageID`=".$image_id.";") or die(mysqli_error($link)); $amount = mysqli_fetch_assoc($result); $new_amount = $amount['amount']+1; mysqli_query($link, "UPDATE `votes_amount` SET `amount`=".$new_amount." WHERE `imageID`=".$image_id.";") or die(mysqli_error($link));*/ $stmt = mysqli_stmt_init($link);
<?php require_once "../includes/session.php"; require_once "../includes/db_connection.php"; require_once "../includes/functions.php"; if (isset($_POST["submit"])) { $user_id = mysqli_real_escape_string($connection, $_POST["user_id"]); $comment_id = mysqli_real_escape_string($connection, $_POST["comment_id"]); if ($_POST["user_id"] == "-1" || !user_logged_in()) { die("<scirpt>window.location.replace(\"log_in.php\");"); } if (already_downvoted($user_id, $comment_id)) { update_vote($user_id, $comment_id, "0"); } else { if (already_upvoted($user_id, $comment_id) || exists_but_neutral($user_id, $comment_id)) { update_vote($user_id, $comment_id, "-1"); } else { add_vote($user_id, $comment_id, "-1"); } } }