MessageBox et PHP

stef.roos Messages postés 90 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,

Dans un fichier html j'ai rajouté un formulaire dans lequel j'ai un champ texte et un bouton pour s'enregistrer, seulement je n'arrive pas à trouver comment faire afficher un messagebox lorsque l'on clique sur le bouton et que le champ texte est vide sans que l'exit ne rende l'écran blanc

Dans le fichier html :

<form method="post" action="php/newsletters/inscription.php">
<input name="email" type="text" size="50" maxlength="100">
<input name="valid" type="submit" value="S'inscrire">
</form>

Dans le fichier inscription.php en premières lignes j'ai mis :

if (empty($email)) {
echo "<script>alert(\"Aucun email n'a été entré\")</script>";
exit;
}

Je voudrais retourné à ma page index.html mais avec le messagebox affiché et le site en arrière plan à la place de l'écran blanc.

Merci

1 réponse

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Je te conseille d'effectuer le test de validité en deux endroits
    * dans le navigateur client (avec du JavaScript)
    * dans la page de réponse( avec le langage de ton choixs, ici PHP)
    <?php 
     echo('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>'); 
    
    if (!isset($_POST['email']) or '' ==$_POST['email']) 
    {  
    echo <<<ENDBAD 
      <head> 
        <script type="text/javascript"> 
    //<![CDATA[ 
      function validateForm() 
      { 
      // ici tu effectues les tests de validité
      if( '' == document.aform.email.value) 
      { 
      alert('email vide'); 
      } 
    } 
    //]]> 
        </script> 
      </head> 
      <body> 
        <form name="aform" method="POST" action="inscription.php"  onSubmit="return validateForm()"> 
          <input name="email" id="email" type="text" size="50" maxlength="100"> 
          <input name="valid" type="submit" value="S'inscrire"> 
        </form> 
    ENDBAD; 
    } 
    else 
    { 
    echo <<<ENDOK 
    <body>OK 
    ENDOK; 
    } 
    
    print("</body> 
    </html>"); 
    ?>


    Gates gave ^H sold you the windows.
    GNU gave us the whole house.(Alexandrin)
    0