Site web avec php

Résolu/Fermé
mangacoly Messages postés 10 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013 - 15 juil. 2013 à 17:33
mangacoly Messages postés 10 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013 - 17 juil. 2013 à 15:18
Bonjour à tous,
je développe un site web avec php et html(j'utilise notpad) pour mon stage dans une structure et je veux faire apparaitre un message qui apparait à chaque fois qu'on valide un formulaire d'inscription et disprait autoatiquement. C'est juste un message pour signaler à l'utilisateur que son message à passer.
Comment faire?
A voir également:

3 réponses

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
16 juil. 2013 à 08:25
Salut !

J'ai une solution que j'utilise sur tout mes projets :)

Dans ton index, tu mets :

if(isset($_SESSION['message'])){
echo '<p class="alert_message">'.$_SESSION['message'] . '</p>';
unset($_SESSION['message'];
}

Tu mets un beau css pour encadrer le message et tout ;-)

Et dans ton code quand tu traites le formulaire tu mets :
$_SESSION['message'] = 'Votre message a bien été enrengistré.';
header('Location:index.php');
exit();


Si tu n'as pas compris, je peux t'expliquer :)
1
mangacoly Messages postés 10 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
16 juil. 2013 à 12:04
Merci pour votre réponse mais le temps de redirection est trés rapide et je ne vois pas le message, encore si je n'efface pas l'instruction header('Location:index.php'); l'acces au formulaire est refusé quand je clik pour acceder au formulaire il reste toujours sur la page index.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
16 juil. 2013 à 12:08
C'est que tu as mal mis en place la solution proposée.

Le header doit se trouver dans la page de traitement de ton formulaire et cette page ne doit contenir aucun affichage de texte.

et la partie alert_message doit se trouver dans la page suivante.
0
mangacoly Messages postés 10 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
16 juil. 2013 à 12:42
maintenant je parvient à acceder au formulaire mais toujours il redirige vers la page index sans afficher le message. voici ce que j'ai fait: au debut de ma page index.php j'ai copier le code if(isset($_SESSION['message'])){
echo '<p class="alert_message">'.$_SESSION['message'] . '</p>';
unset($_SESSION['message'];
}
dans ma page ma page de traitement de formulaire qui ne contient que du php j'ai copier $_SESSION['message'] = 'Votre message a bien été enrengistré.';
header('Location:index.php');
exit();
et il y'a la page qui cotient le formulaure et dans cette page mon formulaire est ceci :
<form action="formcontact.php" method="post" align="center" style="margin-left:70px">
<label for="email">Nom *</label> <input type="text" style="margin-left:100px" name="nom_visiteur" /><p />
<label for="email">Email * </label> <input type="mail" style="margin-left:100px" name="email_visiteur" />
<?php
global $email_visiteur;
if ($email_visiteur<>null)
{
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email_visiteur))
{
echo ' ';
}
else
{

echo '<div style="color:red"> <em> L\'adresse email n\'est pas valide, recommencez !</em></div>';

}
}?>

<p />
<label for="email">Date </label> <input type="text" style="margin-left:105px" name="date_sms" value="<?php echo date('d/m/Y'); ?>"/><p />
<label for="email">Votre message *</label> <TEXTAREA type="text" style="margin-left:40px" cols="30" rows="4" name="sms_visiteur" ></TEXTAREA><p />
(*) champ obligatoire
<input type="submit" value="ENVOYER" style="margin-left:100px; background-color: #00FF00 ; border-color:#D2D2D2;-moz-border-radius: 6px; width:100px; font: Arial, Helvetica, sans-serif; font-size:17px;"/>
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
Modifié par jeremy.s le 16/07/2013 à 12:50
Il faut mettre mon code tout à la fin de formcontact.php, après avoir fait tout le traitement du formulaire, donc c'est tes dernières lignes d'inscructions
0
mangacoly Messages postés 10 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
16 juil. 2013 à 16:38
Merci à vous j'ai reussi.
0
math_b67 Messages postés 529 Date d'inscription dimanche 5 octobre 2008 Statut Membre Dernière intervention 1 juin 2021 68
Modifié par math_b67 le 15/07/2013 à 17:51
Salut,

Pour faire apparaitre et disparaitre un message il te faudra utiliser javascript... Tu n'en as peut etre pas le temps ou l'envi alors je te propose une solution annexe avec uniquement html et php.

Lorsque l'utilisateur valide le formulaire il est redirigé sur une autre page avec le message "Le formulaire a bien été rempli, vous allez être redirigé vers l'accueil", et donc la une redirection automatique vers l'accueil ou n'importe quelle autre page ^^

Page du formulaire :

<form method="post" action="page_de_redirection.php">
<input type="submit" name="nom" value=" Envoyer ">
</form>


Page de redirection :

<META http-EQUIV="Refresh" CONTENT="TEMPS_AVANT_REDIRECTION; url=http://www.index.php">
<p>Le formulaire a bien été rempli, vous allez être redirigé vers l'accueil.</p>


Voila, j'ai fait ça très simplement, à toi d'enjoliver :)


Mathieu


Règle N°1 : J'ai toujours raison !
Règle N°2 : Si j'ai tort, reportez-vous à la règle N°1.
0
mangacoly Messages postés 10 Date d'inscription lundi 15 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
Modifié par mangacoly le 15/07/2013 à 18:47
Merci Mathieu pour votre réponse mais une solution javascript pourrais aussi enrager. voici le lien du site https://www.000webhost.com/migrate?static=true
et je veux que chaque fois que l'utilisateur rempli bien et valide le formulaire de contact un message apparait et disparait automatiquement pour lui signaler que le message a été reçu.
0