Je viens à vous à cause d'un petit souci de formulaire (et là tout le monde ce dit, mais ta des tonnes de formulaires partout comment tu ne peux pas t'en sortir, la réponse est simple je suis nul en php), enfin bon voila mon souci:
J'arrive a envoyer un mail via mon formulaire, tout arrive bien dans ma boite comme "c'est jolie", sauf le numéro de téléphone qui ne suis pas, et, pourtant, le message est bien parti, le champs "téléphone" est considérer comme remplit sinon il me mettrait un message d'erreur au test !empty, ou même, avec le test de la validité du numéro entrer $tel= NULL && !preg_match("`^0[0-9]([-. ]?\d{2}){4}[-. ]?$`", $tel, donc si quelqu'un sait qu'elle est mon erreur je suis tout Ouie.
Mon fichier :
<?php
if(!empty($_POST)) {
extract($_POST);
$valid = true;
if(empty($name)){
$valid = false;
$erreurnom = "Vous devez indiquer votre nom";
}
if(empty($email)){
$valid = false;
$erreuremail = "Vous devez indiquer votre E-mail";
}
if($email!= NULL && !preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$email)) {
$valid = false;
$erreuremail = "Vous devez indiquer une E-mail valide";
}
if(empty($tel)){
$valid = false;
$erreurtel = "Vous devez indiquer votre numéro de téléphone";
}
if($tel= NULL && !preg_match("`^0[0-9]([-. ]?\d{2}){4}[-. ]?$`", $tel)){
$valid = false;
$erreurtel = "Vous devez indiquer votre numéro de téléphone valide";
}
if(empty($message)){
$valid = false;
$erreurmessage = "Vous devez indiquer votre message";
}
if($valid) {
$to = "[email protected]";
$subject = $name." vous envoi un message";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$header = "From: $email \r\n";
$header .= "Reply-To: $email ";
if(mail($to,$subject,$message,$header)) {
$ok = "Merci, votre message nous est bien parvenu.";
}
else{
$erreur = "Une erreur est survenue lors de l'envoie de votre message";
}
unset($name);
unset($email);
unset($tel);
unset($message);
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Jwebsign</title>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width" />
<link rel="stylesheet" href="style.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
<meta charset="utf-8" />
<title>Contact</title>
</head>
<body>
<div data-role="page" id="intro">
<div data-role="header" data-theme="a">
<a href="mobile.html" data-icon="delete">Back</a>
<img src="logo.gif" alt="" title="" class="logo"/>
</div>
<div data-role="content" data-theme="a">
<div id="contact">
<h1>Contactez JWebSign</h1>
<?php
if(isset($ok)) { echo "<div class=\"ok\">$ok</div>";}
if(isset($erreur)) { echo "<div class=\"erreur\">$erreur</div>";}
?>
<form action="contact.php" method="post">
<fieldset>
<label for="name">Nom :</label>
<input type="text" id="name" placeholder="Entrer votre nom complet" name="name" value="<?php if(isset($name)) echo $name; ?>" /><span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span>
<label for="email">Email :</label>
<input type="email" id="email" placeholder="Entrer votre adresse mail" name="email" value="<?php if(isset($email)) echo $email; ?>"/><span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail; ?></span>
<label for="tel">Téléphone :</label>
<input type="tel" id="tel" placeholder="Entrer votre numéro de téléphone" name="tel" value="<?php if(isset($tel)) echo $tel; ?>"/><span class="error-message"><?php if(isset($erreurtel)) echo $erreurtel; ?></span>
<label for="message">Message :</label>
<textarea id="message" placeholder="Votre message" name="message"><?php if(isset($message)) echo $message; ?></textarea>
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
<input type="submit" value="Envoyer" name="envoye" />
</fieldset>
</form>
</div>
</div>
<div data-role="footer" data-theme="a">
<div class="boutton">
<a href="" data-role="button" data-theme="a">Mobile On-Off</a>
</div>
<h1>Création : <a href="" title=""></a></h1>
</div>
</div>
</body>
</html>
Je pense qu'avec le code sa sera plus simple, car j'avoue j'ai essayer plein de truc mais rien ne marche :s, quand je fait une alert de ma variable $tel, il me met 0 ou mm rien du tout des fois.
Si quelqu'un peu me dire ce qu'il ne va pas, je vous remercie d'avance pour votre aide.