Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównywanie obrazów
Forum PHP.pl > Forum > Gotowe rozwiązania
Vanderfell
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?
mietekjawor
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.