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