8796 sujets

Développement web côté serveur, CMS

Bonjour à tous et toutes, je suis actuellement en train de réaliser un site pour un ami et viens juste d'implanter le formulaire de contact en PHP.

Pour l'occasion je vous autorise à spammer un peu ma boite mail pour ceux qui veulent tester Smiley cligne

Ce que j'aimerai, c'est faire une redirection après 5 ou 6 secondes vers la page d'accueil suite à la confirmation que l'envois s'est bien passé ou revenir au formulaire si une erreur a été détectée (ou si tous les champs ne sont pas remplis).

Voici mon script:

<?

// Récupération des variables provenant du formulaire

$nom = $_POST['nom'];
$mail = $_POST['mail'];
$website = $_POST['website'];
$commentaires= $_POST['commentaires'];

//E-mail auquel sera envoyé le formulaire

$destinataire = 'mon-adressse@gmail.com';

//Sujet du mail envoyé

$sujet = 'Sujet de l\'email qui vous sera envoyé';

//Test pour vérifier que les champs sont bien tous remplis !!

if( !empty($nom) && !empty($mail) && !empty($commentaires)){

//Création du message, les \n permettent de faire un saut de ligne

$message = "Nom : $nom\n Email : $mail\n Site Web : $website\n Commentaires : $commentaires";


// On envoi le mail

if( mail($destinataire, $sujet, $message) )

// Si tout se passe bien on affiche un message de succès d'envoi

{ echo 'Les informations ont bien été envoyées ! <br>
Veuillez patienter, vous allez être redirigé automatiquement sur la page d\'accueil';

}

// Si on rencontre un problème de réseau (connection serveur etc...)

else{ echo 'une erreur est survenu lors de l\'envoi du message';

}

}

// Si tous les champs ne sont pas remplis

else{ echo 'merci de remplir tous les champs';

}

?>


Après avoir parcouru la toile de long en large sans trouver comment régler ca, je dois avouer que le PHP ce n'est pas trop ma tasse de thé (je m'en sort bien mieux avec le css), aussi je compte sur vous pour me filer un petit coup de pouce car je stagne un peu Smiley confus

D'avance un grand merci à ceux qui se donneront la peine de m'aider Smiley lol
Modifié par LuciferX (27 Sep 2008 - 18:58)
Salut Smiley cligne ,

pour ton formulaire je te conseille personnellement de rester sur la même page (pour te donner un exemple tu peux voir ce sujet et celui-ci).

Concernant la redirection je n'en vois vraiment pas l'intérêt Smiley rolleyes ... Ce n'est vraiment pas ergonomique et même un peu agaçant (à mon goût). Ce serait bien plus simple de mettre un lien vers la page en question...

Quoi qu'il en soit tu pourrais par exemple utiliser un sleep suivi d'un header("Location: mapage.php");

A+
Bon, j'ai mis le code php sur la même page que mon formulaire mais rien n'a changé .
Pire, je n'ai même plus de message si un champ n'a pas été remplis ou une confirmation si le message a été envoyé.
Ha oui, la fonction Header ne semble pas fonctionner dans mon code, est-ce moi qui l'ai insérée à un mauvais endroit ?


En fait ce que j'aimerai:

c'est qu'un message d'avertissement surgisse tel une petite pop-up si un champ n'a pas été remplis et qu'il y ait une redirection quand on clique sur le bouton "Envoyer" vers une autre page afin d'annoncer que le message a bien été transmis.

Donc si quelqu'un pouvait m'aider afin de formuler tout ca en php, ca serait très sympa Smiley biggrin

Ensuite je ferais une simple redirection avec une balise meta de cette page contact2 vers l'accueil.

Cordialement.
Modifié par LuciferX (27 Sep 2008 - 18:59)