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!
A voir également:

16 réponses

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
Line
 
Oui j'ai compris ça en cherchant sur google mais je n'y arrive pas justement... :(
0
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
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
Line
 
Malheureusement ça ne marche pas :
Fatal error: Call to undefined function Require_one()
0
mya1 Messages postés 352 Statut Membre 42
 
essaye header(location:"chemin de fichier");
0
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
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
C'est Require_once, pas Require_one ^^
0
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
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
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
Line
 
Bonne idée Brachior! Je vais tester merci ;)
0
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