[PHP] Images suivantes et précédentes

Images suivantes et précédentes [PHP] - PHP - Programmation

Marsh Posté le 14-02-2007 à 12:10:13    

Hello,
 
Je fais un petit dictionnaire, on tape les 3 premières lettres d'un mot, et ça affiche la page du dictionnaire (.jpg) correspondante par une simple requête.
 
Je souhaite maintenant pouvoir passer à la suivante ou à la précédente, comme si on lisait le livre.
 
Voilà mon code (je sais les tableaux c'est pas bien). J'ai des liens précédents et suivants pour passer d'une page à l'autre, mais je ne trouve pas comment recharger la page avec l'image +1 ou -1 en paramètres.
 

Code :
  1. // Il est en anglais parce que c'est pour une université irlandaise.
  2. <?php
  3. if (isset ($_POST['letters']))
  4. {
  5.  if (isset ($_POST['previous'])) echo'<h1>oui</h1>';
  6.  $query = 'SELECT num_page, first_letters
  7.    FROM pictures
  8.    WHERE first_letters = "'.substr($_POST['letters'],0,3).'"';
  9.   $result = mysql_query($query);
  10.  $row = mysql_fetch_row($result);
  11.  $res = mysql_num_rows($result);
  12.  if ($res>0)
  13.  {
  14.   echo 'Page : '.$row[0].' <br />';
  15.   echo '
  16.    <table width="95%" border="0" cellspacing="0" cellpadding="0">
  17.      <tr>
  18.     <td width="10%"><a href="index.php?&previous" title="Previous page">Previous page</a></td>
  19.     <td><img src="pictures\\'.$row[0].'.png" alt="Picture" width= "900px" /></td>
  20.    <td width="10%"><a href="index.php?&next" title="Previous page">Next page</a></td>
  21.      </tr>
  22.    </table>';
  23.  }
  24.  else {echo 'There are no results for these letters : <b>'.$_POST['letters'].'</b>';}
  25. }
  26. ?>


 
Merci de votre aide :)

Reply

Marsh Posté le 14-02-2007 à 12:10:13   

Reply

Marsh Posté le 14-02-2007 à 13:56:09    

Si t'es sur la page 2, ben dans ton lien précdent t'as index.php?pg=1 et ton lien suivant t'as index.php?pg=3
 
Côté serveur, tu récupères le n° de la page courante pour pouvoir ensuite générer les 2 liens via $_GET["pg"]


Message édité par rufo le 14-02-2007 à 13:56:53
Reply

Marsh Posté le 14-02-2007 à 15:54:24    

Merci :)

Reply

Marsh Posté le 14-02-2007 à 17:53:52    

Et corrige aussi la faille d'SQL injection au passage... même si avec trois caractères on doit pas pouvoir faire grand chose (enfin j'en sais rien, et vaut mieux pas parier là-dessus).
 
=> prepared statements (mysqli), mysql_real_escape_string ou dans ton cas, simple vérification qu'il s'agit bien de trois lettres de l'alphabet, au moins (mais c'est pas incompatible avec les prepared statements...)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 14-02-2007 à 17:54:36    

Et puis la faille XSS aussi d'ailleurs, sur le dernier echo...
 
=> htmlentities/htmlspecialchars (sauf si tu fais la vérification dont je parle plus haut)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed