8795 sujets

Développement web côté serveur, CMS

Bonsoir,
et bien voila je voudrais proposer le choix du destinataire dans un formulaire et je cale mechament sur la partie PHP qui traite les données recues via le formulaire Smiley bawling donc je vous expose mon petit probleme Smiley murf
Voici le html:
<html>
<body>
<form method="post" action="formulaire.php">
<div>
<fieldset>
<legend>Vos Coordonnées</legend>
<p>Entrez ici vos coordonnées <strong>attention</strong> tout les champs sont <strong>obligatoires</strong><br /><br />
<label>Quel est votre <strong>Nom</strong> ?<br />
<input type="text" name="nom" size="30" maxlength="250" tabindex="100" value="" />
</label><br /><br />
<label>Quel est votre <strong>Email</strong> ?<br />
<input type="text" name="email" size="40" maxlength="250" tabindex="200" value="" />
</label><br /><br />
<label>Quel est le <strong>Sujet du Message</strong> ?<br />
<input type="text" name="sujet" size="50" maxlength="250" tabindex="300" value=""/>
</label>
</p>
</fieldset>
<br />
<fieldset>
<legend>Les Destinataires</legend>
<p>Choisissez ici le Destinataire que vous voudriez Contacter<br /><br />
[#red]<label><input type="radio" name="destinataire" tabindex="400" /> Contacter <strong>Trot'Lolotte</strong>
</label><br />
<label><input type="radio" name="destinataire" tabindex="500" /> Contacter le <strong>Webmaster</strong> (webphn)
</label><br /> [/#] 
</p>
</fieldset>
<br />	
<fieldset>
<legend>Votre Message</legend>
<p>Ecrivez ici votre message<br />
<label><textarea name="message" rows="6" cols="50" tabindex="600"></textarea></label>
</p>
</fieldset> 
<p><input name="annuler" type="reset" value="Nettoyer tout" alt="Nettoyer" title="Nettoyer tout le formulaire" /> <input name="envoyer" type="submit" value="Envoyer" alt="Envoyer" title="Envoyer votre message" /></p>
</div>
</form>
</body>
</html>

Et voici le formulaire.php:
<?php
function formulaire($nom="",$email="",$sujet="",$destinataire="",$message="") {
}
if(!isset($nom)) { 
formulaire();
}
else {
$vnom=trim(htmlentities($_POST["nom"]));
$vemail=trim(htmlentities($_POST["email"]));
$vsujet=trim(htmlentities($_POST["sujet"]));
$vdestinataire=trim(htmlentities($_POST["destinataire"]));
$vmessage=trim(htmlentities($_POST["message"]));
[#red]$destinataire='webphn@laposte.net';  [/#] 
$titre="Message envoyer à partir du site de TrotLolotte";
$message="Provenance : $HTTP_REFERER\n";
$message.="Adresse IP : $REMOTE_ADDR,\n";
$message.="Navigateur : $HTTP_USER_AGENT\n";
$message.="nom : $vnom\n";
$message.="email : $vemail\n";
$message.="sujet : $vsujet\n";
$message.="message : $vmessage\n";
if (empty($vnom) || empty($email) || empty($vsujet) || empty($vdestinataire) || empty($vmessage)) {
echo "<p class='red'>Vous n'avez pas complété toutes les zones&nbsp;: Faites un retour en arriere pour finir de completer le formulaire de contact.</p>";
$erreur=1;
}
if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vemail) && ($erreur<>1)){
echo "<p class='red'>L'adresse email n'est pas correcte&nbsp;: Faites un retour en arriere et entrez une vraie adresse email.</p>";
$erreur=1;
}
if ($erreur==1) {
formulaire($nom,$email,$sujet,$destinataire,$message);
}
else {
mail($destinataire,$titre,$message,"From: $vemail") ;
echo "<p class='vi4'>Votre message :</p>";
echo "<ul><li>Nom : <span class='red'>" . $vnom . "</span><br />";
echo "<li>email : <span class='red'>" . $vemail. "</span></li>";
echo "<li>sujet : <span class='red'>" . $vsujet. "</span></li>";
echo "<li>message : <span class='red'>" . $vmessage.'</span></li></ul>';
echo "<p class='vi4'>a bien été envoyé.</p>\n" ; 
echo "<p>Nous vous remercions et nous essayerons d'y répondre dans les plus brefs délais.</p>\n" ;
echo "<form name='boutons'><table border='0' cellspacing='0' cellpadding='0' width='90%' align='center'><tr><td>" ;
echo "<input type='button' name='accueil' alt='Accueil' value=\"Retour à la page d'accueil\" style='color:#660066;background-color:#ebe7f1' onclick=\"location.href='index.html'\" onmouseover=\"this.style.color='#ff0000'\" onmouseout=\"this.style.color='#660066'\" onmousedown=\"this.style.color='#ff9900'\" />\n";
echo "</td></tr></table>";
}
}
?>

Comme vous pouvez le constater tout les messages sont envoyés à:
$destinataire='webphn@laposte.net

Alors que dans le formulaire je propose 2 choix:
<label><input type="radio" name="destinataire" tabindex="400" /> Contacter <strong>Trot'Lolotte</strong></label>
<br />
<label><input type="radio" name="destinataire" tabindex="500" /> Contacter le <strong>Webmaster</strong> (webphn)</label>

Comment faire pour distinguer le bon destinataire ? Smiley confused
A savoir que j'ai placé des boutons radio dans le formulaire et donc qu'il ne peut y avoir que un seul choix.
Modifié par webphn (04 Oct 2005 - 02:35)
Bonjour,

Ce sujet n'a pas sa place dans ce forum, qui n'est pas consacré aux questions PHP débutant.

Cependant :

- Dans le formulaire HTML, les boutons radios doivent avoir chacun une valeur différente (attribut value). Actuellement, ils ne servent effectivement à rien.
- Ensuite, tester cette valeur récupérée par la variable $vdestinataire pour déterminer l'adresse d'envoi du mail.
- Ce test doit remplacer la variable $destinataire qui reçoit pour l'instant dans ton script une valeur unique (il est donc logique que tous les mails soient envoyés à la même adresse).

Pour la suite, merci de s'adresser à l'un des forums indiqués dans le message d'en-tête de ce salon : http://forum.alsacreations.com/topic.php?fid=20&aid=23

Et surtout, raison qui motive en fait cette réponse : ne jamais utiliser les labels implicites dans les formulaires. Utiliser uniquement des labels explicites. Voir la FAQ du forum à ce sujet.
Modifié par Laurent Denis (04 Oct 2005 - 04:11)
a écrit :
Le but ce ce salon n'est pas de répondre à des questions portant sur les tutoriels Alsacréations PHP (le salon "Service Après Vente" est là pour ça), vos premiers pas en PHP, ou l'apprentissage des technologies serveurs en général.

Pour ces questions, merci de vous adresser à un site plus approprié. Par exemple, pour PHP:
Phpdebutant.org: Initiation à PHP et forum spécialisé, parfait pour les débutants
Forum et tutoriaux de PHP-France
Forum de Nexen.net
etc.


( http://forum.alsacreations.com/topic.php?fid=20&aid=23 )