Intereting Posts

Простая система рейтинга / неприятия в php и MySQL

Я хочу добавить простую рейтинговую систему к моему случайному видеосайту (id = youtube id)
У меня нет большого опыта работы с 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?
Я был бы признателен, если бы кто-нибудь сообщил мне, как это работает, чтобы я мог заставить свой сценарий работать.

Solutions Collecting From Web of "Простая система рейтинга / неприятия в php и MySQL"

Давайте начнем находить проблему: я могу только представить себе две причины:

  • PHP не подключается к БД. Попробуйте выполнить запрос непосредственно из вашего скрипта (выведите его из инструкции if .
  • По какой-то причине оператор if ошибочен: попробуйте заменить mysql_query на print('up'); и print('down');

Кстати, else if – оператор с одним словом. Вы можете заменить его на elseif .

Кнопки с изображением нажимают значение координаты, за исключением имени формы. inputname_x & inputname_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)");} ?>