Я пытаюсь создать систему, похожую на кнопку Facebook LIKE. Я хочу разрешить пользователю понравиться картинке, но только пусть им понравится один раз. После того, как им это понравилось, они должны быть в силе, в отличие от него.Как запретить пользователю обновлять одну и ту же строку дважды +
Мой текущий код:
<?php
$id = $_GET["picID"];
include 'db.php';
$colID = str_replace('_', ' ', $_GET['picID']);
$colID = mysql_escape_string($picID);
$sql = "SELECT * FROM picture WHERE id = $id";
$result = mysql_query($sql) or die (mysql_error()."<br/>".sql);
$row = mysql_fetch_array($result);
$update = "UPDATE picture SET likes=likes+1 WHERE id='$id'";
mysql_query($update) or die (mysql_error()."<br/>".update);
echo "Thank you";
?>
В настоящее время я использую гиперссылку, чтобы вызвать действие «как»:
<a href='like.php?colID=$row[id]'>Like</a>
В конце я хотел бы изменить это AJAX так пользователь может просто нажать «Нравится» (как на Facebook) без изменения страницы. Я все еще читаю, как это сделать. Есть ли конкретное имя для этой задачи? Или может кто-нибудь показать мне, что я могу это сделать?
EDIT:
Пользователь должен войти в систему, чтобы иметь возможность как картину. У меня есть две несвязанные таблицы, User
и Pictures
. В настоящее время пользователь может просто нажать «Мне нравится», и он добавит 1 в столбец.
установить условное (если/else) заявление –
Не могли бы вы уточнить? В настоящее время пользователю необходимо войти в систему, чтобы «понравиться» картинке. Их пользователь добавляется в базу данных, используя свое состояние сеанса. – DavidPottrell
вам придется записывать каждого, как отдельную запись, иначе у вас не будет абсолютно никакого способа сказать, кто что-то вроде или нет. например если «нравится» - 203, как вы можете сказать, был ли пользователь X кем-то, кто внес +1 в эту сумму? –