Site web avec php

Résolu
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?

3 réponses

  1. 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
    1. 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
    2. Contributeur
      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
    3. 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
    4. 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
    5. Merci à vous j'ai reussi.
      0
  2. 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
    1. 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