2011-05-27 60 views
0

5星级剧本我是根据这个教程http://php.about.com/od/finishedphp1/ss/rating_script.htm 我已经改变了它的基础上所提到的网站上的评论有点做,但剧本还是有一些问题。 当我评价一些脚本刷新网站,并在查询字符串中添加所需的参数,但脚本的其余部分不会被触发。评级脚本问题

Echo "Rate "; 
Echo "<a href=".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."?mode=vote&voted=1&id=".$data[id].">1</a> | "; 
Echo "<a href=".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."?mode=vote&voted=2&id=".$data[id].">2</a> | "; 
Echo "<a href=".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."?mode=vote&voted=3&id=".$data[id].">3</a> | "; 
Echo "<a href=".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."?mode=vote&voted=4&id=".$data[id].">4</a> | "; 
Echo "<a href=".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."?mode=vote&voted=5&id=".$data[id].">5</a>"; 

这个东西几乎被略过。

$mode = $_GET['mode']; 

$voted = $_GET['voted']; 

$id = $_GET['id']; 


if ($mode=='vote') 
{ 
if(isset($_COOKIE['146829gigapuding'])) 
    { 
    Echo "Sorry You have already ranked that site"; 
    } 
else 
    { 
    $month = 2592000 + time(); 
    setcookie('146829gigapuding',Voted,$month); 
    mysql_query ("UPDATE searchengine SET rating = rating+$voted, votes = votes+1 WHERE id = $id"); 
    Echo "Your vote has been cast"; 
    } 
}  

SQL连接,查询和一堆其他的代码是有,但有与它没有任何问题,我尝试移动代码顺序,但一无所获。

令我担心的是有没有办法去除?模式=投另一件事...参数afther票是投。

tnx提前。

+0

之前,不要以为我见过'echo'之前在PHP资本化'Echo'。使它看起来像VB代码。 – 2011-05-27 00:56:29

+0

hm,甚至没有注意到它,但是当你复制代码的一部分而不是写入时会发生这种情况。 – Arremer 2011-05-27 01:46:39

回答

3

正如我在这里看到

".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."?mode=vote&voted=1&id=".$data[id]." 

你有吗? (问号)两次,这会使您的网址无效。尝试将其更改为

".$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."&mode=vote&voted=1&id=".$data[id]." 

,看看会发生什么:)

P.S .:的变化是什么?到&模式

+0

-_-' 修正了它,ty。 – Arremer 2011-05-27 01:50:18