preg_match deconne

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 : preg_match deconne

par rami » 07 oct. 2006, 21:06

Tu appelles preg_match() avec $verif =1 si des données ont été postées!

par titerm » 07 oct. 2006, 20:22

Moi, je pense que ce n'est pas preg_match qui deconne mais carrement php...
t as ptet soulevé un gros loup la...

ou pas...

preg_match deconne

par Invité » 06 oct. 2006, 16:10

Bonjour, alors mon preg_match qui scan si l'email est bon plante
<?php
// La variable $verif, va nous permettre d'analyser si la sémantique de l'email est bonne
$verif="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$/";

if($_POST)
{
	$verif=1;
	foreach($_POST as $key=>$val)
	{
		if(empty($val))
		{
			echo 'Le champ '.$key.' doit être rempli<br />';
			$verif=0;
		}
	}
	if($verif==1)
	{

		//Le code si tout est bon.

		// On assigne et protége nos variables
		$nom=$_POST["nom"];
		$prenom=$_POST["prenom"];
		$adresse=$_POST["adresse"];
		$photo=$_POST["photo"];
		$ville=$_POST["ville"];
		$postale=$_POST["postale"];
		$signature=$_POST["signature"];

	}

	$votremail=$_POST["votremail"];
	$from=htmlentities("From: ".$votremail);
	$objet=$_POST['objet'];

	$message .= "Nom: ".$nom."\n";
	$message .= "Prénom : ".$prenom."\n";
	$message .= "Adresse : ".$adresse."\n";
	$message .= "Ville : ".$ville."\n";
	$message .= "Code postal : ".$postale."\n";
	$message .= "Adresse E-Mail : ".$votremail."\n";
	$message .= "Référence Photo : ".$photo."\n\n";
	$message .= "Message :
".stripslashes(htmlentities($_POST["msg"]))."\n\n";
	$message .= "Signature : ".$signature."\n";


	// On met ici notre email
	$destinataire="[email protected]";

	// C'est bon on est OK, vérifions si l'email est valide, grâce à notre sympathique REGEX
	if(preg_match($verif,$votremail))
	{
		if(trim($message) !== '') {
			// Si tout est OK on envoie l'email
			mail($destinataire,$objet,$message,$from);
			echo "Message envoyé";
		}
		else
		{
			echo "Y'en a marre des messages vide !";
		}
	}
	else
	{
		echo "Votre email n'est pas valide";
	}

}
?>
merci de votre aide :)