Affichage message erreur

Line -  
 Line -
Bonjour,
je réalise actuellement un site web et j'ai un formulaire pour l'inscription des utilisateurs.
Je dois tester si le code postal est bien un ensemble de chiffres et sinon je veux qu'un message s'affiche dans une fenêtre à part avec inscrit simplement que le code postal n'est pas correct.

J'ai ce code pour le moment:
if (preg_match("#[0-9]#", $CP )) //si le $CodePostal contient que des chiffres
{
}
else
{
//echo 'Le champ "Code Postal" doit contenir seulement des chiffres';
}


Le problème est que le message s'affiche sur la même page et j'ai besoin que ce soit sur une petite fenêtre ( popup par exemple)

De plus, j'aimerais que mon test vérifie que le code postal ne contient que 5 chiffre, pas plus, pas mois..

Merci d'avance!
Configuration: Windows Vista
Firefox 3.0.10

16 réponses

  1. mya1 Messages postés 352 Statut Membre 42
     
    je suppose que tu dois faire cette fonction en utilisant javascript et puis tu appelles cette fonction lors du teste

    :)
    0
  2. Line
     
    Oui j'ai compris ça en cherchant sur google mais je n'y arrive pas justement... :(
    0
  3. mya1 Messages postés 352 Statut Membre 42
     
    je me rappelle as trop du nom exacte de la fonction mais c'est dans le sens de javascript.alert mahin !!!
    0
  4. Brachior Messages postés 616 Statut Membre 46
     
    tu veux faire le test avant ou apres l'envoi du formulaire d'inscription ?
    car le javascript serai plus utile pour le premier cas ^^

    sinon si tu veux garder ton code il te suffit d'ecrire
    else{
    echo "<script>alert(\"Le champ 'Code Postal' doit contenir seulement des chiffres.\");</script>";
    }

    c'est relativement moche mais bon ^^
    sinon tu peux le faire entierement en javascript a coup de onclick / onsubmit / ... ... :)
    0
    1. Line
       
      Ton code fonctionne donc une petite fenêtre s'ouvre bien comme je le souhaitais, par contre en fond ma page avec le formulaire n'est plus là j'ai une page blanche, j'aimerais la conserver
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Line
     
    Oui je veux le faire avant l'exécution du formulaire afin d'afficher simplement une petite fenêtre avec le message, l'user pourra alors modifier le code postal sans tout retaper.
    Je vais essayer ton code merci
    0
  7. Line
     
    Personne n'a d'idée sur comment laisser la page du formulaire intacte pendant que le message echo "<script>alert(\"Le champ 'Code Postal' doit contenir seulement des chiffres.\");</script>"; s'affiche ???
    0
  8. mya1 Messages postés 352 Statut Membre 42
     
    require_one('chemin du meme fichier ou tu as mis ton formulaire '); faut que tu mettes cette ligne après le message d'alert
    0
  9. Line
     
    Malheureusement ça ne marche pas :
    Fatal error: Call to undefined function Require_one()
    0
  10. mya1 Messages postés 352 Statut Membre 42
     
    essaye header(location:"chemin de fichier");
    0
  11. Line
     
    Ca ne marche pas ça ne me met plus le message d'erreur et ça valide le formulaire sans effectuer les tests qui marchaient sans le header je ne comprends plus rien ...
    0
  12. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    C'est Require_once, pas Require_one ^^
    0
  13. mya1 Messages postés 352 Statut Membre 42
     
    ouii ouii c require_once! c t juste une erreur de frappe et g po trop fait attention!! gspr q ca va marcher cette fois ci!
    0
  14. Line
     
    Merci beaucoup ça marche ... SEUL petit problème j'aurais voulu conserver ce que l'utilisateur avait saisi dans le formulaire mais là le formulaire réapparait vide.. Une idée?
    0
  15. Brachior Messages postés 616 Statut Membre 46
     
    function testForm{
    /* tu mets tous tes tests exemple : */
      if( getElementById('mdp').lenght >= 10 && getElementById('mdp').lenght <= 5 ){
        alert("mot de passe (5 a 10 caractere)");
        return false;
      }
    ...
    ...
     return true;
    }
    
    
    // dans ton formulaire ca donnne :
    <form method='post' action='tapage.php' onsubmit='return(testForm)'>
      ...
      ...
      <input type='password' id='mdp' />
      ...
      <input type='submit' onclick='return(testForm)' />
    </form>

    ca n'enverra le formulaire que si testForm a retourné 'true' (vrai)
    donc si y a un problème, tu ne quittera pas la page et tout les champs seront sauvegardés
    0
  16. Line
     
    Bonne idée Brachior! Je vais tester merci ;)
    0
  17. Line
     
    Brachior j'ai fait le test avec ce que tu m'as dit mais j'ai l'impression que le formulaire n'utilise pas la fonction que tu m'a fait créée, lorsque je clique sur valider il exécute seulement la page suivant et n'appelle par la fonction alors que j'ai bien mis ma ligne
    <form name="insertion" action="executionInscription.php" method="POST" onclick="testForm">
    0