【发布时间】:2011-08-14 18:40:14
【问题描述】:
我想为我的随机视频网站添加一个简单的评分系统 (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 通信?
如果有人能告诉我这是如何工作的,我将不胜感激,以便我可以让我的脚本正常工作。
【问题讨论】:
-
$pageid来自哪里? -
代码中可能存在 SQL 注入,请将
WHERE (id = $pageid)"替换为WHERE (id = '$pageid')"(注意引号) 并确保 $pageid 使用 mysql_real_escape_string() 进行转义,见:stackoverflow.com/questions/332365/… -
@mario @Johan 哦,哇,我为此感到愚蠢。 $pageid 需要用引号引起来,因为它是一个 varchar 字符串。添加引号修复了所有问题,现在评级工作。 $pageid 只是从我的 id 表中返回一个随机值(这样每次刷新都会提供一个随机视频来观看。)我会看看修复 sql 注入,再次感谢!
标签: php mysql html forms rating