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 :

Envoi des valeurs php dans mail()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 26
    Par défaut Envoi des valeurs php dans mail()
    Bonjour à tous ,

    Je suis débutant en PHP et j'ai un petit soucis dans le cadre d'un de mes projets.
    J'ai tourné en rond pas mal de temps, en changeant mon code plusieurs fois mais toujours aucune réponse.

    voici mon code :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
      $expediteur=(isset($_POST["expediteur"])) ? $_POST["expediteur"] : ""; 
    	$civilite=(isset($_POST["civilite"])) ? $_POST["civilite"] : ""; 
    	$nom=(isset($_POST["nom"])) ? $_POST["nom"] : ""; 
    	$matricule=(isset($_POST["matricule"])) ? $_POST["matricule"] : "";
    	$nomn1=(isset($_POST["nomn1"])) ? $_POST["nomn1"] : "";
    	$nomn2=(isset($_POST["nomn2"])) ? $_POST["nomn2"] : "";
    	$datedebut=(isset($_POST["datedebut"])) ? $_POST["datedebut"] : "";
    	$datefin=(isset($_POST["datefin"])) ? $_POST["datefin"] : "";
    	$contrat=(isset($_POST["contrat"])) ? $_POST["contrat"] : "";
    	$bureau=(isset($_POST["bureau"])) ? $_POST["bureau"] : "";
    	$etage=(isset($_POST["etage"])) ? $_POST["etage"] : "";
    	$direction=(isset($_POST["direction"])) ? $_POST["direction"] : "";
    	$service=(isset($_POST["service"])) ? $_POST["service"] : "";
    	$fonction=(isset($_POST["fonction"])) ? $_POST["fonction"] : "";
    	$choix=(isset($_POST["choix"])) ? $_POST["choix"] : "";
    	$profilType=(isset($_POST["profilType"])) ? $_POST["profilType"] : "";
    	$profilBureautique=(isset($_POST["profilBureautique"])) ? $_POST["profilBureautique"] : "";
    	$choix2=(isset($_POST["choix2"])) ? $_POST["choix2"] : "";
    	$choix3=(isset($_POST["choix3"])) ? $_POST["choix3"] : "";
    	$choix4=(isset($_POST["choix4"])) ? $_POST["choix4"] : "";
    	$demandeSpecifique=(isset($_POST["demandeSpecifique"])) ? $_POST["demandeSpecifique"] : "";
     
    // }
     
    /* Destinataire (votre adresse e-mail) */
    $to = '***';
    /* Sujet du mail */
    $sujet = 'Arrivée d\'un nouveau collaborateur ';
    /* Construction du message */
    $msg = 'Bonjour,'."\r\n\r\n";
    $msg = 'Ce mail a été envoyé depuis XXX par '.$expediteur."\r\n\r\n";
    $msg = 'Les donnés concernant l\'entrée du nouveau collaborateur sont :'."\r\n";
    $msg = 'L\'expediteur est :'.$expediteur."\r\n";
    $msg = 'Le nouveau collaborateur s\'appel '.$civilite.''.$nom."\r\n";
    $msg ='Son matricule est : '.$matricule."\r\n\r\n";
    $msg ='Son N+1 est : '.$nomn1.' et son N+2 est : '.$nomn2."\r\n";
    $msg ='Il debutera son contrat le : '.$datedebut."\r\n";
    $msg ='pour le terminer le : '.$datefin."\r\n";
    $msg ='Son contrat est un '.$contrat."\r\n";
    $msg ='Il sera au '.$etage.'e etage et sera dans le bureau '.$bureau."\r\n";
    $msg ='Il appartiendra a la '.$direction.', sera dans le service '.$service.' et occupera la fonction de '.$fonction."\r\n";
    $msg ='Le nouveau collaborateur appartient à la Direction commerciale :'.$choix."\r\n";
    $msg ='Si oui, il aura le profil type : '.$profilType.' et le  profil bureautique de '.$profilBureautique."\r\n";
    $msg ='Le nouveau collaborateur a accés a Internet professionnel : '.$choix2."\r\n";
    $msg ='Si non, il a accés au kiosque virtuel XXX:'.$choix3."\r\n";
    $msg ='Il doit également avoir les habilitations sur '.$choix4."\r\n\r\n";
    $msg ='.Il y a une demande spécifique : '.$demandeSpecifique."\r\n";
    $msg ='Fin du mail'."\r\n";
     
    /* En-têtes de l'e-mail */
    $headers = 'From: '.$expediteur.''."\r\n\r\n";
     
    	/* Envoi de l'e-mail */
    	mail($to, $sujet, $msg, $headers);
    	echo "E-mail envoyé au Support avec succés.";

    Le mail s'envoie mais ne contient que l'en-tête et la phrase de fin "Fin du mail"

    Je suis sur que ca vous parait simpliste mais moi j'en deviens fou

    Merci d'avance pour vos réponses!

  2. #2
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    Car tu as oublier le point de concaténation des variables ,donc $msg n'a que la valeur de la dernière ligne

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Comme dit camyo, tu réaffectes ta variable à chaque ligne au lieu de concaténer...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $variable = 'foo';
    $variable = 'bar';
    echo $variable; // affiche bar
    $variable = 'foo';
    $variable .= 'bar';
    echo $variable; // affiche foobar
    A part ça, tu as un léger souci au niveau sécurité sur ton code : tu ne vérifies jamais le contenu des données reçues !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 26
    Par défaut
    Ah oui on m'avais déja parlé de ce type fréquent d'erreur mais bon je suis débutant ne m'en voulez pas lol


    Le mail s'envoi desormais en entier mais je ne recoi aucune des variables que j'y ai mis....

  5. #5
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 26
    Par défaut
    Peut etre une erreur de syntaxe??
    Je ne vois pas trop .
    Vous avez des idées??

  6. #6
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    je commencerais par faire un var_dump() des $_POST pour être sûr déjà




    tiens, je connaissais pas la balise CODELINE

  7. #7
    Membre expérimenté
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Par défaut
    Bonjour,
    Peux tu nous envoyer le formulaire, ca nous aidera à t'aider ^^'

    EDIT: Et regarde dans ta base de donnée si le type de tes variables correspond

  8. #8
    Membre expérimenté
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Par défaut
    le var_dump() tu l'as fait sur quelle(s) variable(s)?
    as-tu vérifié si le type de tes variable dans ta base de donnée te correspondait?

  9. #9
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    jessaye de faire ce qui marche et apres peut etre ameliorer tout ca
    Si j'avais reçu 1€ à chaque fois qu'on ma dit ça (et qu'on l'a jamais fait)

    as-tu vérifié si le type de tes variable dans ta base de donnée te correspondait?
    Y'en a qui voient la vierge, toi tu vois une base de données là ou y'en a pas

  10. #10
    Membre expérimenté
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Par défaut
    Y'en a qui voient la vierge, toi tu vois une base de données là ou y'en a pas
    php --> base de donnée, c'est devenu un automatisme pour moi ^^'
    non mais sérieusement, je suis débutant moi aussi(2 mois de php une semaine sur 2, vive l'alternance ^^') et dés que je fais un formulaire les variables --> direction base de donnée 4 étoiles

  11. #11
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 26
    Par défaut
    oui moi aussi d'habitude je fonctionne avec une BDD mais pas pour ce projet.
    Donc aucun type de variable prédéfini à aller vérifier mais je retiens l'idée pour l'avenir

    Donc je ne vois toujours pas pourquoi l'envoi des données par mail() ne recupère pas les valeurs saisies dans les champs du formulaire collaborateur.php

    J'ai fait un var_dump sur la première variable, histoire de vérifier sa valeur, mais elle est à NULL, je pense donc qu'elles sont toutes à NULL puisque dans le mail que je reçois il n'y a aucune valeur.......

    Non seulement je suis perdu mais alors la je désespère du PHP ^^

  12. #12
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    je vais donc me répéter, t'as du rater mon message :
    ça, c'est les noms de tes champs du formulaire ( que tu dois récupérer par des $_POST)
    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
    Nom
     
    email
     
    civilite
     
    nom
     
    mat
     
    n1
     
    n2
     
    datedeb
     
    datefin
     
    contrat
     
    bureau
     
    etage
     
    dir
     
    service
     
    fonction
    ça c'est les $_POST
    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
    <?php			
    $expediteur=(isset($_POST["expediteur"])) ? $_POST["expediteur"] : ""; 
    $civilite=(isset($_POST["civilite"])) ? $_POST["civilite"] : ""; 
    $nom=(isset($_POST["nom"])) ? $_POST["nom"] : ""; 
    $matricule=(isset($_POST["matricule"])) ? $_POST["matricule"] : "";
    $nomn1=(isset($_POST["nomn1"])) ? $_POST["nomn1"] : "";
    $nomn2=(isset($_POST["nomn2"])) ? $_POST["nomn2"] : "";
    $datedebut=(isset($_POST["datedebut"])) ? $_POST["datedebut"] : "";
    $datefin=(isset($_POST["datefin"])) ? $_POST["datefin"] : "";
    $contrat=(isset($_POST["contrat"])) ? $_POST["contrat"] : "";
    $bureau=(isset($_POST["bureau"])) ? $_POST["bureau"] : "";
    $etage=(isset($_POST["etage"])) ? $_POST["etage"] : "";
    $direction=(isset($_POST["direction"])) ? $_POST["direction"] : "";
    $service=(isset($_POST["service"])) ? $_POST["service"] : "";
    $fonction=(isset($_POST["fonction"])) ? $_POST["fonction"] : "";
    $choix=(isset($_POST["choix"])) ? $_POST["choix"] : "";
    $profilType=(isset($_POST["profilType"])) ? $_POST["profilType"] : "";
    $profilBureautique=(isset($_POST["profilBureautique"])) ? $_POST["profilBureautique"] : "";
    $choix2=(isset($_POST["choix2"])) ? $_POST["choix2"] : "";
    $choix3=(isset($_POST["choix3"])) ? $_POST["choix3"] : "";
    $choix4=(isset($_POST["choix4"])) ? $_POST["choix4"] : "";
    $demandeSpecifique=(isset($_POST["demandeSpecifique"])) ? $_POST["demandeSpecifique"] : "";
    sauf erreur de ma part .. ils ne se nomment pas tous pareil .. donc il ne les trouve pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. envoi des valeurs d'un msflexgrid dans un textbox
    Par brice8890 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/03/2011, 16h34
  2. [VBA-W]prendre des valeurs "texte" dans Excel
    Par teromah dans le forum VBA Word
    Réponses: 12
    Dernier message: 14/06/2007, 16h20
  3. [PHP-JS] afficher des donnée php dans popup javascript
    Par speedylol dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/04/2006, 17h05
  4. Réponses: 11
    Dernier message: 22/02/2006, 17h25
  5. ouverture des balises PHP dans les include
    Par FoxLeRenard dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 12h08

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