Formulaire PHP

Fermé
Markus - 7 mars 2009 à 17:28
 le père - 7 mars 2009 à 17:37
Bonjour,

Je ne comprends pas ce qui ne fonctionne pas dans ce formulaire :

<?php

	$destinataire = 'monmail@mondomaine.com';
	$copie = 'non';
	$form_action = '';

	$message_envoye = "Envoyé";
	$message_non_envoye = "Désolé, nous n'avons pu envoyer votre message.";

	// Message d'erreur du formulaire
	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

	function Rec($text)
	{
		$text = trim($text); // delete white spaces after & before text
		if (1 === get_magic_quotes_gpc())
		{
			$stripslashes = create_function('$txt', 'return stripslashes($txt);');
		}
		else
		{
			$stripslashes = create_function('$txt', 'return $txt;');
		}

		// magic quotes ?
		$text = $stripslashes($text);
		$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
		$text = nl2br($text);
		return $text;
	};

	function IsEmail($email)
	{
		$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
		return (eregi($pattern,$email)) ? true : false;
	};

	$err_formulaire = false; 

	$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
	$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
	$type   = (isset($_POST['type']))   ? Rec($_POST['type'])   : '';
	$info = (isset($_POST['info'])) ? Rec($_POST['info']) : '';
	$menu1 = (isset($_POST['menu1'])) ? Rec($_POST['menu1']) : '';
	$menu2 = (isset($_POST['menu2'])) ? Rec($_POST['menu2']) : '';
	$menu3 = (isset($_POST['menu3'])) ? Rec($_POST['menu3']) : '';
	$menu4 = (isset($_POST['menu4'])) ? Rec($_POST['menu4']) : '';
	$menu5 = (isset($_POST['menu5'])) ? Rec($_POST['menu5']) : '';
	$options = (isset($_POST['options'])) ? Rec($_POST['options']) : '';
	$designno = (isset($_POST['designno'])) ? Rec($_POST['designno']) : '';
	$pages = (isset($_POST['pages'])) ? Rec($_POST['pages']) : '';
	$budgets = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';

	if (isset($_POST['envoi']))
	{
		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
		$err_formulaire = (IsEmail($email)) ? false : true;

		if (($nom != '') && ($email != '') && ($type != '') && ($info != '') && ($menu1 != '') && ($menu2 != '') && ($menu3 != '') && ($menu4 != '') && ($menu5 != '') && ($options != '') && ($designno != '') && ($pages != '') && ($budget != ''))
		{
			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

			if ($copie == 'oui')
			{
				$cible = $destinataire.','.$email;
			}
			else
			{
				$cible = $destinataire;
			};


			$info = html_entity_decode($message);
			$info = str_replace('&#039;',"'",$message);
			$info = str_replace('&#8217;',"'",$message);
			$info = str_replace('<br>','',$message);
			$info = str_replace('<br />','',$message);


			if (mail($cible, $objet, $message, $headers))
			{
				echo '<p>'.$message_envoye.'</p>'."\n";
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>'."\n";
			};
		}
		else
		{
			echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
			$err_formulaire = true;
		};
	}; // fin du if (!isset($_POST['envoi']))

	if (($err_formulaire) || (!isset($_POST['envoi'])))
	{
		echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
		echo '	<fieldset><legend>Vos coordonnées</legend>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="nom">Nom :</label>'."\n";
		echo '			<input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="email">Email :</label>'."\n";
		echo '			<input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
		echo '		</p>'."\n";
		echo '	</fieldset>'."\n";

		echo '	<fieldset><legend>Site Web :</legend>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="type">Type de site :</label>'."\n";
		echo '			<input type="text" id="type" name="type" value="'.stripslashes($type).'" tabindex="3" />'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="info">Plus d'informations possible :</label>'."\n";
		echo '			<textarea id="info" name="info" tabindex="4" cols="30" rows="8">'.stripslashes($info).'</textarea>'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			Menu (le nombre de bouton dépend du design choisi) <br /> '."\n";
		echo '			<label for="menu1">Bouton 1 :</label> <input type="text" id="menu1" name="menu1" >'.stripslashes($menu1).'."\n";
		echo '			<label for="menu2">Bouton 2 :</label> <input type="text" id="menu2" name="menu2" >'.stripslashes($menu2).'."\n";
		echo '			<label for="menu3">Bouton 3 :</label> <input type="text" id="menu3" name="menu3" >'.stripslashes($menu3).'."\n";
		echo '			<label for="menu4">Bouton 4 :</label> <input type="text" id="menu4" name="menu4" >'.stripslashes($menu4).'."\n";
		echo '			<label for="menu5">Bouton 5 :</label> <input type="text" id="menu5" name="menu5" >'.stripslashes($menu5).'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="options">Quels options pourraient vous intéresser à intégrer dans votre site (newsletter, news, forum, commentaires, blog, t-chat, inscription, ...) :</label> <br /> '."\n";
		echo '			<textarea id="options" name="options" tabindex="4" cols="20" rows="4">'.stripslashes($options).'</textarea>'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			Design <a href="lookdesigns.php">(Voir les designs)</a> : <br /> '."\n";
		echo '			<label for="designno">Numéro du design :</label> <input type="text" id="designno" name="designno" />'.stripslashes($designno).'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="pages">Nombre de pages : (écrire qu'est-ce que chaque page dans "Plus d'informations possible")</label> '."\n";
		echo '			<input type="text" id="pages" name="pages" size="5" />'.stripslashes($pages).'."\n";
		echo '		</p>'."\n";
		echo '		<p>'."\n";
		echo '			<label for="budget">Votre budget (écrire devise) :</label> '."\n";
		echo '			<input type="text" id="budget" name="budget" size="5" />'.stripslashes($budget).'."\n";
		echo '		</p>'."\n";


		echo '	</fieldset>'."\n";

		echo '	<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer la demande" /></div>'."\n";
		echo '</form>'."\n";
	};
?>

1 réponse

Bonjour

Et si c'était toi tu nous disais ce qui ne fonctionne pas ? Messages d'erreur, comportement ...

Mais commence par utiliser un éditeur à coloration syntaxique (moi j'utilise PSPad), tu verras qu'il y a beaucoup d'erreurs de ' et de "
0