Affichage message erreur

Fermé
Line - 3 juin 2009 à 12:22
 Line - 7 juin 2009 à 17:40
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!

16 réponses

mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
3 juin 2009 à 12:42
je suppose que tu dois faire cette fonction en utilisant javascript et puis tu appelles cette fonction lors du teste

:)
0
Oui j'ai compris ça en cherchant sur google mais je n'y arrive pas justement... :(
0
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
3 juin 2009 à 12:48
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 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
3 juin 2009 à 12:57
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
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
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
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 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
3 juin 2009 à 15:37
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
Malheureusement ça ne marche pas :
Fatal error: Call to undefined function Require_one()
0
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
3 juin 2009 à 16:31
essaye header(location:"chemin de fichier");
0
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 samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
3 juin 2009 à 16:46
C'est Require_once, pas Require_one ^^
0
mya1 Messages postés 334 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 28 janvier 2013 42
3 juin 2009 à 16:48
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
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 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
3 juin 2009 à 19:44
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
Bonne idée Brachior! Je vais tester merci ;)
0
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