IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème Upload de fichier


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Problème Upload de fichier
    Bonjour j'ai utilisé le script php upload to my pour mon site que l'on peu trouver ici: http://matt.phptest.free.fr/php_upload_to_my_ftp/

    j'ai ajouté a ce script un formulaire pour avoir des information supplémentaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form name="F1"  ACTION="#un" METHOD="post"><BR>
        Votre Nom:<sup>* </sup><input name="lenom" /><br />
        Votre Email:*<input type="text" name="email" /><br />
        Description:*<br />
            <textarea name="description" rows="8" cols="45"></textarea></p>
        <p>
        <input type="checkbox" name="case1" value="case1" /> <label for="case1">*Je certifie avoir pris connaissance des conditions générales</label><br />
        <input type="checkbox" name="case2" value="case2" /> <label for="case2">*Je certifie être majeur ou dans le cas contraire avoir l'accord de mon tuteur légal.</label><br /> 
        <INPUT TYPE="submit" Value='upload'>
    </form>
    je tien à préciser que je suis débutant en php.

    nom de la fonction : DisplayEndForm();
    elle est contenu dans le fichier fonction.inc.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function DisplayEndForm(){
     
       global $strFileToUp;
    	global $strWait;
     
       echo "<tr><td width='103'><font size='2' face='Arial'>";
       echo $strFileToUp."</font></td><td width='100%'><input name='fichier' type='FILE' class='Forms'>";
       echo "</td></tr><tr><td width='100%' colspan='2'><p align='center'>";
       echo "<INPUT TYPE='SUBMIT' VALUE='Upload' class='Forms' Onclick=\"this.value='".$strWait."'\">";
       echo "</p></td></tr></table><input type='HIDDEN' name='a' value='upload'></FORM>";
    }
    et l'upload.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $upload = ftp_put($connection_ftp, $newFileName, $fichier, FTP_BINARY);
    Alors voila ma question je voudrais que les information sois obligatoire et qu'une fois que tout est rempli je reçoivent l'email avec cette information ( le mail marche pas de problème pour sa) j'ai essayer de faire la vérification en php et en javascript mais j'ai a chaque fois le même problème. La fois les informations toutes remplies la page donne l'impression de se rafraîchie et le fichier ne s’envoie pas. A mon avis une fois qu'on clic sur le submit tout est verifier et comme tout est ok il rafraichie la page car il ne sais pas ou envoyer les informations. Je pense qu'il faut que les informations sois verifiées mais ne s'envoient pas pour que le fichier sois upload. Merci d’avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il rafraichit la page non pas parce qu'il ne sait pas ou aller mais parce que c'est la ou tu lui as dit d'aller (#un).
    Mais ce n'est pas un problème de revenir sur le même fichier, c'est même plus pratique pour faire resaisir les éléments erronés.
    Il faut juste, dans le cas ou le formulaire a été validé, le vérifier et faire un redirection si tout est ok.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ($_SERVER['REQUEST_METHOD'] == 'post') {
        // validation et mail
        // si ok => redirection
    }
    // affiche formulaire
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Ok merci je vois ce que tu veux dire mais je le fais comment comme sa ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    if(isset($_POST['lenom'])&&
       isset($_POST['email'])&&
       isset($_POST['description']){
    echo "champs vides";
    }
    else {
    if ($_SERVER['REQUEST_METHOD'] == 'post') {
            $head = "From: noreply@****.com\n";
            $head .= "X-Sender: <noreply@****.com>\n";
            $head .= "X-Mailer: PHP\n";
            $head .= "Return-Path: <noreply@****.com>\n";
            $head .= "Content-Type: text/plain; charset=iso-8859-1\n";
            $texte .= $strFile." (".$newFileName.") ".$strHasBeenUploaded." le ( ".$date_a.") de (".$fichier_size.") octets\n";       
            $texte .= "Nom: ".$nom." Email: ".$email." Description: ".$description." \n";
     
            mail("video@****.com", "[Nouvelle vidéo]" , $texte, $head);
     
     
    }
    }
    DisplayEndForm();
    //Pour supprimer le code html des textes
    $nom = strip_tags($_POST['lenom']);
    $email = strip_tags($_POST['email']);
    $description = strip_tags($_POST['description']);
    ?>
    <form name="F1"  METHOD="post"><BR>
        Votre Nom:<sup>* </sup><input name="lenom" /><br />
        Votre Email:*<input type="text" name="email" /><br />
        Description:*(Décrivez-vous, votre talent, votre vidéo. Pour que l'on en sache plus sur vous)<br />
            <textarea name="description" rows="8" cols="45"></textarea></p>
        <p>
        <input type="checkbox" name="case1" value="case1" /> <label for="case1">*Je certifie avoir pris connaissance des conditions générales.</label><br />
        <input type="checkbox" name="case2" value="case2" /> <label for="case2">*Je certifie être majeur ou dans le cas contraire avoir l'accord de mon tuteur légal.</label><br /> 
        <INPUT TYPE="submit" value='upload'>
    </form>
    je suis un grand débutant j'ai commencé à apprendre mais je sais que c'est beaucoup trop compliquer pour moi ce que je fais la. Le problème c'est que j'ai besoin de ce code rapidement je doit donc le finir avant d'avoir eu le temps d’apprendre. Pardonnez donc mon ignorance. Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton test est à mettre dans la partie "quand on a reçu le formulaire".
    Dans ton test j'ai mis dans "OU" et non des "ET" (si le nom est vide ou si l'email est vide ...) et j'utilise empty() au lieu de isset(), en effet un input texte est "set" même quand il est vide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    if ($_SERVER['REQUEST_METHOD'] == 'post') {
        if(empty($_POST['lenom']) ||
       empty($_POST['email']) ||
       empty($_POST['description']){
    echo "champs vides";
    }
    else {
            $head = "From: noreply@****.com\n";
            $head .= "X-Sender: <noreply@****.com>\n";
            $head .= "X-Mailer: PHP\n";
            $head .= "Return-Path: <noreply@****.com>\n";
            $head .= "Content-Type: text/plain; charset=iso-8859-1\n";
            $texte .= $strFile." (".$newFileName.") ".$strHasBeenUploaded." le ( ".$date_a.") de (".$fichier_size.") octets\n";       
            $texte .= "Nom: ".$nom." Email: ".$email." Description: ".$description." \n";
     
            mail("video@****.com", "[Nouvelle vidéo]" , $texte, $head);
           echo 'mail envoyé';
          exit();
     
     }
    }
    }
    DisplayEndForm();
    //Pour supprimer le code html des textes
    $nom = strip_tags($_POST['lenom']);
    $email = strip_tags($_POST['email']);
    $description = strip_tags($_POST['description']);
    ?>
    <form name="F1"  METHOD="post"><BR>
        Votre Nom:<sup>* </sup><input name="lenom" /><br />
        Votre Email:*<input type="text" name="email" /><br />
        Description:*(Décrivez-vous, votre talent, votre vidéo. Pour que l'on en sache plus sur vous)<br />
            <textarea name="description" rows="8" cols="45"></textarea></p>
        <p>
        <input type="checkbox" name="case1" value="case1" /> <label for="case1">*Je certifie avoir pris connaissance des conditions générales.</label><br />
        <input type="checkbox" name="case2" value="case2" /> <label for="case2">*Je certifie être majeur ou dans le cas contraire avoir l'accord de mon tuteur légal.</label><br /> 
        <INPUT TYPE="submit" value='upload'>
    </form>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je ne comprend pas j'ai toujours le même problème

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Nexus68 Voir le message
    Le problème c'est que j'ai besoin de ce code rapidement je doit donc le finir avant d'avoir eu le temps d’apprendre... Merci
    C'est totalement incompatible.

    Sinon j'ai regardé un peu le script dont tu parles, il y a un fichier "config" dans lequel tu dois faire la configuration. Les données rentrées sont-elles bonnes ?
    A part ça je vois pas l'intérêt de faire un transfert ftp à partir d'un formulaire envoyé en $_POST... Remarques que le script que tu as choisi a quand même 10 ans d'âge, et les scripts php c'est rarement comme le bon vin. Niveau config notamment il est possible qu'il y ait des incompatibilités (register_globals etc.)

    Déjà avant d'aller plus loin il serait important de savoir ce que tu veux faire avec ce script car il est probable que tu n'aies pas choisi le plus adapté. Et plutôt que d'essayer de remettre à jour un ancien code, il peut être beaucoup plus rapide et plus sécurisé, d'en changer.

Discussions similaires

  1. [PHP 5.2] Problème upload de fichier avec accent et firefox
    Par dedesite dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2011, 12h15
  2. Problème Upload de fichier
    Par sleeg dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/09/2010, 22h55
  3. Réponses: 2
    Dernier message: 17/12/2008, 08h32
  4. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  5. [Upload] Problème Upload de fichiers
    Par Perchut dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2007, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo