Formulaire de contact

Fermé
safa778 Messages postés 23 Date d'inscription mardi 15 mai 2018 Statut Membre Dernière intervention 27 mai 2018 - 22 mai 2018 à 21:38
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 - 30 mai 2018 à 14:35
bonjour tous le monde ça fait deux que je en train de comprendre ou est la faute dans mon code en faite je veux récupérer les données de l'utilisateur avec une pièce jointe mais j'ai a mon adresse email seulement la piéce jointe sans les autres données comme le nom le prénom et l'email de l'utlisateur que m'envoyer l'email via le formulaire de contact je teste en local voila mon code php
<?php

error_reporting(E_ALL); 
ini_set("display_errors", 1); //Affichage des erreurs

//Eviter les insertions de scripts dans le cas d'un e-mail HTML
$nom = htmlentities($_POST['firstname']);
  $email = htmlentities($_POST['email']);
  $nom=$_POST['firstname'];
//$prenom = htmlentities($_POST['prenom']);

//Verifie si le fournisseur prend en charge les r
if(preg_match("#@(hotmail|live|msn).[a-z]{2,4}$#", $email)){
    $passage_ligne = "\n";
}else{
    $passage_ligne = "\r\n";
}

$email_to = "mon adresse email"; //Destinataire
$email_subject = "Recrutement "; //Sujet du mail
$boundary = md5(rand()); // clé aléatoire de limite


        $headers = "MIME-Version: 1.0\r\n"; 
        $headers.= "From: EITA\r\n"; 
        $headers.= "Reply-To: EITA" . "\r\n";
        $headers.= "MIME-Version: 1.0" . $passage_ligne;
        $headers.= 'Content-Type: multipart/mixed; boundary='.$boundary .' '. $passage_ligne; 

//Pièce jointe
    if(isset($_FILES["fichier"]) &&  $_FILES['fichier']['name'] != ""){ //Vérifie sur formulaire envoyé et que le fichier existe
        $nom_fichier = $_FILES['fichier']['name'];
        $source = $_FILES['fichier']['tmp_name'];
        $type_fichier = $_FILES['fichier']['type'];
        $taille_fichier = $_FILES['fichier']['size'];
                    
        if($nom_fichier != ".htaccess"){ //Vérifie que ce n'est pas un .htaccess
			 if($type_fichier == "image/jpeg" 
                || $type_fichier == "image/pjpeg" 
                || $type_fichier == "application/pdf"){ //Soit un jpeg soit un pdf
                 
                if ($taille_fichier <= 2097152) { //Taille supérieure à Mo (en octets)
                    $tabRemplacement = array("é"=>"e", "è"=>"e", "à"=>"a"); //Remplacement des caractères spéciaux
                    
                    $handle = fopen($source, 'r'); //Ouverture du fichier
                    $content = fread($handle, $taille_fichier); //Lecture du fichier
                    $encoded_content = chunk_split(base64_encode($content)); //Encodage
                    $f = fclose($handle); //Fermeture du fichier
                     //$message.='--'.$passage_ligne."\r\n";
                     $email_message.="Content-Type: pdf; name=".$nom_fichier."\r\n";
                     $email_message.="Content-Transfer-Encoding: BASE64"."\r\n";
                     $email_message.="Content-Disposition: attachment; filename=".$nom_fichier."\r\n\r\n"; 
                     $email_message.= chunk_split(base64_encode(file_get_contents($nom_fichier)))."\r\n";
  
                     $email_message.='--'.$passage_ligne.'--'."\r\n";
                     $email_message .= $encoded_content."n"; //Pièce jointe
                     //$email_message .="Hello";

                }else{
					//Message d'erreur
                    $email_message .= $passage_ligne ."L'utilisateur a tenté de vous envoyer une pièce jointe mais celle ci était superieure à 2Mo.". $passage_ligne;
                }
            }else{
				//Message d'erreur
                $email_message .= $passage_ligne ."L'utilisateur a tenté de vous envoyer une pièce jointe mais elle n'était pas au bon format.". $passage_ligne;
            }
        }else{
			//Message d'erreur
            $email_message .= $passage_ligne ."L'utilisateur a tenté de vous envoyer une pièce jointe .htaccess.". $passage_ligne;
        }
    }
$email_message .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne; //Séparateur de fermeture
$msg.=$email_message.$nom."bonjour"; 
if(mail($email_to,$email_subject, $msg, $headers)==true){  //Envoi du mail
    header('Location: index.php'); //Redirection
}



?>

2 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
22 mai 2018 à 22:12
Bonjour,

Commence par faire un
 print_r($_POST);

au début de ton script et colle nous ce que ça t'affiche.

Colle nous également le code de ton formulaire html.


0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
30 mai 2018 à 14:35
Bonjour,
Et rajoute de la ponctuation dans tes phrases. Merci.
0