Простая система оценки "нравится/не нравится" в php и MySQL
Я хочу добавить простую систему рейтингов на свой случайный видеосайт (id = идентификатор YouTube)
У меня нет большого опыта работы с php и MySQL, и я не уверен, как обновить поле с помощью кнопок отправки таким образом:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name"rateform">
<input name="rateup" type="image" src="up.png" id="rateup" value="rateup" />
<input name="ratedown" type="image" src="down.png" id="ratedown"
value="ratedown" />
</form>
<?PHP
mysql_connect(",",",",",")or die(mysql_error());
mysql_select_db(",")or die(mysql_error());
if ($_POST['rateup'])
{
mysql_query("UPDATE utube SET rating = rating + 1
WHERE (id = $pageid)");} else if ($_POST['ratedown']) {
mysql_query("UPDATE utube SET rating = rating - 1
WHERE (id = $pageid)");}
?>
Есть ли что-то, что я должен сделать, чтобы связать html и php вместе?
Все операторы возвращают правильные значения сами по себе (т.е. $pageid)
но когда я нажимаю кнопки, ни с какими полями ничего не происходит.
Когда я помещаю mysql запрос непосредственно в phpmyadmin он также работает,
Я просто не уверен в том, как html взаимодействует с php?
Я был бы признателен, если бы кто-нибудь сообщил мне, как это работает, чтобы я мог заставить свой сценарий работать.
3 answers
Давайте начнем искать проблему: я могу представить только две причины для этого:
- PHP не подключается к БД. Попробуйте выполнить запрос непосредственно из вашего скрипта (взяв его из инструкции
if
. - Оператор
if
по какой-то причине неверен: Попробуйте заменитьmysql_query
наprint('up');
иprint('down');
Кстати, else if
- это утверждение из одного слова. Вы можете заменить его на elseif
.
Кнопки изображения публикуют значение координаты, нажатой, за исключением имени формы. имя входа_x и имя входа_y
if ($_POST['rateup_x'])
{
mysql_query("UPDATE utube SET rating = rating + 1
WHERE (id = $pageid)");} else if ($_POST['ratedown_x']) {
mysql_query("UPDATE utube SET rating = rating - 1
WHERE (id = $pageid)");}
<?PHP
mysql_connect("hostname","username","password")or die(mysql_error());
mysql_select_db("dbname")or die(mysql_error());
if ($_POST['rateup'])
{
mysql_query("UPDATE utube SET rating = rating + 1
WHERE (id = $pageid)");} else if ($_POST['ratedown']) {
mysql_query("UPDATE utube SET rating = rating - 1
WHERE (id = $pageid)");}
?>