PHP passer une variable via un fichier

bonjour,

j'ai besoin de faire passer une variable d' un formulaire au fichier d'envoi, d'une page a l'autre, pour un fichier, comment y formulé dans formulaire, es ce correcte ?

<form action="email-test-6.php" method="post">
<div align="center">
  <table width="auto" border="1">
    <tr>
      <th scope="col">Expediteur</th>
      <th scope="col">
        <input type="hidden" name="id" value="1" />
        <input type="text" name="from" value="" size="40" maxlength="45" />        </th>
    </tr>
    <tr>
      <th scope="row">Pièce jointe</th>
      <td><input type="hidden" name="id" value="5" /><INPUT TYPE=FILE NAME="fichier"><BR>
</td>
    </tr>
    <tr>
      <th scope="row">&nbsp;</th>
      <td><input type="submit"  value="Envoyer" name="Envoyer" /></td>
    </tr>
  </table>


Dans le fichier d'envoi comment formuler la reception de la variable ?

$fichier = $_FILES['fichier']['Envoyer'];


Merci.

Bonjour,

4 réponses

  1. bonsoir,

    Avec ceci c'est pareil.

    if(isset($_POST['Envoyer'])) 
         
      { 
      $to = htmlspecialchars($_POST['to']); 
      $from = htmlspecialchars($_POST['from']); 
      $sujet = htmlspecialchars($_POST['sujet']); 
      $msg = htmlspecialchars($_POST['msg']); 
      
      //nom des variables $_FILES  
         $tmp_name=$_FILES['fichier']['tmp_name'];  
         $name=$_FILES['fichier']['name'];  
         $size=$_FILES['fichier']['size'];  
         $type=$_FILES['fichier']['type'];  
         $erreur=$_FILES['fichier']['error'];  
         
       //affichage des différentes variables pour vérification  
         
       echo "Nom du fichier :".$name;  
       echo "<br>Taille du fichier :".$size;  
       echo "<br>Type de fichier :".$type;  
       echo "<br>Nom temporaire :".$tmp_name;  
       echo "<br>Erreur :".$erreur;  
         
       //variable contenant le répertoire de destination  
       $uploadpath="L:\\program files 2\\wamp\\www\\uploads\\";  
       echo "<br>Répertoire de destination  :".$uploadpath; 
        
    
    //déplacement du fichier du dossier temporaire vers le dossier de destination  
         
       move_uploaded_file($tmp_name,$uploadpath.$fichier); 
        
    } 
    


    Voila le message de confirmation :

    Nom du fichier :logo-404.png
    Taille du fichier :5654
    Type de fichier :image/png
    Nom temporaire :L:\Program files 2\wamp\tmp\php2BE.tmp
    Erreur :0
    Répertoire de destination :L:\program files 2\wamp\www\uploads\
    Le mail a été envoyé

    quand j'envoie un mail je reçois la pièce jointe avec un fichier ATT00271.jpg qui fait 1 octets... qui donne l'impression d'etre corrompu.

    j'essai en vingt toujours d'envoyer un mail depuis mon formulaire, pour cela Il faut bien uploader d'abord le fichier sur le serveur en PHP.

    move_uploaded_file($tmp_name,$uploadpath.$fichier);

    Que ce passe t'il ?

    Merci.
    1. Ok, j' ai mis

      $fichier = $_POST['fichier'] ; 
      


      il me reponse :
      Destinataire :, 5 xxxxx@free.fr Expediteur 5 xxxx@free.fr Objet message, 5 test objet Corps du message, 5 test corps du message 
      Warning: file_get_contents(puce-1.png) [function.file-get-contents]: failed to open stream: No such file or directory in L:\Program files 2\wamp\www\maison\N7\test\email-test-6.php on line 119 
      Le mail a été envoyé  
      


      la ligne 119 est :
      $message .= chunk_split(base64_encode(file_get_contents($fichier)))."\n";


      Pourtant j'ai bien reçus le mail avec la pièce jointe puce-1.png de 1 Ko mais impossible de la voir, comme si le fichier été illisible, et lors de mes teste quand je met ceci sa fonctionne

      $fichier = "puce-1.png";


      Merci
      1. Voila ce que tu peux recuperer:

        $_FILES['fichier']['name'];
        $_FILES['fichier']['tmp_name']; 
        $_FILES['fichier']['type']; 
        $_FILES['fichier']['size'];
        $_FILES['fichier']['error'];
        
        1. Salut:

          $fichier = $_POST['fichier'] ;  
          


          Pour récuperer le champ que tu as nommé "fichier".
          Mais comme tu as deux champs nommé id le deuxieme va écraser le premier.
          1. ok j'avais pas bien vue désolé, oublie mon poste.

        Discussions similaires

        question pix mot caché

        7 réponses