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 :

Envoie données formulaire par mail


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut Envoie données formulaire par mail
    Bonjour

    J'ai créé un formulaire avec envoie par mail

    Toute mes variable sont envoyées sauf une

    Celle qui pose problème c'est la varaible "demandeur"

    En fait je récupére le nom du demandeur grace à une fonction qui identifie la personne logué sur le pc

    Voici le bout du script concerné dans ma page formulaire:

    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
     
     
    <?
    function recup_name($ip){
    // Ce script permet de récupérer le nom de l'utilisateur connecté.
    // Il est basé sur la command nbtstat de windows, le nom utilisateur
    // se trouvant sur la dernière ligne contenant "<03>"
     
     
    $nbtstat = "nbtstat -a ".$ip;
     
     
    exec ($nbtstat, $result);
    foreach ($result as $row) {
    if (strpos($row, "<03>")) {
    $nom = strtok($row, " ");
    }
     
    }
    return $nom;
    }
     
    $ip=getenv("REMOTE_ADDR");
    if($ip=="127.0.0.1") //au cas ou on est en local
    $ip=getenv("COMPUTERNAME");
    ?>
     
     
     
     
      <label>Demandeur : </label>
        <input name="demandeur" value= <? {echo recup_name($ip);} ?> size="30" type="text"><br>
    Et voici mon scrip qui envoie par mail les données saisient dans mon formulaire
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    <?php
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
    // vérification des champs 
    if (empty($_POST['nom'])) 
      $message .= "Nom<br/>";
    if (empty($_POST['prenom'])) 
      $message .= "Prénom<br/>";
    if (empty($_POST['service'])) 
      $message .= "Service<br/>";
    if (empty($_POST['responsable'])) 
      $message .= "Responsable<br/>";
    if (empty($_POST['profildereference'])) 
      $message .= "Profil de référence<br/>";
    if (empty($_POST['date'])) 
      $message .= "Date<br/>";
    if (empty($_POST['accesmessagerie'])) 
      $message .= "Accès à la messagerie<br/>";
    if (empty($_POST['pcsupplementaire'])) 
      $message .= "Pc supplémentaire<br/>";
    if (empty($_POST['telsupplementaire'])) 
      $message .= "Téléphone supplémentaire<br/>";
    if (empty($_POST['casqueampli'])) 
      $message .= "Casque plus Ampli supplémentaire<br/>";
     
     
    // si un champ est vide, on affiche le message d'erreur 
     
    if (strlen($message) > strlen($msg_erreur)) {
     
      echo $message;
    ?>
    <FORM>
    <INPUT TYPE="BUTTON" VALUE=" Retour "
                   onClick="history.back()">
      </FORM>
    <?php
     
    // sinon c'est ok 
    } else { 
     
    	foreach($_POST as $index => $valeur) {
       $$index = mysql_real_escape_string(trim($valeur));
      }
     
     
    $TO = "toto@domaine.com";
    $header  = "From: mailer@domaine.com\n";
    $subject = "Date d'entrée: " .$_POST['date'];
    $message = "NOM : ".$_POST['nom']."\n";
    $message .= "PRENOM : ".$_POST['prenom']."\n";
    $message .= "SERVICE : ".$_POST['service']."  -  RESPONSABLE :".$_POST['responsable']."\n";
    $message .= "PROFIL DE REFERENCE : ".$_POST['profildereference']."\n";
    $message .= "ACCES MESSAGERIE : ".$_POST['accesmessagerie']."\n";
    $message .= "PC SUPPLEMENTAIRE : ".$_POST['pcsupplementaire']."\n";
    $message .= "TELEPHONE SUPPLEMENTAIRE : ".$_POST['telsupplementaire']."\n";
    $message .= "CASQUE + AMPLI SUPPLEMENTAIRE : ".$_POST['casqueampli']."\n";
    $message .= "Remarque : \n".$_POST['remarque']."\n";
    $message .= "Demandeur : ".$_POST['demandeur'];
    if (mail($TO, $subject, $message, $header))
    {
    Header("Location: http://172.18.4.41/ok.htm");
    }
    }
     
    ?>
    Pouvez vous m'aider

    D'avance un grand merci

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    La question est "qu'est-ce que tu récupères exactement ?" Je te conseille de mettre un print_r($_POST) au début de la page qui récupère les informations du formulaire et de nous donner le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    en fait dans le mail je récupére toutes les variable sauf la variable demandeur

    Je n'ai rien pour cette variable dans le mail que je reçois

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    essaye d'ajouter des quotes autour de la valeur :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="demandeur" value= "<?php echo recup_name($ip); ?>" size="30" type="text">

Discussions similaires

  1. Envoi de formulaire par mail
    Par IXORA dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2011, 13h48
  2. [PHP 5.0] Envoi de formulaire par mail
    Par IXORA dans le forum Langage
    Réponses: 4
    Dernier message: 06/02/2010, 23h32
  3. envoi de formulaire par mail qui redirige vers servlet
    Par erox44 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 09/07/2009, 15h58
  4. [Mail] envoi resultat formulaire par mail
    Par Salia-finance dans le forum Langage
    Réponses: 2
    Dernier message: 21/12/2007, 09h06
  5. [Mail] problème d'envoi de formulaire par mail
    Par alpking dans le forum Langage
    Réponses: 2
    Dernier message: 13/07/2006, 19h12

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