8722 sujets

Développement web côté serveur, CMS

Bonjour.

Après avoir suivi un tuto, j'arrive à un code intéressant et qui fonctionne (super!) et que je comprends (encore mieux!). Mais le problème c'est que mon formulaire doit se trouver sur chaque page de mon site et j'aimerai que celui reste intégralement en html.

Donc dans un premier temps j'ai enlevé le javascript et j'ai mis un lien vers une page .js !Ca fonctionne!

Mais maintenant j'ai des soucis quand je veux différencier le html du php!

En effet, si je fais un include, ce n'est que pour les fonctions de validations mais, j'ai dès lors un soucis: c'est encore en php.

De même que le code emmêlé dans le code html.
Si j'enlève ce dernier, et que dans la méthode form je l'envoie à ma validation php, j'ai le problème qu'il ne revient pas à la page de base.


Moi je ce que j'ai envie dans le meilleure des mondes c'est ce que fait la partie javascript: rester sur la page et indiquer aux utilisateurs directement ce qu'ils ont mal fait mais ceci en ayant un traitement efficace comme ce que j'ai dans le php.

Une dernière chose, j'ai aussi un captcha honeypot que j'aimerai garder. Et là, moi je suis perdu.

Pouvez-vous m'aider?

<?php
if(!empty($_POST)){
	extract($_POST);
	$valid = true;
	if($adresse != ""){
		}
	else{
	if(empty($nom)){
		$valid=false;
		$erreurnom="Erreur nom";
		}
	if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
		$valid=false;
		$erreuremail = "Votre email n'est pas valide";	
		}
	if(empty($email)){
		$valid=false;
		$erreuremail="Erreur email";
		}
	if(empty($message)){
		$valid=false;
		$erreurmessage="Erreur message";
		}
	if($valid){
		$to = "gnagnagnagn@yahoo.fr";
		$sujet = $nom." a contacté le site";
		$header = "From: $nom <$email> \n";
		/*
		*A la place
		*$header = "From: lalala@mondomaine.de \n";
		*$header .= "Reply-To: $email";
		*contre le spam auto
		*/
		$message = stripslashes($message);
		$nom = stripslashes($nom);
		if(mail($to,$sujet,$message,$header)){
			$erreur = "Votre email nous est bien parvenu";
			unset($nom);
			unset($email);
			unset($message);
			}
		else{
			$erreur = "Une erreur est survenue. Mail bloqué";
			}
		
			}
		}
	}
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans nom</title>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
	$(function() {
		$("#adresse").hide();
		$("#envoyer").click(function(){
			valid=true;
			if($("#nom").val()==""){
				$("#nom").css("border-color", "#FF0000");
				$("#nom").next(".error-message").text("Veuillez entrer un nom");
				valid=false;
			}
			else{
				$("#nom").css("border-color", "#00FF00");	
				$("#nom").next(".error-message").text("");
			}
			if($("#email").val()==""){
				$("#email").css("border-color", "#FF0000");
				$("#email").next(".error-message").text("Veuillez entrer un email");
				valid=false;
			}
			else{
				if(!$("#email").val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i)){
				$("#email").css("border-color", "#FF0000");
				$("#email").next(".error-message").text("email non valide");
				valid=false;
					}
				else{
				$("#email").css("border-color", "#00FF00");	
				$("#email").next(".error-message").text("");
				}
			}
			if($("#message").val()==""){
				$("#message").css("border-color", "#FF0000");
				$("#message").next(".error-message").text("Veuillez mettre un message");
				valid=false;
			}
			else{
				$("#message").css("border-color", "#00FF00");	
				$("#message").next(".error-message").text("");
			}

				return valid;
			});
		});
</script>

<link href="css/style01.css" rel="stylesheet" type="text/css">
</head>

<body>
<h1>Contact</h1>
<h2>Contactez-nous!</h2>
<hr />
<?php
if(isset($erreur)){ echo "<p>$erreur</p>"; }
?>
<form method="post" action="index.php">
<label for="nom">Nom:</label><br />
<input type="text" name="nom" id="nom" value="<?php if(isset($nom)) echo $nom; ?>" />
<span class="error-message"><?php if (isset($erreurnom)) echo $erreurnom; ?></span><br />


<input type="text" name="adresse" id="adresse" />

<label for="email">Email:</label><br />
<input type="text" name="email" id="email" value="<?php if(isset($email)) echo $email; ?>" />
<span class="error-message"><?php if (isset($erreuremail)) echo $erreuremail; ?></span><br />




<label for="message">Message:</label><br />
<textarea name="message" id="message" /><?php if(isset($message)) echo $message; ?></textarea>
<span class="error-message"><?php if (isset($erreurmessage)) echo $erreurmessage; ?></span><br />





<input type="submit" value="envoyez" id="envoyer" />


</form>
</body>
</html>