Page 1 sur 2
Tester un input de formulaire pour voir si c'est un nombre
Posté : 31 janv. 2006, 16:17
par pascal123
Bonjour,
Je cherche un petit bout de code qui me permette de tester une donnee entree dans un formulaire.
En gros, l'tulisateur entre son code postal et je voudrais etre sur que le code est valide en verifiant qu'il s'agit d'un nombre de 5 chiffres...
if(isset($_POST["submit"]))
{
$Code = $_POST['code'];
if(empty($Code))
{
$Vide.="Il manque le code postal de votre adresse personnelle!<br>";
}
elseif /*C'est la function qu'il me manque !!*/
{
$Vide.="Le code postal : "$Code" n'est pas valide !<br>";
}
Voila merci beaucoup pour votre aide
Pascal [/php]
Posté : 31 janv. 2006, 16:57
par daoud
Là, tu es dans la FAQ
Sinon, va jeter un coup d'oeil aux expressions régulières. (tu as un tuto sur phpfrance)
Re: Tester un input de formulaire pour voir si c'est un nomb
Posté : 31 janv. 2006, 17:30
par mario
En gros, l'tulisateur entre son code postal et je voudrais etre sur que le code est valide en verifiant qu'il s'agit d'un nombre de 5 chiffres...
Il faut utiliser les expressions régulières.
Attentions, un code postal corse possède une lettre

Bon sang !
Posté : 31 janv. 2006, 20:36
par pascal123
je me suis gourre de liste je crois bien !
Milles excuses, encore un coup de debutant.
Merci de me l'avoir signale.
Pascal
Posté : 31 janv. 2006, 20:54
par pascal123
Est-ce que finalement ( en exceptant la corse...)
Si je fais un test du code postal en utilisant is_numerique et que je regarde si le nombre est inferieur a 99999, je devrais tombe juste a peu de chose pres non ?
Qu'en pensent ceux qui savent ?
Merci
Pascal
Posté : 31 janv. 2006, 22:35
par Truc
en exceptant la corse...
(...)
Qu'en pensent ceux qui savent ?
C'est de la discrimination
regarde
ici pour prendre en compte nos amis Corses

Posté : 31 janv. 2006, 22:40
par albat
La vraie discrimination est ici :
nos amis Corses

Avoir besoin de préciser que les Corses sont "nos amis"
atteste incontestablement que ce n'est donc pas une évidence !
Je n'ai jamais eu besoin de préciser "nos ennemis lyonnais"... 
Posté : 31 janv. 2006, 22:46
par Truc
atteste incontestablement que ce n'est donc pas une évidence !
Peut-être
En tout cas, je n'ai jamais été invité à boire un verre du coté de la Corse
Mais je suppose qu'ils sont tout de même amicaux

Posté : 31 janv. 2006, 22:49
par Cyrano
Quand ils ne plastiquent pas une gendarmerie ou une sous-préfecture, je suis certain que les Corses sont aussi charmants que des continentaux voire même comme des Bretons ou de Basques

Posté : 31 janv. 2006, 22:51
par pascal123
Merci merci.
Ca m'a l'air tout simplement impec !
Le seul c'est que je patouille et je ne sais pas declarer une fonction ou peut-etre, l'appeler :
si je mets :
function cp_valide ($cp) {
return ereg ("^(2[ab]|0[1-9]|[1-9][0-9])[0-9]{3}$", $cp);
}
dans mon script et que je teste mon code postal, je mets un truc du genre :
if(!(cp_valide($Code)))
{
Vide.="code non valide<br>";
}
Ca me semble logique mais ca me renvoie une fatal error...
Fatal error: Call to undefined function: cp_valid() in coordonnees.php on line 68.
Arrgggggg![/php]
Posté : 31 janv. 2006, 22:56
par Cyrano
Si ta fonction est dans un fichier externe, as-tu bien fait un include() de ce fichier dans ta page ?
Posté : 31 janv. 2006, 22:59
par pascal123
Non.
Elle est au debut du fichier php exactement telle que je l'ai mise dans mon post precedent.
Peut-etre faut-il dire que c'est du java ?
D'ailleurs est-ce du java ou du php cette fonction ?
Je me demandais aussi pourquoi laisser un espace entre le nom de la function et la parenthese qui suit...
Enfin je me perds un peu ici.
Posté : 31 janv. 2006, 23:02
par Cyrano
Effectivement, si tu appelles une fonction JavaScript (et non Java) depuis une ligne en PHP, tu te fais jeter, c'est normal. garde ta fonction, mais mets-la entre balise PHP, c'est une fonction PHP. En JavaScript, les variables ne sont pas préfixées par un "$".
Posté : 31 janv. 2006, 23:03
par pascal123
Pour plus de clarte, voila le code tel quel :
<?php
function cp_valide ($cp) {
return ereg ("^(2[ab]|0[1-9]|[1-9][0-9])[0-9]{3}$", $cp);
}
if(isset($_POST["submit"]))
{
$Code = $_POST['code'];
if (empty($Code))
{
$Vide.="Il manque le code postal de votre adresse personnelle!<br>";
}
elseif(!(cp_valid($Code)))
{
$Vide.="Le code postal personnel n'est pas valide !<br>";
}
echo $Vide;
}
c'est idiot non ?
Posté : 31 janv. 2006, 23:11
par Cyrano
Non, ce n'est pas idiot, mais il y a une faute d'inattention:
elseif(!(cp_valid($Code)))
au lieu de
elseif(!(cp_valide($Code)))
L'espace entre le nom de la fonction et la parenthèse n'a aucune incidence, mais une lettre manquante donne une erreur automatique puisque c'est un nom différent..