begin process at 2012 05 31 07:11:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Problème de portée de variable URGENT


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de portée de variable URGENT

mercredi 26 avril 2006 à 12:49:18 | Problème de portée de variable URGENT

Tupac59

Voila le problème: depuis la page précédente je POST ['log2'], dans la page suivante je récupère ce log2 dans la variable $log et cela fonctionne puisque si je fais un echo dessus il m'affiche bien la bonne valeur. Cette variable $log me permet de définir le dossier dans lequel le membre va pouvoir uploader ses photos. Le problème et que quand je met :

$content_dir = "images/$log/"; // dossier où sera déplacé le fichier

lorsque je fais un echo de $content_dir , j'ai : images//   il ne m'interprète pas $log


Voici mon code :            D'AVANCE MERCI

<html>
<body>
<body bgcolor="deepskyblue">

<?   

if(isset($_POST['log2']))
{
    $log=$_POST['log2'];
    echo "$log";
}

if( isset($_POST['upload']))  // si formulaire soumis
{
    $content_dir = "images/$log/"; // dossier où sera déplacé le fichier
   
    echo "$content_dir";
   
    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }

    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }

    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];

    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }

    echo "Le fichier a bien été uploadé";
}

?>

<form enctype="multipart/form-data" action="fileupload.php" method=POST>
<input type="file" name="fichier">
<input type="submit" name="upload" value="Uploader">
</form>

</body>
</html>


mercredi 26 avril 2006 à 12:59:10 | Re : Problème de portée de variable URGENT

Teclis01

Bonjour,
afin de regler ce problème, dans la page ou l tuilisateur definit $log2 je met un input de ce genre ...
<input type=hidden name=log1 value=$log1>
Comme ca apres methode POST tu recupere cette variable comme si elle avait été fournit en meme temps que $log2

Je fais comme ça pour ma part mais peut etre ne faut il pas faire ainsi ...
une chose par contre ... utilises htmlentities on ne sait jamais ...
Voilà

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

mercredi 26 avril 2006 à 13:09:08 | Re : Problème de portée de variable URGENT

Tupac59

ben enfait voila la page précédente d'où vient log2 si ca peut vous éclairer :

<html>

<head>
<link rel="stylesheet" type="text/css" href="css.css"/>
<title> Diapo </title>
</head>

<body>

<body bgcolor="deepskyblue">

<center><h1> Votre espace de stockage </h1></center>

<?    $id=$_POST['log'];
    $pw=$_POST['mdp'];

    $dir = "images/$id";
   
    //connexion à mysql
    $link=mysql_connect('localhost','root','')
    or die("Problème de connexion à MySQL");
   
    //selection de la base
    $db='diapo';
    $sel=mysql_select_db($db,$link)
    or die("Problème de connexion à la base de données");
   
    //création de la requete sql
    $sql="SELECT * FROM comptes WHERE pseu='$id'";
   
    //envoi dla reket
    $result=mysql_query($sql);
   
    // récupération du résultat
    $m=mysql_fetch_array($result);
    $mdp=$m['mdp'];
   
    mysql_close();
   
    if($pw==$mdp)
    {
        $dir="images/$id";
       
        echo "<center><h3>Bonjour $id, voici la liste de vos images:</h3><br><br>";
       
        if(is_dir($dir))
        {
            if($dh = opendir($dir))
            {
                while (($file = readdir($dh)) !== false)
                {
                    if($file!=="." && $file!==".." && $file!=="Thumbs.db")
                    {
                        echo "<a href='images/$id/$file' TARGET='_blank'>$file</a><br><br>";
                    }
               
                   }

                closedir($dh);
               }
           }
       
        echo "<form action='fileupload.php' method=POST>
        <input type='hidden' name='log2' value='$id'>
        <input type='submit' value='Ajouter des photos'></form>";
   
    }
    else
    {
        echo "Vous n'avez pas de compte enregistré ou votre mot de passe est éronné<br><br><br>";
    }
       
?>

</html>
mercredi 26 avril 2006 à 13:33:36 | Re : Problème de portée de variable URGENT

Teclis01

Euh c'est peut etre moi mais je m'y retrouve pas dans ton code ...
tes noms de variables sont pas vraiment  explicite  et ton code est imbriqué html/php.
Néanmoins pr comprendre d ou vient le probleme tu devrais suivre l erreur a savoir verifier si a chaque pahe ta variable est defnit et si oui la post tu apres au sein du formulaire

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

mercredi 26 avril 2006 à 13:45:31 | Re : Problème de portée de variable URGENT

malalam

Administrateur CodeS-SourceS
Hello,

définis $log = ''; avant ton isset sur le post de log2.
Ou utilise le post directement dans tes différentes lignes de code.
mercredi 26 avril 2006 à 14:17:37 | Re : Problème de portée de variable URGENT

Tupac59

Réponse acceptée !
Pour ce que ca intéresse j'ai trouvé le problème je suis fiere de moi lol mais merci quand même je poste la solution si ca peut aider quelqu'un.

Le problème résidait dans le fait qu'a l'ouverture de la page 'fileupload.php' on avait bien $log défini par log2. Mais lorsque l'on choisissait un fichier et qu'on cliker sur uploader, la page se rafraichissait mais la on avait plus le POST de log2 puisqu'il venait de la page précédente.

L'astuce est de POSTER à nouveau log2 lorsque l'on a choisi une image, de cette facon :

<html>
<body>
<body bgcolor="deepskyblue">

<?
    $log=$_POST['log2'];

if( isset($_POST['upload']))  // si formulaire soumis
{
    $content_dir = "images/$log/"; // dossier où sera déplacé le fichier
   
    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }

    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }

    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];

    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }

    echo "Le fichier a bien été uploadé";

}
else
{
    echo "<form enctype='multipart/form-data' action='fileupload.php' method=POST>
    <input type='file' name='fichier'>
    <input type='hidden' name='log2' value=$log>
    <input type='submit' name='upload' value='Uploader'>
    </form>";

}

?>

</body>
</html>


Cette discussion est classée dans : fichier, file, log, dir, content


Répondre à ce message

Sujets en rapport avec ce message

!!!! UPLOAD !!!! [ par funghi ] Salut à tous !!!J'ai un tit pb avec un upload, je sens que j'y suis presque, mais ca ne marche tjs pas !!!Voici le bout de code qui ne marche pas :$re Boucle + liste de fichier [ par maximefranck ] Bonjour ,   j'aurai encor besoin de votre aide ...j'ai cree un code  pour  diviser un  mon de fichier , je  m'explique  dans le repertoire ***** il y Problème de transfert de données via la méthode get [ par ngouss94 ] BONJOUR,Alors, j'ai un petit problème:j'ai créé 2 formulaires, que je souhaite faire communiquer ensemble, c'est a dire, qu'à partir d'un menu déroula upload fichier [ par errezl ] bonjour, Je suis entrain de developper une api sms/email sous zendframework.et dans mon application je dois charger un fichier csv que je dois mettre Gestion de log [ par citt ] Bonjour, Je souhaite mettre en place une gestion de log sur mon site, cette gestion permettrai de savoir qui fait quoi et ou. J'ai développer une cl Upload [ par inwebo ] Bonjour, Voilà mon problème. Je viens de coder une class PHP5 d'upload (je sais je suis à la pointe de l'innovation moi), et j'ai un comportement étr type de modification sur fichier log [ par airrwest ] Bonjour , je suis actuellement sur la création d'un fichier log devant contenir la date et l'heure de connection, l'identifiant du membre puis le ty Tester un fichier : problème d'autorisations [ par pyrrah ] Bonjour, Je me retrouve confronter au problème suivant : Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/va Comment récupérer sur le serveur un fichier image uploadé par un utilisateur ? [ par pjcleder ] PAT Bonjour, Mon hébergeur a déclaré /tmp comme répertoire upload_tmp_dir. D' après mon script, le fichier image est bien envoyé mais je ne vois pas c lister les dossier et non le contenu [ par zuddap ] bonjour a tous, voila je cherche a lister tous les dossiers qui sont dans un dossier(parrent) ou il y a également des fichiers. Comme il est dit dans


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,686 sec (4)

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