Envoie données formulaire par mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoie données formulaire par mail

par ouckileou » 31 mars 2008, 15:09

Modération :
ju3979, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par ju3979 » 31 mars 2008, 14:03

Ok c'était ça le problème
Maintenant ça fontionne
un grand merci

par d0m » 31 mars 2008, 13:05

salut,

si tu fais un echo du message avant de l'envoyer par mail, tu remarqueras sans doute que demandeur n'y figure pas.
Donc $_POST['demandeur'] semble être vide.

Le problème viendrait de là. Le champ input est il bien dans le formulaire?
(entre les balises

Code : Tout sélectionner

<form></form>
)

par ouckileou » 31 mars 2008, 12:05

Modération :
ju3979, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Envoie données formulaire par mail

par ju3979 » 31 mars 2008, 11:56

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 : Tout sélectionner

<? 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 : Tout sélectionner

<?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 = "[email protected]"; $header = "From: [email protected]\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