Problème script

Statut
N'est pas ouverte pour d'autres réponses.

DeScH

AstaLaVista
Hello, j'ai téléchargé un petit script permettant de recuperer les images d'un dossier et d'en faire des images réduites sur une page, mais il y a un problème: lorsque je veux faire suivant ou précédent, que je veux afficer la seconde partie, ca ne marche pas. Qq1 saurait-il m'aider?


<?

function isImg ($file){if (eregi(".jpg$",$file)){return true;}} // Fonction de verification des fichiers jpeg

$genererImg = "images.php"; // Fichier php qui se charge de faire les reduction d'image
$repImg = "images"; // Repertoire des images
$handle = opendir("$repImg"); // On ouvre le repertoire des images
while ($file = readdir($handle))
{if ($file != "." && $file != ".." && isImg ($file))
{$listImg[] = $file; // On place toutes les images du dossier dans le tableau $imgList
sort($listImg);}} // On classe les fichiers dans l'orde alphabetique (c'est plus mieux ;D) )
closedir($handle); // On ferme le repertoire des images

// presentation de la page
echo "
<body bgcolor=#000000>
";


$lien = "images.php?"; // Liens pour afficher votre page
if (empty($Galerie)) {$Galerie = 1;}
$precGalerie = $Galerie-1; // Galerie precedente
$suivGalerie = $Galerie+1; // Galerie suivante

$nbImg = count($listImg); // Compte le nombre d'image
$nbLigne = 5; // Nombre de ligne souhaité
$nbCol = 4; // Nombre de colonne souhaité
$nbImgParPg = $nbLigne*$nbCol; // Calcul du nombre d'image par page
$nbGalerie = $nbImg/$nbImgParPg; // Calcul du nombre de galerie
$nbGalerie = ceil("$nbGalerie"); // Calcul du nombre de galerie, arrondi superieur du calcul
$numImg = ($Galerie*$nbImgParPg)-$nbImgParPg; // Compteur pour le tableau $imgList

echo"<table border=0 cellspacing=5 cellpadding=3 width=100% align=center>
<tr:colere:td colspan=$nbCol:colere:font size=25 face=Arial:colere:/font> <font size=5 face=Arial:colere:/font:colere:/td:colere:/tr>";

$comptLigne = 0; // Mise a zero du compteur de lignes
while ($comptLigne < $nbLigne)
{echo "<tr>";
$comtpImg = 0; // Mise a zero du compteur d'images
while ($comtpImg < $nbCol && $numImg < $nbImg)
{echo "<td align=center:colere:a target=blank href=\"$repImg/$listImg[$numImg]\":colere:img src=\"$repImg/$listImg[$numImg]\" border=0 width=150 height=120:colere:/a:colere:/td>";

//change la ligne ci-dessus pour la taille des miniatures

$numImg++; // Incremantation du compteur de $imgList (each() et foreach() etait beaucoup moins pratique :D( )
$comtpImg++; // Incremantation du compteur d'images
}
echo "</tr>";
$comptLigne++; // Incremantation du compteur de lignes
}
echo "<tr:colere:td colspan=$nbCol align=center:colere:table width=100% border=0 cellspacing=0 cellpadding=0:colere:tr align=center:colere:td colspan=2>";
for ($compt = 1; $compt <= $nbGalerie && $nbGalerie > 1; $compt++)
{echo"| <a href=\"$lien"."Galerie=$compt\">$compt</a> ";}
if ($nbGalerie > 1){echo" | ";}
echo "</td:colere:/tr:colere:tr:colere:td width=50% align=left>";
if ($Galerie > 1)
{echo "<a href=\"$lien"."Galerie=$precGalerie\">Precedent</a> ";} // Lien "precedent"
echo" </td:colere:td width=50% align=right>";
if ($Galerie < $nbGalerie)
{echo "<a href=\"$lien"."Galerie=$suivGalerie\">Suivant</a>";} // Lien "suivant"
echo "</td:colere:/tr:colere:/table:colere:/td:colere:/tr:colere:/table:colere:/body:colere:/html>";
?>
 

*Serval

Elite
ah enfin, on commencait à s'embeter Leaf et moi :D


Euh je comprends pas exactement ton problème :/

C'est quand on cliques sur galerie suivante ou précédente que ca foire ?
 
1er
OP
DeScH

DeScH

AstaLaVista
Voila du travail alors :D
en fait quand je clique, l'url se transforme en ***/images.php?Galerie=2 mais la page reste la meme que la première
 

AssiuM

Fan
Et si tu rappuies une fois sur suivant, est-ce que le gallerie passe à 2 ?
Si pas , remplace les $galleries par $_GET['galleries'] là où il interprète la valeur passée en get :)
 
1er
OP
DeScH

DeScH

AstaLaVista
quand je clique sur suivant il va toujours sur 2.
 

AssiuM

Fan
Encore plus simple : rajoute ça au début du script et ça va fonctionner :

$Galerie=$_GET['Galerie']; (après le <?PHP du début)

Sinon essaie aussi de changer le code html, parce que là il est vraiment ... :-s
et pis un petit \n par ci par là après les </tr> ça fait pas de tord hein ^^
 
1er
OP
DeScH

DeScH

AstaLaVista
ça fonctionne :D
un grand merci
 

AssiuM

Fan
Avec plaisir :) .
 

Leaf

pentoboules (h)
Han j'arrive en retard :-D

Une autre question DeScH ? :p
 

*Serval

Elite
Leaf a dit:
Han j'arrive en retard :-D

Une autre question DeScH ? :p
oauis, fait nous travailler un peu :p

Recode une galerie toi-même et viens nous poser plein de questions :D
 

AssiuM

Fan
Un truc plus complexe que celle là, avec création de thumbnails, gestion des commentaires, gestion utilisateurs, et tout et tout :mrgreen:
 
1er
OP
DeScH

DeScH

AstaLaVista
ca ira :D
Tiens j'ai encore une question, est-ce que ce script est sécurisé?
 

*Serval

Elite
je dirais : presque

En fait, ca dépend de l'utilisation que tu en fait ;)


Ce qui me dérange, c'est ton isImg ;)
tu vérifies que ton fichier ai l'extension .jpg, mais cela ne suffit pas. Je peux très bien mettre un executable avec l'extension .jpg ^^

Il faut donc vérifier le type mime du fichier :

function isImg ($file){if (eregi(".jpg$",$file) && $_FILES["file"]["type"] == "image/jpeg Images Jpeg jpg,jpeg,jpe"){return true;}} // Fonction de verification des fichiers jpeg



Si tu veux une liste des autres types mime :
http://www.asp-php.net/ressources/codes/php-verifier_une_extension_de_fichier.htm

Dans ce cas-ci, c'est pas trop dangereux car c'est pas un script d'upload, donc en théorie aucun problème...


Je préfère quand même être prudent, et puis vous me connaissez... Je suis chiant :D (et puis AssiuM avait déjà tout répondu, fallait bien que je trouves un truc à dire :D)
 
1er
OP
DeScH

DeScH

AstaLaVista
ok merci;) et en parlant de bon script d'upload, en aurais-tu un bon bien sécurisé? J'en aurai besoin pour plus tard :)
 

*Serval

Elite
J'en ai des faits maison, mais faut que je les optimise avant de les distribuer ;)

Si j'en ai le temps et l'envie d'ici peu, je te tiens au courant
 
1er
OP
DeScH

DeScH

AstaLaVista
Merci bien ;)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut