begin process at 2012 05 27 21:32:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > GALLERIE DEPUIS UN DOSSIER AVEC PAGINATION DE TYPE GOOGLE

GALLERIE DEPUIS UN DOSSIER AVEC PAGINATION DE TYPE GOOGLE


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :gallerie, pagination, dossier Niveau :Débutant Date de création :17/08/2007 Date de mise à jour :02/10/2007 22:44:17 Vu / téléchargé :8 690 / 705

Auteur : noobmaster

Ecrire un message privé
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bon salut tout le monde^^
une petite gallerie depuis un dossier de votre choix avec la pagination de type google qui va bien avec^^

Bon je balance ca un peu comme un pavé dans la marre, en m'apprétant a éssuyer les éclaboussures.
Mais bon je fait ce que je peut avec mes variables :P.
mais ne soyez pas indulgent.
De toutes façons les compliments ca ne fait pas avancer le shmilblick^^.
Enfin voila, j'éspére surtout que ca aideras des gens qui voudrait avoir une galerie avec une pagination sans passer par la table SQL.

Source

  • <?php
  • //////////////////////////////////////////////////////////////////////////////////////////////
  • //////////////////////////////////////////A EDITER////////////////////////////////////////////
  • $dossier = 'gallerie';//le nom de votre dossier ou se trouve vos photos //
  • //////////////////////////////////////////////////////////////////////////////////////////////
  • //////////////////////////////////////////////////////////////////////////////////////////////
  • function secure($requette){
  • $date = strftime('%Y-%m-%d %H:%M:%S');
  • $date2= strftime('%Y-%m-%d');
  • $ip = $_SERVER['REMOTE_ADDR'];
  • $chemin1 = $_SERVER['PHP_SELF'];
  • touch('info-'.$date2.'.log');
  • /////////////////////////////////A EDITER SI NECESSAIRE//////////////////////////////////////
  • $fp=fopen('admin/log/info/info-'.$date2.'.log','a');//chemin par defaut: admin/log/info/ //
  • /////////////////////////////////////////////////////////////////////////////////////////////
  • fwrite($fp,"[Date:$date]<->[IP:$ip]<->[Origine:$chemin1]<->[Requette:$requette]\n\r");
  • echo '<script language=\'Javascript\'>
  • alert ("Votre requette n\'est pas authorisé! Pour des raisons de sécurités votre IP et votre requette ont été enregistrés et seront analysés.")
  • window.location.replace("'.$_SERVER['PHP_SELF'].'");
  • </script>';
  • exit();
  • }
  • if(isset($_COOKIE['affichage'])){
  • $cookie = $_COOKIE['affichage'];
  • $val=split('[;.-]',$cookie);
  • if(is_numeric($val[0]) && strlen($val[0]) < 5){
  • $max_images = addslashes($val[0]);
  • }
  • else{
  • $requette = $val[0];
  • secure($requette);
  • }
  • if(is_numeric($val[1]) && strlen($val[1]) < 5){
  • $miniatures = addslashes($val[1]);
  • }
  • else{
  • $requette = $val[1];
  • secure($requette);
  • }
  • }
  • else{
  • $max_images = 10;
  • $miniatures = 150;
  • }
  • ?>
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • <html>
  • <head>
  • <link rel="stylesheet" href="style.css" type="text/css" media="all">
  • <meta http-equiv="Content-Type" content="text/html/css; charset=ISO-8859-1"><title>Ma_gallerie</title>
  • <meta name="Asherah Gallerie v1.0.2" content="crée par benjamin Peneaux pour Phpcs.com">
  • </head>
  • <body>
  • <table width="800"><tr><td width="800"><img src="images/logo.png" alt="logo"></td></tr>
  • <tr><td class="tableau" width="800" valign="middle">
  • <form method="get" action="">
  • <p>
  • Nombe d'images: <select name="nombre" size="1" id="select1">
  • <option>2</option>
  • <option>4</option>
  • <option>6</option>
  • <option selected>10</option>
  • <option>20</option>
  • <option>30</option>
  • <option>40</option>
  • <option>50</option>
  • <option>60</option>
  • <option>70</option>
  • <option>80</option>
  • <option>90</option>
  • <option>100</option>
  • <option>150</option>
  • </select>
  • Taille des miniatures: <select name="taille" size="1" id="select2">
  • <option>30</option>
  • <option>50</option>
  • <option selected>100</option>
  • <option>150</option>
  • <option>200</option>
  • <option>250</option>
  • <option>300</option>
  • <option>400</option>
  • </select>
  • <input type="submit" value="Valider">
  • </p>
  • </form>
  • <?php
  • if(isset($_GET['nombre'])){
  • if(is_numeric($_GET['nombre']) && strlen($_GET['nombre']) < 5){
  • $max_images = addslashes($_GET['nombre']);
  • }
  • else{
  • $requette = $_GET['nombre'];
  • secure($requette);
  • }
  • }
  • if(isset($_GET['taille'])){
  • if(is_numeric($_GET['taille']) && strlen($_GET['taille']) < 5){
  • $miniatures = addslashes($_GET['taille']);
  • }
  • else{
  • $requette = $_GET['taille'];
  • secure($requette);
  • }
  • }
  • if(!isset($_GET['images'])){
  • $affichage = 0;
  • $index = $affichage/$max_images+1;
  • }
  • else{
  • $affichage = addslashes($_GET['images']);
  • if(is_numeric($affichage) && strlen($_GET['images']) < 5){
  • $index = $affichage/$max_images+1;
  • }
  • else{
  • $requette = $_GET['images'];
  • secure($requette);
  • }
  • }
  • if(!isset($_GET['pages'])){
  • }
  • else{
  • $page = addslashes($_GET['pages']);
  • if(is_numeric($page) && strlen($_GET['pages']) < 5){
  • $affichage = $page*$max_images;
  • $index = $page+1;
  • }
  • else{
  • $requette = $_GET['pages'];
  • secure($requette);
  • }
  • }
  • echo '
  • <form method ="post" action="sauvegarde.php">
  • <input type="hidden" name="nombre" value="'.$max_images.'">
  • <input type="hidden" name="taille" value="'.$miniatures.'">
  • <input type="submit" value="Sauvegarder">
  • </form>
  • </td></tr><tr><td width="800" align="left">';
  • $tableau = array();
  • if(is_dir($dossier)) {
  • $dir = opendir($dossier) or die('Impossible d\'ouvrir le dossier');
  • while (false !== ($file = readdir($dir))) {
  • if ($file != '.' && $file != '..') {
  • $tableau[] = $file;
  • }
  • }
  • }
  • $total = count($tableau);
  • if($total == 0 ){
  • echo'Le Dossier '.$dossier.' est vide ou n\'éxiste pas.';
  • exit();
  • }
  • closedir($dir);
  • if($total < $max_images){
  • $unique = 1;
  • }
  • $max = $max_images;
  • $suivant = $affichage+$max;
  • $precedent = $affichage-$max;
  • for ($i=$affichage; $i<$suivant; $i++){
  • if($i < $total){
  • echo '<a href="'.$dossier.'/'.$tableau[$i].'"><img class="image" src="'.$dossier.'/'.$tableau[$i].'" height="'.$miniatures.'" alt="'.$tableau[$i].'"></a>';
  • }
  • else{
  • $fin = 'fin';
  • break;
  • }
  • }
  • if(!isset($fin)){
  • $url = $_SERVER['PHP_SELF'].'?images=';
  • $pointeur = $suivant;
  • $suivant='<a class="lien1" href="'.$url.$pointeur.'&amp;nombre='.$max.'&amp;taille='.$miniatures.'"><img class="image" src="images/suivant.PNG" alt="suivant"></a>';
  • }
  • else{
  • $suivant='';
  • $suite = $suivant;
  • }
  • if($precedent >= 0){
  • $url2 = $_SERVER['PHP_SELF'].'?images=';
  • $pointeur2 = $precedent;
  • $precedent = '<a class="lien1" href="'.$url2.$pointeur2.'&amp;nombre='.$max.'&amp;taille='.$miniatures.'"><img class="image" src="images/precedent.PNG" alt="precedent"></a>';
  • }
  • else{
  • $precedent = '';
  • }
  • if(!isset($unique)){
  • $retour = $precedent;
  • $suite = $suivant;
  • echo '<tr><td class="tableau" align="center" valign="middle"><p>'.$retour;
  • }
  • $pages = ceil($total/$max);
  • $index2 = $index-4;
  • if($index2 < 0){
  • $index2 = 0;
  • }
  • $index3 = $index+4;
  • if($index3 > $pages){
  • $index3 = $pages;
  • }
  • for ($j=$index2; $j<$index3; $j++){
  • $url3 = $_SERVER['PHP_SELF'].'?pages=';
  • $pointeur3 = $j;
  • $numero = $j+1;
  • $numero1 = ereg_replace(''.$index.'','<b><font size="5">'.$index.'</font></b>',$numero);
  • $pagination = '<a href="'.$url3.$pointeur3.'&amp;nombre='.$max.'&amp;taille='.$miniatures.'">'.$numero1.'|</a>';
  • if(!isset($unique)){
  • ///////////////////////////////////////////////////////////////////////////////////////
  • //////////////////////////////mise en page pagination//////////////////////////////////
  • echo $pagination; //
  • ///////////////////////////////////////////////////////////////////////////////////////
  • ///////////////////////////////////////////////////////////////////////////////////////
  • }
  • }
  • echo $suite;
  • ?>
  • </p></td></tr>
  • <tr><td align="center" valign="middle">
  • <p>
  • <a href="http://jigsaw.w3.org/css-validator/"><img class="image" src="http://jigsaw.w3.org/css-validator/images/woolly-icon" alt="CSS"></a>
  • <a href="http://validator.w3.org/check?uri=referer"><img class="image" src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
  • </p>
  • </td></tr>
  • </table>
  • </body>
  • </html>
<?php
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////A EDITER////////////////////////////////////////////
$dossier = 'gallerie';//le nom de votre dossier ou se trouve vos photos                     //
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////

function secure($requette){
$date = strftime('%Y-%m-%d %H:%M:%S');
$date2= strftime('%Y-%m-%d');
$ip = $_SERVER['REMOTE_ADDR']; 
$chemin1 = $_SERVER['PHP_SELF'];
touch('info-'.$date2.'.log');

/////////////////////////////////A EDITER SI NECESSAIRE//////////////////////////////////////
$fp=fopen('admin/log/info/info-'.$date2.'.log','a');//chemin par defaut: admin/log/info/   //                                 
/////////////////////////////////////////////////////////////////////////////////////////////

fwrite($fp,"[Date:$date]<->[IP:$ip]<->[Origine:$chemin1]<->[Requette:$requette]\n\r");
echo '<script language=\'Javascript\'>
alert ("Votre requette n\'est pas authorisé! Pour des raisons de sécurités votre IP et votre requette ont été enregistrés et seront analysés.") 
window.location.replace("'.$_SERVER['PHP_SELF'].'");
</script>';
exit();
}

if(isset($_COOKIE['affichage'])){
$cookie = $_COOKIE['affichage'];
$val=split('[;.-]',$cookie);

if(is_numeric($val[0]) && strlen($val[0]) < 5){
$max_images = addslashes($val[0]);
}
else{
$requette = $val[0];
secure($requette);
}
if(is_numeric($val[1]) && strlen($val[1]) < 5){
$miniatures = addslashes($val[1]);
}
else{
$requette = $val[1];
secure($requette);
}
}
else{
$max_images = 10;
$miniatures = 150;
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html/css; charset=ISO-8859-1"><title>Ma_gallerie</title>
<meta name="Asherah Gallerie v1.0.2" content="crée par benjamin Peneaux pour Phpcs.com">
</head>
<body>
<table width="800"><tr><td width="800"><img src="images/logo.png" alt="logo"></td></tr>
<tr><td class="tableau" width="800" valign="middle">
<form method="get" action="">
<p>
Nombe d'images: <select name="nombre" size="1" id="select1">
<option>2</option>
<option>4</option>
<option>6</option>
<option selected>10</option>
<option>20</option>
<option>30</option>
<option>40</option>
<option>50</option>
<option>60</option>
<option>70</option>
<option>80</option>
<option>90</option>
<option>100</option>
<option>150</option>
</select>
Taille des miniatures: <select name="taille" size="1" id="select2">
<option>30</option>
<option>50</option>
<option selected>100</option>
<option>150</option>
<option>200</option>
<option>250</option>
<option>300</option>
<option>400</option>
</select>
<input type="submit" value="Valider">
</p>
</form>

<?php
if(isset($_GET['nombre'])){
if(is_numeric($_GET['nombre']) && strlen($_GET['nombre']) < 5){
$max_images = addslashes($_GET['nombre']);
}
else{
$requette = $_GET['nombre'];
secure($requette);
}
}
if(isset($_GET['taille'])){
if(is_numeric($_GET['taille']) && strlen($_GET['taille']) < 5){
$miniatures = addslashes($_GET['taille']);
}
else{
$requette = $_GET['taille'];
secure($requette);
}
}

if(!isset($_GET['images'])){
$affichage = 0;
$index = $affichage/$max_images+1;
}
else{
$affichage = addslashes($_GET['images']);
if(is_numeric($affichage) && strlen($_GET['images']) < 5){
$index = $affichage/$max_images+1;
}
else{
$requette = $_GET['images'];
secure($requette);
}
}
if(!isset($_GET['pages'])){
}
else{
$page = addslashes($_GET['pages']);
if(is_numeric($page) && strlen($_GET['pages']) < 5){
$affichage = $page*$max_images;
$index = $page+1;
}
else{
$requette = $_GET['pages'];
secure($requette);
}
}

echo '
<form method ="post" action="sauvegarde.php">
<input type="hidden" name="nombre" value="'.$max_images.'">
<input type="hidden" name="taille" value="'.$miniatures.'">
<input type="submit" value="Sauvegarder">
</form>
</td></tr><tr><td width="800" align="left">';

$tableau = array(); 
if(is_dir($dossier)) {
$dir = opendir($dossier) or die('Impossible d\'ouvrir le dossier');

while (false !== ($file = readdir($dir))) {
if ($file != '.' && $file != '..') {
$tableau[] = $file;
}
}
}
$total = count($tableau);
if($total == 0 ){

     echo'Le Dossier '.$dossier.' est vide ou n\'éxiste pas.';
     exit();

}
closedir($dir);

if($total < $max_images){
$unique = 1;
}

$max = $max_images;
$suivant = $affichage+$max;
$precedent = $affichage-$max;
for ($i=$affichage; $i<$suivant; $i++){
if($i < $total){
echo '<a href="'.$dossier.'/'.$tableau[$i].'"><img class="image" src="'.$dossier.'/'.$tableau[$i].'" height="'.$miniatures.'" alt="'.$tableau[$i].'"></a>';
}
else{
$fin = 'fin';
break;
}
}
if(!isset($fin)){
$url = $_SERVER['PHP_SELF'].'?images=';
$pointeur = $suivant;
$suivant='<a class="lien1" href="'.$url.$pointeur.'&amp;nombre='.$max.'&amp;taille='.$miniatures.'"><img class="image" src="images/suivant.PNG" alt="suivant"></a>';
}
else{
$suivant='';
$suite = $suivant;
}
if($precedent >= 0){
$url2 = $_SERVER['PHP_SELF'].'?images=';
$pointeur2 = $precedent;
$precedent = '<a class="lien1" href="'.$url2.$pointeur2.'&amp;nombre='.$max.'&amp;taille='.$miniatures.'"><img class="image" src="images/precedent.PNG" alt="precedent"></a>';
}
else{
$precedent = '';
}
if(!isset($unique)){
$retour = $precedent;
$suite = $suivant;                                          
echo '<tr><td class="tableau" align="center" valign="middle"><p>'.$retour;
}
 
$pages = ceil($total/$max);
$index2 = $index-4;
if($index2 < 0){
$index2 = 0;
}
$index3 = $index+4;
if($index3 > $pages){
$index3 = $pages;
}

for ($j=$index2; $j<$index3; $j++){

$url3 = $_SERVER['PHP_SELF'].'?pages=';
$pointeur3 = $j;
$numero = $j+1;
$numero1 = ereg_replace(''.$index.'','<b><font size="5">'.$index.'</font></b>',$numero);
$pagination = '<a href="'.$url3.$pointeur3.'&amp;nombre='.$max.'&amp;taille='.$miniatures.'">'.$numero1.'|</a>';
if(!isset($unique)){
///////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////mise en page pagination//////////////////////////////////
echo $pagination;                                                                    //
///////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////
}
}
echo $suite;
?>
</p></td></tr>
<tr><td align="center" valign="middle">
<p>
<a href="http://jigsaw.w3.org/css-validator/"><img class="image" src="http://jigsaw.w3.org/css-validator/images/woolly-icon" alt="CSS"></a>
<a href="http://validator.w3.org/check?uri=referer"><img class="image" src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
</p>
</td></tr>
</table>
</body>
</html>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

17 août 2007 22:44:40 :
ajout du script dans la partie code.
17 août 2007 22:46:50 :
ajout du script dans la partie code.
18 août 2007 21:24:42 :
Update1: 1-ajout d'une fonction de sécurité plus fiable et d'un fichier .log 2-possibilité de choisir en visuel la taille et le nombre d'images a afficher. 3-verification de l'éxisitence du fichier demandé (merci Syllebreton ^^). 4-quelque corréctions par-ci par-la.
19 août 2007 14:44:08 :
Update2 mise a jour de la securité
19 août 2007 19:15:22 :
Update3 ajout de la possibilité d'enregistrer les parametres d'affichage via un cookie. Mise a la norme graphique IE ><" (malgrés que le fichier CSS soit validé W3C, mais apparament IE n'en fait pas parti), et au passage petit bidouillage graphique des liens suivant et precedents ^^.
20 août 2007 01:22:04 :
Update4 correction du bug de la variable $suite.
27 août 2007 11:36:45 :
Update version stable
28 septembre 2007 09:35:23 :
erf, Ajout de la page "sauvegarde.php" que j'avais oublié de joindre ^^"
02 octobre 2007 22:44:17 :
modif'

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

 Sources en rapport avec celle ci

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ... par cod57
Source avec Zip Source avec une capture PAGINATION JAVASCRIPT PHP MYSQL par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj

Commentaires et avis

Commentaire de webdeb le 17/08/2007 23:26:35

Arf tu ne connais pas les fonctions utilisateurs ? En encapsulant le tout correctement, on pourrait exploiter ton script en une seule fonction qui aurait comme paramètres les variables globales de configuration.

Commentaire de noobmaster le 17/08/2007 23:46:30

J'ai pensé a faire une fonction, mais je me suis demandé si ca serait vraiment utile.
Je part en vacance demain, je m'attacherais a la chose a mon retour^^.
En tout cas merci pour ton avis^^.

Commentaire de syllebreton le 18/08/2007 00:14:35

Salut

Quelques bonnes choses pour commencer :
- l'utilisation des balises <?php ?>
- l'utilisation des simples quotes
- la validation d'un  doctype HTML mais tu devrais essayer le XHTML !

Maintenant "les éclaboussures" comme tu l'as dis :
- Les test des variables (et donc la sécurité) laissent à désirer, quelques exemples :
-- $affichage = $_GET['images'];
A remplacer par :
$affichage = addslashes($_GET['images']);
(voir http://fr.php.net/manual/fr/function.addslashes.php)

de même : $page = $_GET['pages'];
$page = addslashes($_GET['pages']);

Ensuite :

$dir = opendir($dossier);

while($file = readdir($dir)) $tableau[] = $file;

closedir($dir);
$total = count($tableau);

if($total == 0){

echo'Le Dossier '.$dossier.' est vide.';
exit();

}

-------
a remplacer par :

if(is_dir($dossier)) { // Contrôle que le dossier existe bien
     $dir = opendir($dossier) or die('Impossible d\'ouvrir le dossier');

     while (false !== ($file = readdir($handle))) {
         if ($file != '.' && $file != '..') {
             $tableau[] = $file;
         }
     }
}

if(count($tableau) == 0 ){

     echo'Le Dossier '.$dossier.' est vide.';
     exit();

}

------

$url = $_SERVER['PHP_SELF']."?images=";
-> Pourquoi images=*rien* ? J'ai pas saisi. Cette erreur est récurente dans le script.

$suivant='<a class="lien" href="'.$url.''.$pointeur.'">[suivant]</a>';
-> Ici on peut écrire :
$suivant = '<a class="lien" href="'.$url.$pointeur.'">[suivant]</a>';

--
$numero1 = ereg_replace(''.$index.'','<b><font size="5">'.$index.'</font></b>',$numero);
->Pas besoin de mettre ''.$ma_variable.''
Ceci est mieu :
$numero1 = ereg_replace($index, '<b><font size="5">'.$index.'</font></b>', $numero);

------
Une petite incoérence mathématique au début du script aussi :
$affichage = 0;
$index = $affichage/$max_images+1;
$index égal forcément 1 autant faire juste un $index = 1;


Je t'ai notifié quelques erreurs et imperfections mais cependant il en subsite toujours dans ton script ! Alors c'est à toi de faire des recherches sur les fontions et les possibilitées d'amélioration du script.

Bon courage ;)

Commentaire de noobmaster le 18/08/2007 00:27:21

ouhlalala ca me donne mal tout ce que tu dit :P
y a des trucs auquels j pourrait repondre
comme "$index = $affichage/$max_images+1;"

mais j'ai pas la force la :/

En tout cas merci beaucoups pour tes remarques, je vais tacher de les comprendre avant de les modifier, et j'analyserais tout ca a mon retour^^.

N'hésitez pas de a faire des remarques, car j'ai posté cette source justement pour ca.
Comme je travail dans mon coin en apprenant comme je peut sur internet, j'ai besoin d'un regard expérimenté et objectif afin de progresser.
Donc tout me seras utile^^

Commentaire de noobmaster le 18/08/2007 21:37:21

Bon voila j'ai réfléchit a ce que m'avait dit Webdeb, je ne jugais pas utile de faire une fonction globale du script seulement pour l'utiliser via les paramétres d'affichages; Alors j'ai mis en place une gestion de l'affichage directement en visu', comme ca tout les visiteurs peuvent choisir leurs paramétres.
J'en ai aussi profité pour modifier ma verification de variable par l'url, personelement je n'ai aucunes confiances aux addslashes, (mais bon c'est juste un appriori), donc j'ai restreint aux entrées numeriques (comme ce ne sont que des chiffres qui transitent), je peut me tromper mais ca me parait plus fiable.
J'en ai profité au passage pour ajouté une fonction de sécurité qui crée ou édite un fichier .log que j'ai logé dans un dossier admin qui en l'occurence recupéreras l'ip du malveilant ainsi que la requette nocive;,la date etc.., évidament ca seras a vous de mettre en place les Chmod et les Htacces si vous le mettez sur votre serveur.
puis j'ai corrigé les quelques petits trucs par ci par la^^ enfin voilou^^

Commentaire de syllebreton le 19/08/2007 01:14:30

Re

Je crois avoir déjà lu que la vérifiction is_numeric pouvait-être détournée (ce n'est pas une certitude) donc l'utilisation d'un addslashes est impératif ! C'est une fonction faite spécialement par les dévellopeurs de PHP pour sécurisé le code donc tu peut avoir confiance ;)

Bonsoir

Commentaire de noobmaster le 19/08/2007 14:11:30

re^^

je ne dit pas que la fonction addslashes est inutile, mais dans ce cas precis je ne pense pas qu'elle soit efficace car elle n'empeche pas d'entrer: http://127.0.0.1/test/index.php?pages=10&nombre=fdgdfg&taille=150

ce qui retourneras forcement une erreur critique.
par contre je vais me renseigner sur la securité de la fonction is_numerique, je pense aussi qu'il va faloir que je limite la chaine.

mais par contre ca n'empeche pas de coupler la fonction addslashes a is _numerique c'est d'ailleur ce que je vais faire, mais bon normalement il ne doit pas y avoir de soucis vu que c'est limité aux caractéres numerique (normalement ^^"), a moins qu'il y est un fou qui entre une requete en binaire (je sais meme pas si c'est possible). mais je vais quand meme limiter la chaine^^

Commentaire de syllebreton le 19/08/2007 14:14:45

pas is_numerique mais is_numeric !
Et je pense qu'avec tout sa tu dois etre couvert au niveau sécurité (encore que...)

Commentaire de noobmaster le 19/08/2007 14:26:28

oui pardon ^^" désfois j'écrit comme je parle :/ ,en tout cas merci beaucoup, pour tes conseils^^

Commentaire de noobmaster le 19/08/2007 14:45:08

*Updaté*

Commentaire de noobmaster le 19/08/2007 19:21:24

*Nouvel update*
Mise a la norme graphique d'IE ><".
Possibilité d'enregistrer les parametres d'affichage via un cookie.
Petite amelioration graphique au passage des liens suivant et precedent^^.

Commentaire de noobmaster le 20/08/2007 01:11:48

/!\ ne pas utiliser cet update!!!!

(rien de bien mechant mais bug quand meme :/)
*anomalie repéré dans la variable $suite*


//prochaine corection dans 1 semaine (je ne pourrais plus acceder a internet d'ici la) donc juste un peu de patience^^.//

Commentaire de noobmaster le 20/08/2007 01:24:22

*RESOLU* -update stable- (je ne pouvais pas vivre pendant 1 semaine avec le poid d'un bugsur la conscience ^^") je vais maintenant pouvoir savourer mes vacances^^ ciaoooooo!!!!!!!!!!!!!!! xD

Commentaire de noobmaster le 20/08/2007 01:46:55

encore une anomalie repéré *mais sans consequences //uniquement de type graphique//* dans l'affichage du lien suivant,
Bon cette fois-ci correction dans une semaine :/

Commentaire de GREGGRAPH le 20/08/2007 11:12:13

Vivement la fin des vacanes

Commentaire de noobmaster le 27/08/2007 11:42:49

et voili voilou^^ comme promis je suis rentré de vacances, apres ces quelques jours de bonheur à St cloud a Rock en Seine, la tete dans dans le brouillard et les oreilles sifflantes, je me suis penché tant bien que mal sur ce malheureux code, et comme promis le tout a été updaté, j'ai réalisé une batterie de test  et je n'ai pas trouvé d'autres dysfonctionnements, je considére donc cette update comme un update stable et probablement final, si vous trouvé un bug quelquonques tenez moi au courant^^. sur ce je vous dit a bientot^^

Commentaire de lionii le 14/11/2009 12:41:43

Salut, noobmaster pourquoi ta pas rajouté une variable avec les fichier/dossier qu'on ne souhaite pas afficher ? parceque là il affiche meme les .htaccess quelque dossier comme pare exemple shoutbox/ etc... si tu rajouté cette option tu m'rendrai un imense service :) merci a toi

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Calendrier pour gallerie photo [ par gandalf76fr ] Bonjour, ayant ma famille distante, je cr&#233;e une gallerie photos pour qu'il puisse voir ma fille grandire.Jusque la je l'ai fait sous photoweb gal J'ai un chemin vers un fichier , je voudrai qu'il se crée automatiquement si il n'existe pas [ par ranouf ] Bonjour, J'ai un chemin: /var/www/test/fonctions/voir.php en l'occurence ce "fonctions/voir.php" n'existe pas. Ce que je voudrai savoir c si il exist Recherche un script de création de dossier [ par manusoron ] Bonjour. Je recherche un script en PHP, qui est compos&#233; d'un champs et que lorse que qelq'un ecrit un nom, un dossier dans le FTP est im&#233;dia Vérification dossier, problème [ par Satan2k ] Voila je fais un explorateur de dossier multi-utilisateurs en ligne mais voila j'ai un probl&#232;me que je n'arrive pas &#224; r&#233;soudre. Je veu script Image du jour [ par mike501 ] Bonjour,&nbsp;j ai un petit souci avec mon code qui permet de mettre sur mon site une image qui change chaque jour mais le souci qui a ces que les ima problème de "pagination" !! [ par ysn ] bonjour tout le monde,je voudrais savoir comment faire pour g&#233;rer la pagination au niveau des&nbsp;message post&#233;s dans mon forum, je m'expli Parcourir un dossier [ par samunet ] Pour upload un fichier on fait input type=file etc...&nbsp;J ai fait un script que copier un dossier sur le serveur et je veut savoir si c est possibl Pb Include ! [ par yoarf ] Bonjour, Ma page : gallerie.php?cat=place clemenceau et raidillon permet de m'afficher une gallerie de photo en n'affichant que celles faisant partie Preg_match [ par w_minisplash_w ] Bonjour &#224; tous,Voici mon probl&#232;me :J'ai une chaine './dossier_1/dossier_2/....../dossier_n'Je veux en extraire dossier_nJ'ai donc essay&#233 créer dossier [ par fartounet ] salut, je cherche a cr&#233;er un dossier d&#233;fini par une fonction et si jamais le dossier existe d&#233;j&#224; rien ne se passe... j'ai vu plusi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales