The end

 

améliorer un script en php

Vous connaissez un site pour acheter des hoverboards à moitié prix ? Partagez le ici...
⮕⮕⮕ EN COURS : archivage du forum ici https://www.youtube.com/@retourverslefutur.com-archive

améliorer un script en php

Postpar qwerty » 23 Sep 2010, 18:23

Bonjour.
J'ai un script en php, qui affiche le contenu du répertoire. Or je voudrais qu'il n'affiche pas le ./ ni les fichiers en php; Voilà le code :
Code: Tout sélectionner
<?php
$folder = "./";
$dossier = opendir($folder);
while ($Fichier = readdir($dossier)) {
  if ($Fichier != "." && $Fichier != "..") {
    $nomFichier = $folder."".$Fichier;
echo "<ul><li><a href=\" $nomFichier\">$nomFichier</li></ul>";
  }
}
closedir($dossier);
?>

Merci de votre aide.
qwerty :marty:
1,21 gigawatt !
Vous dites que vous avez fabriqué une machine à voyager dans le temps... à partir d'une Delorean ?
Salut, si t'est nouveau, présente toi ici Bienvenue
Moteur de recherche bttf
Avatar de l’utilisateur
qwerty
Hoverboarder professionnel
 
Posts: 2180
Inscription: 09 Juin 2010, 16:00
Localisation: Quelque part entre le passé et le futur.

Postpar qwerty » 24 Sep 2010, 17:40

Personne ne se connais en php ?
1,21 gigawatt !
Vous dites que vous avez fabriqué une machine à voyager dans le temps... à partir d'une Delorean ?
Salut, si t'est nouveau, présente toi ici Bienvenue
Moteur de recherche bttf
Avatar de l’utilisateur
qwerty
Hoverboarder professionnel
 
Posts: 2180
Inscription: 09 Juin 2010, 16:00
Localisation: Quelque part entre le passé et le futur.

Postpar ZeKE » 28 Sep 2010, 10:11

Normalement ton code ne devrait pas retourner le ".", sinon modifie ton code comme suit :
Code: Tout sélectionner
<?php
$folder = "./";
$dossier = opendir($folder);
while ($Fichier = readdir($dossier)) {
  if ( (strcmp($Fichier, ".") != 0) && (strcmp($Fichier, "..") != 0) && (substr_compare($Fichier, ".php", -4, 4, true) != 0) ) {
    $nomFichier = $folder."".$Fichier;
echo "<ul><li><a href=\" $nomFichier\">$nomFichier</li></ul>";
  }
}
closedir($dossier);
?>


J'ai pas testé, mais ça devrait fonctionner, par contre c'est possible que tu aies des warnings, il faudrait améliorer le script...
Avatar de l’utilisateur
ZeKE
Hoverboarder professionnel
 
Posts: 2122
Inscription: 22 Mar 2005, 09:25
Localisation: Pas-de-Calais

Postpar qwerty » 28 Sep 2010, 16:28

je ne voit plus les fichiers php, mais je voit encore les ./
Code: Tout sélectionner
<?php
$dir_nom = '.'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers

while($element = readdir($dir)) {
    if($element != '.' && $element != '..') {
        if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
        else {$dossier[] = $element;}
    }
}

if(!empty($fichier)){
    sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
    echo "\t\t<ul>\n";
        foreach($fichier as $lien) {
            echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
        }
    echo "\t\t</ul>";
 }
?>

Sinon, j'ai creer ca, il a pas les ./ mais les .php. Je ne sais pas comment adapter pour enlever les .php.
Merci
qwerty
1,21 gigawatt !
Vous dites que vous avez fabriqué une machine à voyager dans le temps... à partir d'une Delorean ?
Salut, si t'est nouveau, présente toi ici Bienvenue
Moteur de recherche bttf
Avatar de l’utilisateur
qwerty
Hoverboarder professionnel
 
Posts: 2180
Inscription: 09 Juin 2010, 16:00
Localisation: Quelque part entre le passé et le futur.

Postpar ZeKE » 29 Sep 2010, 12:10

Ce script devrait fonctionner :

Code: Tout sélectionner
<?php
$folder = "./";
$dossier = opendir($folder);
while ($Fichier = readdir($dossier)) {
  if ( (strcmp($Fichier, ".") != 0) && (strcmp($Fichier, "..") != 0) && (strncmp("./", $Fichier, 2) !=0 ) && (substr_compare($Fichier, ".php", -4, 4, true) != 0) ) {
    $nomFichier = $folder."".$Fichier;
echo "<ul><li><a href=\" $nomFichier\">$nomFichier</li></ul>";
  }
}
closedir($dossier);
?>
Avatar de l’utilisateur
ZeKE
Hoverboarder professionnel
 
Posts: 2122
Inscription: 22 Mar 2005, 09:25
Localisation: Pas-de-Calais

Postpar qwerty » 29 Sep 2010, 16:31

toujours rien !
il a simplement * ./fichier
et moi je voudrai * fichier
1,21 gigawatt !
Vous dites que vous avez fabriqué une machine à voyager dans le temps... à partir d'une Delorean ?
Salut, si t'est nouveau, présente toi ici Bienvenue
Moteur de recherche bttf
Avatar de l’utilisateur
qwerty
Hoverboarder professionnel
 
Posts: 2180
Inscription: 09 Juin 2010, 16:00
Localisation: Quelque part entre le passé et le futur.

Postpar qwerty » 06 Mar 2011, 20:38

onjour. J'ai un problème avec mon script PHP :
Code: Tout sélectionner
<?php
include('includes/config.php');
include ("includes/header.php");
?>
<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['email'], $_POST['password'], $_POST['passverif']) and $_POST['email']!='')
{
   //On enleve lechappement si get_magic_quotes_gpc est active
   if(get_magic_quotes_gpc())
   {
      $_POST['password'] = stripslashes($_POST['password']);
      $_POST['passverif'] = stripslashes($_POST['passverif']);
      $_POST['email'] = stripslashes($_POST['email']);
   }
   //On verifie si le mot de passe et celui de la verification sont identiques
   if($_POST['password']==$_POST['passverif'])
   {
      //On verifie si le mot de passe a 6 caracteres ou plus
      if(strlen($_POST['password'])>=6)
      {
         //On verifie si lemail est valide
         if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
         {
            //On echape les variables pour pouvoir les mettre dans une requette SQL
            $password = mysql_real_escape_string($_POST['password']);
            $email = mysql_real_escape_string($_POST['email']);
           
            //On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
            $dn = mysql_num_rows(mysql_query('select id from card where email="'.$email.'"') or die(mysql_error()));

           
            if($dn==0)
            {
               //On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
               $dn2 = mysql_num_rows(mysql_query('select id from card'));
               $id = $dn2+1;
               //On enregistre les informations dans la base de donnee
if( mysql_query("insert into card (password, email) values ('.$id.', '.$email.', '.$password.')") )
               {
                  //Si ca a fonctionne, on naffiche pas le formulaire
                  $form = false;

?>
<div class="message">Vous avez bien &eacute;t&eacute; inscrit. Vous pouvez dor&eacute;navant vous connecter.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
               }
               else
               {
                  //Sinon on dit quil y a eu une erreur
                  $form = true;
                  $message = 'Une erreur est survenue lors de l\'inscription.';
               }
            }
            else
            {
               //Sinon, on dit que le pseudo voulu est deja pris
               $form = true;
               $message = 'Un autre utilisateur utilise d&eacute;j&agrave; le meême email que vous d&eacute;sirez utiliser.';
            }
         }
         else
         {
            //Sinon, on dit que lemail nest pas valide
            $form = true;
            $message = 'L\'email que vous avez entr&eacute; n\'est pas valide.';
         }
      }
      else
      {
         //Sinon, on dit que le mot de passe nest pas assez long
         $form = true;
         $message = 'Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res.';
      }
   }
   else
   {
      //Sinon, on dit que les mots de passes ne sont pas identiques
      $form = true;
      $message = 'Les mots de passe que vous avez entr&eacute; ne sont pas identiques.';
   }
}
else
{
   $form = true;
}
if($form)
{
   //On affiche un message sil y a lieu
   if(isset($message))
   {
      echo '<div class="message">'.$message.'</div>';
   }
   //On affiche le formulaire
?>
<div class="content">
    <form action="sign_up.php" method="post">
        Veuillez remplir ce formulaire pour vous inscrire:<br />
        <div class="center">
            <label for="email">Email</label><input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
            <label for="password">Mot de passe<span class="small">(6 caract&egrave;res min.)</span></label><input type="password" name="password" /><br />
            <label for="passverif">Mot de passe<span class="small">(v&eacute;rification)</span></label><input type="password" name="passverif" /><br />
            <input type="submit" value="Envoyer" class="button"/>
      </div>
    </form>
</div>
<?php
}
?>
      <div class="foot"><a href="<?php echo $url_home; ?>">Retour &agrave; l'accueil</a>
<?php
include ("includes/footer.php");
?>

Avec cette erreur : Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\sign_up.php on line 30
La ligne correspondante :
Code: Tout sélectionner
$dn = mysql_num_rows(mysql_query('select id from card where email="'.$email.'"') or die(mysql_error()));


elle peut venir d'ou ?
1,21 gigawatt !
Vous dites que vous avez fabriqué une machine à voyager dans le temps... à partir d'une Delorean ?
Salut, si t'est nouveau, présente toi ici Bienvenue
Moteur de recherche bttf
Avatar de l’utilisateur
qwerty
Hoverboarder professionnel
 
Posts: 2180
Inscription: 09 Juin 2010, 16:00
Localisation: Quelque part entre le passé et le futur.


Retourner vers Internet / Informatique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 46 invités



Lego Retour vers le futur

POP Doc Retour vers le futur

Playmobil Retour vers le futur

Retourverslefutur.com participe au Programme Partenaires d’Amazon EU, un programme d’affiliation publicitaire conçu pour permettre à des sites de percevoir une rémunération grâce à la création de liens vers Amazon.fr.


Road and Trip, voyages et road-trip à travers le monde