8797 sujets

Développement web côté serveur, CMS

Bonjour à tous !

Voila je suis nouveau sur le forum, mais je connais le site depuis un petit moment déja Smiley smile

Voila j'ai composer ce code :
<?
$mail = htmlentities($_POST['mail']);

    if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
    {
		 //On récupère toutes les informations entrées dans le formulaire.
		$mail = htmlentities($_POST['mail'], ENT_QUOTES); // **
		$nom= htmlentities($_POST['nom'], ENT_QUOTES); //   **
		$prenom = htmlentities($_POST['prenom'], ENT_QUOTES); //   **
		$message = htmlentities($_POST['message'], ENT_QUOTES); // **
		$message = nl2br($message);   // **
		$cat = htmlentities($_POST['service']);   //   **
		
		// Déclaration de l'email
	
		$message1 = '<html><body>Bonjour ! Une question à été posé sur le site xxxxxxxx.com!</br>'; 
		$message1 .= '</br>';
		$message1 .= 'Quatégorie de la demande : ' . $service .'.<br>'; 
		$message1 .= 'E-mail de l\'expéditeur : ' . $mail .'<br>';
		$message1 .= 'Nom du demandeur : ' . $nom .'<br>';
		$message1 .= 'Prénom du demandeur :  ' . $prenom .'.<br>';
		$message1 .= 'Objet de la question ou de la demande : ' . $message .'.<br><br>';
		$message1 .= "Note, Instruction : Des réponses précises, simples, et très explicatives.</br>Ne jamais utiliser la fonction REPONDRE des messageries.</br>Répondre le plus vite possible pour satisfaire le client et se démarquer des autres sites.</br>En cas d\'hésitation, contacter le Webmaster.</br>La politesse et les formulations chaleureuses sont de rigeurs, le client est toujours favorisé.<br><br>";
		
		if( empty($mail) || empty($nom) || empty($prenom) || empty($message)) // on vérifie que les champs ne soient pas vident et on affiche un message en conséquence.
		{
		    $reponse_titre = 'Erreur';
			$reponse = 'Vous devez remplir tous les champs pour valider votre message ! <br><br><a href="javascript:history.back(1)">Retour</a>';
		}

       else
		{
			
		if ($cat = 'comm');
		{
		   $destination = 'x@xx.com';
		}
		if ($cat ='comm_passed');
		{
		    $destination = 'xx@xx.com';
		}
		if ($cat = 'plaques');
		{
		   $destination = 'xxx@xx.com';
		}
		if ($cat = 'pros');
		{
		   $destination = 'xxxx@xx.com';
		}
		if ($cat = 'siege');
		{
		   $destination = 'xxxxx@xx.com';
		}
		if ($cat = 'probleme');
		{
		   $destination = 'xxxxxx@xx.com';
		}
		if ($cat = 'general');
		{
		   $destination = 'xxxxxxx@xx.com';
		}
		if ($cat = 'webmaster');
		{
		   $destination = 'xxxxxxxx@xx.com';
		}
		if ($cat = 'autre');
		{
		   $destination = 'xxxxxxxxxx@xx.com';
		}
		        $reponse_titre = 'Mesaage envoyé';
			    $reponse = 'Votre message à bien été envoyé ! </br>Notre équipe vous répondra dans les plus brefs délais à l\'adresse que vous nous avez indiqué.</br>Vous recevrez votre réponse sous moin de 24h jours ouvrés<br><a href="index.php?page="acceuil">Page d\'accueil</a>';
				$email_admin = 'xxx@free.fr'; //Votre adresse mail
				$entete = "MIME-Version: 1.0\r\n";
				$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
				$entete .= "From: <$email_admin>\r\n";
				$entete .= "Reply-To: $email_admin\r\n";
				mail($destination,'Question catégorie : ' . $service. '' . $login . '.' , $message1, "$entete");
				
		}
	}
else //Reponse si l'adresse e-mail est une fausse
	{
		$reponse_titre = 'Erreur ! <br><br>';
		$reponse = 'Votre adresse E-mail n\'est pas correcte. Veillez en entrez une valide. <br><br><a href="javascript:history.back(1)">Retour</a>';
	} 
		
?>


Le bu c'est que avec une liste déroulante, on récupère la valeur de $_POST['service'], et selon sa valeur, on donne une adresse email différente dans $destination.

Le problème c'est que j'ai certainement dû me planter, vu qu'a chaque fois, le mail à la même valeur quelque soit $_POST['service'], il prend toujours le dernière adrese. Donc problème dans les conditions Smiley decu

Voila le Xhtml, le formulaire :
<label>
           Catégorie de votre demande :
           <select name="service">
               <option value="comm" selected="selected">Question concernant les commandes</option>
			    <option value="comm_pased">Réclamation sur une commande passée</option>
			    <option value="plaques">Question concerant les plaques</option>
               <option value="pros">Vous êtes professionnel</option>
               <option value="siege">Contacter le siège sociale</option>
			    <option value="probleme">Signaler un problème technique</option>
               <option value="general">Question d'ordre général</option>
			    <option value="webmaster">Contacter le Webmaster</option>
               <option value="autre">Autre</option>
			    
           </select>
       </label>


Voila merci d'avance Smiley smile
Administrateur
if ($cat = 'webmaster');


il faut mettre un double signe égal pour tester une condition.
là c'est une assignation.
sinon il prendra en effet la dernière valeur...
dew a écrit :
if ($cat = 'webmaster');


il faut mettre un double signe égal pour tester une condition.
là c'est une assignation.
sinon il prendra en effet la dernière valeur...


Merci de ta réponses
mais avec ça :
if ($cat == 'webmaster');


Cela ne fonctionne toujours pas

avec
		if ($cat = 'plaques');

		{

		   $destination == 'xxx@xx.com';

}
j'obtient l'erreur suivante : Warning: mail(): Invalid mail. to = [] in /var/www/free.fr/5/9/harddream/test/contacts_trait.php on line 77

LA ligne 77 correspond à
				mail($destination,'Question catégorie : ' . $service. '' . $login . '.' , $message1, "$entete");


Comment faire ? Smiley bawling
Administrateur
la syntaxe correcte d'un if est :

if ($cat == 'plaques') {
   $destination = 'xxx@xx.com';
}


je te conseille de prendre connaissance de la doc PHP ou de quelques tutoriaux
oui je sais, mais cela ne fonctionnais pas !
J'ai trouver en utilisant un switch ça va beaucoup mieu Smiley smile

Merci quand même
Damned ! je lis tout ça pour qu'au final ce problème m'apparaisse... [résolu] ? Smiley biggol Smiley fache

Par ailleurs, ceci ne concerne pas les standards... et est donc hors propos ici... vois plutôt les forums de developpez.net à l'avenir, qui sont très réactifs en ce qui concerne les problèmes liés à la programmation en PHP...
Modifié par RomsIW (21 Nov 2005 - 15:12)