Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    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 : 0
    Points
    0

    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 :
    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 :
    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 :
    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 095
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 095
    Points : 30 707
    Points
    30 707

    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 :
    1
    2
    3
    4
    5
    6
     
    if ($_SERVER['REQUEST_METHOD'] == 'post') {
        // validation et mail
        // si ok => redirection
    }
    // affiche formulaire

  3. #3
    Invité de passage
    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 : 0
    Points
    0

    Par défaut

    Ok merci je vois ce que tu veux dire mais je le fais comment comme sa ? :
    Code :
    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 095
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 095
    Points : 30 707
    Points
    30 707

    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 :
    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>

  5. #5
    Invité de passage
    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 : 0
    Points
    0

    Par défaut

    Je ne comprend pas j'ai toujours le même problème

  6. #6
    Expert Confirmé Sénior

    Homme Profil pro Alain Bontemps
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 631
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Bontemps
    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 : 2 631
    Points : 4 503
    Points
    4 503

    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.
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •