begin process at 2012 05 28 21:47:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

formulaire + image


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

formulaire + image

vendredi 21 octobre 2005 à 13:44:35 | formulaire + image

velsy

Salut,

Voilà mon problème j'ai créée un formulaire en HTML je récupère les informations du formulaire sur ma boîte mail gràce à un fichier PHP. Dans mon formulaire les personnes peuvent ajouter 3  images grâce à un input type file:
<tr>      
      <td align="right" valign="bottom" colspan="2">
        <p>
       <input type="file" name="fichier" size="20" >
       <input type="hidden" name="taille_max" value="10000">
       <br>
     </p>
     </td>
  <td valign="middle" colspan="2">&nbsp;Premi&egrave;re photo</td>
  </tr>
  <tr>      
      <td align="right" valign="bottom" colspan="2">
        <p>
       <input type="file" name="fichierdeux" size="20" >
       <input type="hidden" name="taille_max" value="10000">
       <br>
     </p>
     </td>
  <td valign="middle" colspan="2">&nbsp;Deuxi&egrave;me photo</td>
  </tr>
  <tr>      
      <td align="right" valign="bottom" colspan="2">
        <p>
       <input type="file" name="fichiertrois" size="20" >
       <input type="hidden" name="taille_max" value="10000">
       <br>
     </p>
     </td>
  <td valign="middle" colspan="2">&nbsp;Troisi&egrave;me photo</td>
  </tr>

Mais je ne reçoie que le chemin du fichier, moi ce que j'aimerais c'est pouvoir récupérer le fichier sans devoir passer par une base de donnée.

Voici mon fichier php

<?php
$nom=$HTTP_POST_VARS['nom'];
$prenom=$HTTP_POST_VARS['prenom'];
$adresse=$HTTP_POST_VARS['adresse'];
$adresse_suite=$HTTP_POST_VARS['adresse_suite'];
$code=$HTTP_POST_VARS['code'];
$tel=$HTTP_POST_VARS['telephone'];
$fax=$HTTP_POST_VARS['fax'];
$lieu=$HTTP_POST_VARS['lieu'];
$titre=$HTTP_POST_VARS['titre'];
$ca=$HTTP_POST_VARS['ca'];
$loyer=$HTTP_POST_VARS['loyer'];
$prix=$HTTP_POST_VARS['prix'];
$texte=$HTTP_POST_VARS['texte'];
$coor=$HTTP_POST_VARS['coordonnees'];
$mail_contact=$HTTP_POST_VARS['mail_contact'];
$site=$HTTP_POST_VARS['site'];
$email=$HTTP_POST_VARS['email'];
$rubrique=$HTTP_POST_VARS['rubrique'];
$type=$HTTP_POST_VARS['type'];
$temps=$HTTP_POST_VARS['temps'];

$rubriquedeux=$HTTP_POST_VARS['rubriquedeux'];
$rubriquetrois=$HTTP_POST_VARS['rubriquetrois'];
$tailleMax = $_POST['taille_max'] ;

$nomFichier    = $_FILES['fichier']['name'] ;
$tailleFichier = $_FILES['fichier']['size'] ;
$nomTmp        = $_FILES['fichier']['tmp_name'] ;
$typeFichier   = $_FILES['fichier']['type'] ;
$error         = $_FILES['fichier']['error'] ;

$nomFichierdeux    = $_FILES['fichierdeux']['name'] ;
$tailleFichierdeux = $_FILES['fichierdeux']['size'] ;
$nomTmpdeux        = $_FILES['fichierdeux']['tmp_name'] ;
$typeFichierdeux   = $_FILES['fichierdeux']['type'] ;
$errordeux         = $_FILES['fichierdeux']['error'] ;

$nomFichiertrois    = $_FILES['fichiertrois']['name'] ;
$tailleFichiertrois = $_FILES['fichiertrois']['size'] ;
$nomTmptrois        = $_FILES['fichiertrois']['tmp_name'] ;
$typeFichiertrois   = $_FILES['fichiertrois']['type'] ;
$errortrois         = $_FILES['fichiertrois']['error'] ;


/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
 
//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
 
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$email>\r\nReply-to : $nom <$email>\nX-Mailer:PHP";
 
$subject="$loyer";
$destinataire="moi@moi.com";
$body="commande ";
////contenu du mail
$text ="mail : ".$email ."\n";
$text.="Nom : ".$nom ."\n";
$text.="Prénom : ".$prenom ."\n";
$text.="Adresse : ".$adresse .$adresse_suite ."\n";
$text.="code postal et ville : ".$code ."\n";
$text.="Tél. : ".$tel."\n";
$text.="Fax : ".$fax ."\n";
$text.="Dép. : ".$lieu ."\n";
$text.="Titre : ".$titre ."\n";
$text.="C.A : ".$ca ."\n";
$text.="Loyer : ".$loyer ."\n";
$text.="Prix : ".$prix ."\n";
$text.="texte : ".$texte ."\n";
$text.="coordonnées : ".$coor ."\n";
$text.="mail contact : ".$mail_contact ."\n";
$text.="1er rub : ".$rubrique ."\n";
$text.="2e rub : ".$rubriquedeux ."\n";
$text.="3e rub : ".$rubriquetrois ."\n";
$text.="Type : ".$type ."\n";
$text.="Type d'offre : ".$temps ."\n";


$text.="nom de fichier : ".$nomFichier ."\n";
$text.="taille : ".$tailleFichier ."\n";

$text.="Type Fichier : ".$typeFichier ."\n";

$text.="nom de fichier2 : ".$nomFichierdeux ."\n";
$text.="taille2 : ".$tailleFichierdeux ."\n";

$text.="nom de fichier3 : ".$nomFichiertrois ."\n";
$text.="taille3 : ".$tailleFichiertrois ."\n";

$text.="Type Fichier3 : ".$typeFichiertrois ."\n";

if (mail($destinataire,$body, $subject, $text)) {
echo "Votre mail a été envoyé";
} else {
echo "Une erreur s'est produite";
}
?>

Merci pour votre réponse

Velsy

vendredi 21 octobre 2005 à 14:15:02 | Re : formulaire + image

coockiesch

Salut!
Je pense que tu dois passer par plusieurs étapes:

1) envoi du fichier sur le serveur ( http://www.phpcs.com/code.aspx?id=16813 , ... )
Ensuite, soit tu laisse le fichier sur le serveur et tu t'envoie par mail que l'url soit tu envoie le fichier en pièce jointe et tu le supprimes ensuite.
http://www.phpcs.com/code.aspx?id=33297

@++

R@f


www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 21 octobre 2005 à 14:34:20 | Re : formulaire + image

velsy

Je viens de mettre ce script :
envoie le fichier en pièce jointe et tu le supprimes ensuite.
http://www.phpcs.com/code.aspx?id=33297
Je reçoie bien un mail avec toute les informations sauf que je nai rien en pièce jointe.

Comment dois je faire.
vendredi 21 octobre 2005 à 14:45:34 | Re : formulaire + image

coockiesch

Salut!
Il faut que tu upload le fichier sur le serveur pour commencer. Tu as ensuite, dans le script que tu viens de me monter, une variable qui contient le nom des fichiers à envoyer:
  1. //les fichiers joints a attacher
  2. $attachement = '';
@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 21 octobre 2005 à 14:48:33 | Re : formulaire + image

coockiesch

Je précise que l'upload d'un fichier sur le serveur est un petit peu plus compliqué que juste:
$nomFichiertrois    = $_FILES['fichiertrois']['name'] ;
$tailleFichiertrois = $_FILES['fichiertrois']['size'] ;
$nomTmptrois        = $_FILES['fichiertrois']['tmp_name'] ;
$typeFichiertrois   = $_FILES['fichiertrois']['type'] ;
$errortrois         = $_FILES['fichiertrois']['error'] ;

Regarde
http://www.phpcs.com/code.aspx?id=21663


www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 21 octobre 2005 à 14:52:42 | Re : formulaire + image

velsy

Comment je fais pour "upload le fichier sur le serveur ", déjà, ensuite est ce que je dois mettre quelque chose entre les '' de:

  1. //les fichiers joints a attacher
  2. $attachement = '';

Escuse moi mais j'ai un peu de mal avec php

vendredi 21 octobre 2005 à 15:30:59 | Re : formulaire + image

velsy

J'ai envoyé une image gif est voici le message d'erreur:

Votre mail a été envoyé
Warning: copy(upload/bon_01.gif): failed to open stream: Permission denied in /home/httpd/vhosts/commerces-en-vente.fr/httpdocs/envoi.php on line 114

Demande envoyée

voici mon fichier php:

<?php
$nom=$HTTP_POST_VARS['nom'];
$prenom=$HTTP_POST_VARS['prenom'];
$adresse=$HTTP_POST_VARS['adresse'];
$adresse_suite=$HTTP_POST_VARS['adresse_suite'];
$code=$HTTP_POST_VARS['code'];
$tel=$HTTP_POST_VARS['telephone'];
$fax=$HTTP_POST_VARS['fax'];
$lieu=$HTTP_POST_VARS['lieu'];
$titre=$HTTP_POST_VARS['titre'];
$ca=$HTTP_POST_VARS['ca'];
$loyer=$HTTP_POST_VARS['loyer'];
$prix=$HTTP_POST_VARS['prix'];
$texte=$HTTP_POST_VARS['texte'];
$coor=$HTTP_POST_VARS['coordonnees'];
$mail_contact=$HTTP_POST_VARS['mail_contact'];
$site=$HTTP_POST_VARS['site'];
$email=$HTTP_POST_VARS['email'];
$rubrique=$HTTP_POST_VARS['rubrique'];
$type=$HTTP_POST_VARS['type'];
$temps=$HTTP_POST_VARS['temps'];

 

$rubriquedeux=$HTTP_POST_VARS['rubriquedeux'];
$rubriquetrois=$HTTP_POST_VARS['rubriquetrois'];
$tailleMax = $_POST['taille_max'] ;

 


/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
 
//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
 
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$email>\r\nReply-to : $nom <$email>\nX-Mailer:PHP";
 
$subject="$loyer";
$destinataire="
moi@moi.com";
$body="commande";
////contenu du mail
$text ="mail : ".$email ."\n";
$text.="Nom : ".$nom ."\n";
$text.="Prénom : ".$prenom ."\n";
$text.="Adresse : ".$adresse .$adresse_suite ."\n";
$text.="code postal et ville : ".$code ."\n";
$text.="Tél. : ".$tel."\n";
$text.="Fax : ".$fax ."\n";
$text.="Dép. : ".$lieu ."\n";
$text.="Titre : ".$titre ."\n";
$text.="C.A : ".$ca ."\n";
$text.="Loyer : ".$loyer ."\n";
$text.="Prix : ".$prix ."\n";
$text.="texte : ".$texte ."\n";
$text.="coordonnées : ".$coor ."\n";
$text.="mail contact : ".$mail_contact ."\n";
$text.="1er rub : ".$rubrique ."\n";
$text.="2e rub : ".$rubriquedeux ."\n";
$text.="3e rub : ".$rubriquetrois ."\n";
$text.="Type : ".$type ."\n";
$text.="Type d'offre : ".$temps ."\n";

 

 

if (mail($destinataire,$body, $subject, $text)) {
echo "Votre mail a été envoyé";
} else {
echo "Une erreur s'est produite";
}

//Détermine si la variable est affectée
if(!isset($HTTP_POST_VARS["upload"])) {
 
 
//si envoye
}
else
{
//evite les erreurs undefine variable
error_reporting (E_ALL ^ E_NOTICE);
 
    //definit la taille => 150ko
    $MAX_FILE_SIZE = 150000;
 
    //fixe le type d extension de fichier
    $allowed_types = array("image/bmp", "image/gif", "image/pjpeg", "image/jpeg", "image/jpg");
 
                        
    //stockage des proprietes ds des variables
    $fname = $HTTP_POST_FILES['fichier']['name'];
    $ftype = $HTTP_POST_FILES['fichier']['type'];
    $fsize = $HTTP_POST_FILES['fichier']['size'];
    $ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];
 
     //verifie si le type de fichier est bien autorise
     if(!in_array($ftype, $allowed_types))
     {
    //message si n est pas correct
    die("<br><center><b>Le format de votre fichier n est pas correct..</b><br>Seul sont accepets =>.bmp, .gif, .jpg, .jpeg<br><a href = 'up.php'><b>Réessayer => Cliquer</b></a></center>");
    }
   //verifie taile
     if($fize > $MAX_FILE_SIZE)
    {
    //si superieur on affiche un message
    die("<center>Votre fichier est trop gors!!!<br><a href ='up.php'><b>Réessayer => Cliquer</b></a></center><br>");
    }
    
    //si tout est ok, on copie le fichier ds le repertoire fixe et affiche un mess si tout est ok
    if(copy($ftmp,"upload/".$fname)) <- ligne 114
    {
    echo"<br><center><b>$fname correctement uploade...</b></center>";
    }
    

  
  

//permet de définir les différentes parties du mail
$limite = "----=_Part_" . md5( uniqid ( rand() ) );
 
//headers du mail
$mail_mime = "MIME-Version: 1.0\r\n";
$mail_mime .= "Content-Type: multipart/mixed;
    boundary=\"".$limite."\"\r\n";
 
 
 
//le corps du message(html)
//$texte_mail correspond a votre message au format html <html><head>.....</html>
 
$texte = "This is a multi-part message in MIME format.\n";
$texte .= "Ceci est un message est au format MIME.\n";
 
//défini la première partie du mail
$texte .= "--".$limite."\n";
$texte .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$texte .= "Content-Transfer-Encoding: quoted-printable\n ";
$texte .= "Content-Disposition: inline \n\n ";
$texte .= $texte_mail;
$texte .= "\n\n";
$texte .= "\n\n";
 
//indice de boucle permettant d'ajouter tous les fichiers joints
$i=0;
 
//les fichiers joints a attacher
$attachement = '';
 
    
//Boucle permettant l'ajout de toutes les pieces jointes
while($i < sizeof($liste_fichier))
{
  //permet de récupérer l'extension du fichier afin de définir le type mime
  $longeur = strlen ($liste_fichier[$i]);
  $longeur -=3;
 
  //on vérifie l'extension
 /*
Pour les besoins de mon formulaire je devait savoir si le fichier était un .doc ou un .pdf
il suffit uniquement de modifier cette partie pour ajout n'importe quel type de fichier
*/
 
  if(substr($liste_fichier[$i],$longeur) == "doc")
  {
    $type = "application/jpg";
  }
  else
    $type = "application/gif";
 
  //on Ajout chaque parties suivantes du mail avec les pieces jointes
  $attachement .= "--".$limite."\n";
 
  $attachement .= "Content-Type: ".$type." name=".$liste_fichier[$i]."\n";
  $attachement .= "Content-Transfer-Encoding: base64\n";
  $attachement .= "Content-Disposition: attachment; filename=".$liste_fichier[$i]."\n\n";
  
  //On lit le fichier présent sur le serveur
  //"rb" permet de lire des fichiers en mode binaire (utile sous windows)
  $fd = fopen( $liste_fichier[$i], "rb" );
  $contenu = fread( $fd, filesize( $liste_fichier[$i] ) );
 
  //encodage en base64 pour que le fichier soit lisible
  $attachement .= chunk_split(base64_encode($contenu));
   
  $i++;                    
 
}
 
//on ferme ensuite toutes les parties du mail
$attachement .= "\n\n--".$limite."--\n\n";
 
if ( mail($destinataire,$objet,$texte.$attachement,$mail_mime) )
{
  //on affiche un message indiquant l'envoi du message
  echo '<p align="left"><font color="green"face="Arial, Helvetica, sans-serif">Demande envoyée </font></p>';
}
else
{
  //on affiche un message indiquant l'echec de l'envoi du message    
  echo '<p align="left"><font color="red" face="Arial, Helvetica, sans-serif"> Echec de l\'envoi de la demande</font></p>';
}

?>

vendredi 21 octobre 2005 à 15:32:06 | Re : formulaire + image

coockiesch

Ben uploader un fichier sur le serveur, le mieux c'est que tu cherches un tit tuto sur google et/ou que tu regarde le dernier lien que je t'ai passé.

Pour ce que tu dois mettre entre les '' c'est le lien vers ton fichier, en relatif

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 21 octobre 2005 à 15:51:18 | Re : formulaire + image

velsy

Réponse acceptée !
Afin ça marche, merci pour ce gros coup de main


Cette discussion est classée dans : text, http, post, files, vars


Répondre à ce message

Sujets en rapport avec ce message

formulaire a envois double [ par Henixiz ] est ce que cest possible d'envoyer un formulaire a 2 e-mail a la fois !voici mon code source$Emaildest="mon_email@et_la.net"; function Formulaire_Tra Problème de Caddie... Affichage... [ par goldfingers_suisse ] Bonjour, j'ai un problème de caddie, je suis en train de créer un shop virtuel...Mais j'ai un problème, je n'arrive pas à afficher les données enregis probleme entre formulaire et base de donnees [ par mictif ] j'ai un probleme avec mon formulaire que je veux enregistrer dans ma base de données voici l'erreur : Notice: Undefined index: code in g:\easyphp1-8 Formulaire+base de données [ par CHABRY ] Salut! J'ai un formulaire dans lequel je vais saisir les informations sur un livre, et à partir d'un liste nommeé operation,  je peux choisir une opti envoi de pi??ce jointe par mail [ par arnold002 ] Bonjour ¨¤ tous,J'ai un gros probl¨¨me pour envoyer une pi¨¨ce jointe par email.Voici mon code : $bouton <FONT color= Problème de formulaire puis requete [ par pbreaker ] Bonjour voila je sai pas ce quie ce passe avec ce formulaire mais rien marche alors qu'il me semble  correcteDonc y aurai t il qq un qui peut me dire Données d'une textarea [ par Xaviou ] Bonjour,J'ai besoin d'un petit coup de pouce:Je crée un formulaire "Contacts" dont voici le source:  <form action="s session et caddie [ par nolog ] reBonjourj'ai 1 site de 3 pages ecran_Tft15.php, ajouter_a_caddie.php, et voir caddiecomment dois-je declarer la session ouverte et comment passer ses Aide please ! [ par vinz78 ] Voila je souhaite envoyer les données d'un formulaire vers un fichier texte déja existant j'ai trouvé un code pour envoyer les champs de mon formulair Envoyer des données par mail depuis un formulaire [ par vincent4brest ] Bonjour,Je suis totalement débutant en php et je souhaite récupérer des données d'un formulaires pour me les envoyer par mail, je récupere uniquement


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,796 sec (3)

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