Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Porównywanie obrazów
-Vanderfell-
post 1.12.2010, 17:14:50
Post #1





Goście







Mam sobie skrypt do porównywania dwóch obrazków no i niestety kilka problemów.
Oto plik index.php
  1. <?
  2.  
  3. $PreviousResults="<td width=\"150\" id=\"results\" valign=\"top\"><p></p></td>";
  4.  
  5. if(isset($_GET['vote'])) {
  6.  
  7. require_once('mysqlvalues.inc.php');
  8. require_once('mysqlfunc.inc.php');
  9.  
  10. $ids=explode('|', str_replace(',','|', $_GET[vote]));
  11.  
  12. open_conn();
  13. mysql_query("UPDATE models SET Wins=Wins+1 WHERE ID='$ids[0]'");
  14. mysql_query("UPDATE models SET Loses=Loses+1 WHERE ID='$ids[1]'");
  15. $Model1=mysql_query("SELECT ID, Name, Wins, Loses, Draws, Thumbnail, (Wins) / (Wins+Loses) AS WinPercent FROM models WHERE ID='$ids[0]' LIMIT 1");
  16. $Model1=mysql_fetch_assoc($Model1); $WinPercent1=round(($Model1['Wins'] / ($Model1['Wins']+$Model1['Loses'])) * 100, 2);
  17. $Model2=mysql_query("SELECT ID, Name, Wins, Loses, Draws, Thumbnail, (Wins) / (Wins+Loses) AS WinPercent FROM models WHERE ID='$ids[1]' LIMIT 1");
  18. $Model2=mysql_fetch_assoc($Model2);
  19. $WinPercent1=round(($Model1['Wins'] / ($Model1['Wins']+$Model1['Loses'])) * 100, 2);
  20. close_conn();
  21.  
  22. $PreviousResults="<td width=\"700\" id=\"results\" valign=\"top\"> <br/><br/><br><br/><br/>
  23. <p><strong> <p>Ostatni pojedynek</p>
  24. <p>wygrał: <br/>
  25. <a href=\"stats.php?id=$Model1[ID]\"><img src=\"images/uploads/$Model1[Thumbnail]\" alt=\"$Model1[Name]\" title=\"$Model1[Name]\" width=\"125\" height=\"125\" border=\"0\" /></a><br />
  26. <strong>$Model1[Name]</strong> <em></em></p>
  27. <p>przegrał: <br/>
  28. <a href=\"stats.php?id=$Model2[ID]\"><img src=\"images/uploads/$Model2[Thumbnail]\" alt=\"$Model2[Name]\" title=\"$Model2[Name]\" width=\"125\" height=\"125\" border=\"0\" /></a><br />
  29. <strong>$Model2[Name]</strong> <em></em><br/><br/>
  30.  
  31. </td>";
  32. unset($Model1, $Model2, $ids);
  33.  
  34. }
  35. if(isset($_GET['draw'])) {
  36.  
  37. require_once('mysqlvalues.inc.php');
  38. require_once('mysqlfunc.inc.php');
  39.  
  40. $ids=explode('|', str_replace(',','|', $_GET[draw]));
  41.  
  42. open_conn();
  43. mysql_query("UPDATE models SET Draws=Draws+1 WHERE ID='$ids[0]' || ID='$ids[1]' LIMIT 2");
  44. $Model1=mysql_query("SELECT ID, Name, Wins, Loses, Draws, Thumbnail, (Wins) / (Wins+Loses) AS WinPercent FROM models WHERE ID='$ids[0]' LIMIT 1");
  45. $Model1=mysql_fetch_assoc($Model1);
  46. $WinPercent1=round(($Model1['Wins'] / ($Model1['Wins']+$Model1['Loses'])) * 100, 2);
  47. $Model2=mysql_query("SELECT ID, Name, Wins, Loses, Draws, Thumbnail, (Wins) / (Wins+Loses) AS WinPercent FROM models WHERE ID='$ids[1]' LIMIT 1");
  48. $Model2=mysql_fetch_assoc($Model2);
  49. $WinPercent2=round(($Model2['Wins'] / ($Model2['Wins']+$Model2['Loses'])) * 100, 2);
  50. close_conn();
  51.  
  52. $PreviousResults="<td width=\"700\" id=\"results\" valign=\"top\"> <br/><br/><br><br/><br/>
  53. <p>Ostatni pojedynek</p>
  54. <p>wygrał: <br/>
  55. <a href=\"stats.php?id=$Model1[ID]\"><img src=\"images/uploads/$Model1[Thumbnail]\" alt=\"$Model1[Name]\" title=\"$Model1[Name]\" width=\"125\" height=\"125\" border=\"0\" /></a><br />
  56. <strong>$Model1[Name]</strong> <em></em></p>
  57. <p>przegrał: <br/>
  58. <a href=\"stats.php?id=$Model2[ID]\"><img src=\"images/uploads/$Model2[Thumbnail]\" alt=\"$Model2[Name]\" title=\"$Model2[Name]\" width=\"125\" height=\"125\" border=\"0\" /></a><br />
  59. <strong>$Model2[Name]</strong> <em></em><br/><br/>
  60.  
  61. </td>";
  62.  
  63. unset($Model1, $Model2, $ids);
  64.  
  65. }
  66. ?>
  67. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  68. <html>
  69. <head>
  70. <link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
  71. <meta http-equiv="imagetoolbar" content="false" />
  72. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  73. <meta name="keywords" content="" />
  74. <title>Nazwa Strony</title>
  75. </head>
  76.  
  77. <body>
  78.  
  79. <? include('includes/header.php');
  80. ?>
  81.  
  82.  
  83. <div id="main">
  84. <table cellpadding="0" cellspacing="0" border="0" width="100%">
  85. <tr>
  86. <? print $PreviousResults; ?>
  87. <td width="550" id="vote" valign="top">
  88. <table cellpadding="0" cellspacing="0" border="0" width="550" id="votetable">
  89. <tr><td colspan="3"><strong><font size="5">Left or Right?</font><br/>&nbsp;</td></tr>
  90.  
  91. <tr><td colspan="3"><strong>You like it? Send to a Friend!</strong><br/> <br/><br/></td></tr>
  92.  
  93. <?
  94.  
  95. require_once('mysqlvalues.inc.php');
  96. require_once('mysqlfunc.inc.php');
  97.  
  98. open_conn();
  99.  
  100. $res=mysql_query("SELECT ID, Name, Thumbnail, LinkText, LinkUrl FROM models WHERE Status='1' ORDER BY RAND() LIMIT 2");
  101.  
  102. while($row=mysql_fetch_assoc($res)) {
  103.  
  104. $ID[] = $row[ID];
  105. $Thumbnail[] = $row[Thumbnail];
  106. $Name[] = $row[Name];
  107.  
  108. if($row['LinkText'] != '' && $row['LinkUrl'] != '') {$Url[]="<br><br><a href=\"$row[LinkUrl]\">$row[LinkText]</a><br><br>";}else{$Url[]='';}
  109.  
  110. }
  111.  
  112. echo"<td valign=\"top\">
  113.  
  114. <a href=\"index.php?vote=$ID[0],$ID[1]\"><img src=\"images/uploads/$Thumbnail[0]\" alt=\"IMG1\" title=\"$Name[0]\" border=\"0\" width=\"280\" height=\"320\" /></a>
  115. <br /><strong>$Name[0]</strong> $Url[0]
  116. </td>
  117. <td align=\"center\">
  118. <img src=\"images/vs2.jpg\" alt=\"vs\" title=\"vs\"/>
  119. </td>
  120. <td valign=\"top\">
  121. <a href=\"index.php?vote=$ID[1],$ID[0]\"><img src=\"images/uploads/$Thumbnail[1]\" alt=\"$Name[1]\" title=\"$Name[1]\" border=\"0\" width=\"280\" height=\"320\" /></a>
  122. <br /><strong>$Name[1]</strong> $Url[1]
  123. </td>";
  124.  
  125. close_conn();
  126.  
  127. ?>
  128. </tr>
  129.  
  130. <tr><td colspan="3">
  131. <p><a href="index.php?draw=<? echo"$ID[0],$ID[1]"; ?>"><u>Remis (Przewiń)</u></a></p>
  132. </td></tr>
  133. </table>
  134. </td>
  135. <td width="150" id="sponsor">
  136.  
  137.  
  138.  
  139. <p align="center">
  140.  
  141. </p>
  142.  
  143. </td>
  144. </tr>
  145. </table>
  146. </div>
  147.  
  148. <? include('includes/footer.php'); ?>
  149.  
  150. </div>
  151. </body>
  152. </html>



Problem polega na tym iż skrypt wyświetla w oknie adresu przeglądarki ID zdjęć.
Zobrazuję mój problem:

W tym przypadku skrypt porównuje zdjęcia o ID 456 i 110, problem polega na tym, że w tej sytuacji mając ten link w oknie adresu można odświeżać stronę dowolną ilość, co prawda zostaną wyświetlone nowe zdjęcia, ale wygrana w dalszym ciągu jest przypisywana obrazowi o ID 456.
Niestety w ten sposób można nabić na dany obrazek w ciągu 3 minut kilkaset wygranych pojedynków i tym samym oszukać cały ranking.
Mógłby ktoś polecić jakieś rozwiązanie tego problemu?

Oraz... czy mógłby mi ktoś przybliżyć operacje wykonywanie w linijkach od 13 do 21?
Go to the top of the page
+Quote Post
mietekjawor
post 10.12.2010, 23:44:25
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Trochę dziwny ten kod źródłowy. Jeśli przeszkadza Ci ten problem to proponuję przesyłanie zmiennych za pomocą innej metody.
Na chwilę obecną ten skrypt jest podatny na różnego rodzaju oszustwa, także zamiast łatać przepisz porządnie od nowa.


--------------------
serwis społecznościowy | Gram w Word of Warcraft Cataclysm :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 06:58