2012-01-13 8 views
0

私はファサマッシュアナログを作っています。問題が発生しました。私が第2のイメージに投票すると、勝者はとにかく最初のイメージです。問題はどこですか?ウェブサイト:http://facemash123.shimansky.ru投票に問題があります

<form METHOD=POST ACTION="rate.php"> 
<table width="auto" align="center"> 
    <tr align="center" width="auto" valign="top"> 
     <td><img src="images/<?=$images[0]->filename?>" /></td> 
     <td><img src="images/<?=$images[1]->filename?>" /></td> 
    </tr> 
    <tr> 
     <td><input type="submit" name="winner" value="Vote"></td> 
     <td><input type="submit" name="winner" value="Vote"><td> 

     <input type="hidden" name="first" value="<?=$images[0]->image_id?>"> 
     <input type="hidden" name="second" value="<?=$images[1]->image_id?>"> 
    </tr> 
    <tr> 
     <td><center>Wins: <?=$images[0]->wins?>, Fails: <?=$images[0]->losses?></center></td> 
     <td><center>Wins: <?=$images[1]->wins?>, Fails: <?=$images[1]->losses?></center></td> 
    </tr> 
</table> 
</form> 

rate.php http://jsfiddle.net/Rg7vf/ index.phpを事前にhttp://jsfiddle.net/ad3PM/

THANKS!

+1

また、なぜあなたはそれが失敗する増分イメージに投票場合:)赤いセーターでそのひよこです:投票処理コードに続い

<td><input type="submit" name="winner" value="Vote for Img #1"></td> <td><input type="submit" name="winner" value="Vote for Img #2"><td> 

と:

は多分にコードを変更します –

+0

@bobekそれは私が尋ねた問題ではありません... –

答えて

6

2つの送信ボタンは同じ値を送信し、2つの画像を区別する方法はありません。

switch($_POST['winner']) { 
    case "Vote for Img #1": 
     $vote_id = $_POST['first']; 
     break; 
    case "Vote for Img #2": 
     $vote_id = $_POST['second']; 
     break; 
    default: 
     die("VOTER FRAUD! CALL THE FEC!"); 
} 
+0

ありがとうございますが、正確にどこに処理コードを貼り付けるべきですか? –

+3

2つの異なる 'name'も使用できます。送信されたものだけが送信されます。 'value'をテストすることはi18nによって混乱することがあります。 – Damien

+0

@Marc私はこのコードを置く場所を本当に理解していない=( –

関連する問題