11548 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

Je viens de réaliser un formulaire de contact en PHP. J'ai rajouté l'affichage d'une pop-up lors de la validation du formulaire "Votre message a bien été envoyé". De même si l'un des champs est vide : "Vous n'avez pas rempli tous les champs".
Je souhaiterais que, lorsqu'on clique sur le "OK" de la pop-up, cela redirige vers une page donnée (accueil) pour la première possibilité, ou bien que cela revienne sur le formulaire en cours de rédaction pour la deuxième.
Cela est-il possible ?

Si besoin, voici mon code php (le html est à part) :
<?php

if(isset($_POST) && isset($_POST["nom"]) && isset($_POST["mail"]) && isset($_POST["message"]))

{
	extract ($_POST);
	if(!empty($nom) &&!empty($mail) &&!empty($message))
		{
		$message=str_replace("\'", "'", $message);
		$destinataire="xxx@xxx.fr";
		$sujet="Vous avez un nouveau mail";
		$message="Une personne cherche à vous contacter : \n
				Nom : $nom \n
				Mail : $mail \n
				Message : \n
				$message";
		$objet="from: $nom \n reply-to: $mail";
		
		mail($destinataire, $sujet, $message, $objet);
		echo "<script type=\"text/javascript\">alert(\"Votre message a bien été envoyé.\");</script>";		
		}
	
	else
		{
		echo "<script type=\"text/javascript\">alert(\"Vous n'avez pas rempli tous les champs.\");</script>"; 
		}
}

?>


Merci d'avance pour votre aide.
Modifié par Syrinx (25 Sep 2009 - 19:09)
Hello,

Pour ma part, ce que je te conseillerais, c'est d'utiliser javascript pour tester la validité des tes différents champs, et de ne soumettre le formulaire que si la totalité des champs est bien remplie. Ainsi, tu n'auras pas à te soucier de ta redirection en php Smiley smile

Un article complet sur la validation de formulaire ici
Bonjour,

Merci pour la réponse !
Je vais en effet essayer de me pencher sur la question, mais il va falloir que je me trouve un tuto en français parce que même en français j'ai parfois du mal à comprendre (ou alors il me faut du temps).

En attendant, j'ai trouvé une solution temporaire :

echo "<script type=\"text/javascript\">alert(\"Votre message a bien été envoyé.\"); location =\"../index.html\"</script>";


pour le cas où le formulaire est correctement rempli : ça renvoie la personne à la page d'accueil (ce que je cherchais) par contre, si elle fait "page arrière", elle peut renvoyer le formulaire indéfiniment.
De même, pour le cas où le formulaire n'est pas correctement rempli :
echo "<script type=\"text/javascript\">alert(\"Vous n'avez pas rempli tous les champs.\");location =\"page6.html\"</script>";

ça renvoie la personne à la page de contact, mais sans les données qu'elle venait de taper.

Bref, je suppose que pour régler tout ça il va falloir que je me penche plus sérieusement sur le javascript...

Et si une personne le désactive, cela marche quand même ?

Merci à vous.