2012-01-13 3 views
0

나는 facemash 아날로그를 만들고 있는데 문제가 생겼다. 두 번째 이미지에 투표하면 승자가 첫 번째 이미지입니다. 문제가 어디 있니? 웹 사이트 : 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/

감사합니다!

+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 That't 내가 질문 한 문제는 ... –

답변

6

두 개의 제출 버튼이 동일한 값을 제출하므로 두 이미지를 구별 할 수 없습니다.

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

두 개의 다른'name'을 사용할 수도 있습니다. 제출 된 것만 보내집니다. '가치'테스트는 i18n에 의해 엉망이 될 수 있습니다. – Damien

+0

@Marc이 코드를 어디에 넣어야할지 모르겠다. = ( –