begin process at 2012 05 30 21:29:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

formulaire special


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

formulaire special

mardi 3 février 2009 à 16:08:57 | formulaire special

lunixman

bonjour

j'ai une bout de script hyper connue et hyper facile

se script est pour un formulaire

moi j'aimerai que sur se bout de formulaire qui est destiner a y mettre son code postal
on puise y mettre que des chiffre et pas plus que 5

pouvais vous me dire si c'est possible et comment je peut faire svp voici le script :

 <td><label for="cp"><?php echo 'Code Postal'; ?></label></td>
 <td><input name="cp" type="nombre" id="cp" /></td>

cordialement
mardi 3 février 2009 à 16:27:00 | Re : formulaire special

lunixman

j'ai réussi a limiter a 5 grâce a la fonction maxlength

mais comment faire en sorte que se soit que des chiffre qui soit accepter ?

cordialement

mardi 3 février 2009 à 19:07:40 | Re : formulaire special

TychoBrahe

Salut,

Pour commencer, tu es dans l'erreur si tu crois que mettre un maxlength dans le HTML va éviter quelqu'un d'envoyer quelque chose de plus long. Tu ne peux jamais te fier a ce qui est envoyé et tu devra toujours faire des vérification côté serveur, les vérification côté client n'étant pas fiables du tout. Bref, le mieux est de tester ce que tu reçoit et de faire se réafficher le formulaire en cas de mauvais remplissage.

Afin de tester côté serveur, tu peux utiliser strlen() pour vérifier la taille puis vérifier les caractères 1 par 1 fans une boucle (c'est beaucoup moins coûteux qu'une regex), un petit for par exemple. Rappel : $chaine[0] donne le premier caractère de la chaine, $chaine[1] le second, etc.
mardi 3 février 2009 à 20:51:39 | Re : formulaire special

kohntark

Membre Club
Réponse acceptée !
Salut,

Pour être encore plus simple :
if (strlen($_POST['cp']) == 5 && is_numeric($_POST['cp'])) ...

Je n'ai pas testé des masses mais ça devrait fonctionner.


Cordialement,


Kohntark-
mardi 3 février 2009 à 21:32:49 | Re : formulaire special

kohntark

Membre Club
@TychoBrahe :
Tu vas finir par croire que je veux te contredire à tout prix

Rien à voir bien sur, mais je me suis simplement interrogé sur les temps d'exécution des différentes propositions, et j'ai eu des surprises.
Je pensais comme toi que la regex serait plus couteuse, mais étant donné sa simplicité j'ai voulu testé.

Voici le code de test pour 1 million de contrôles (en secondes) :

$t = '78503';

for ($y=0; $y < 1000000; $y++) {
  // ma proposition :
  if (is_numeric($t)) {}; // 0.49079
 
  // avec une regex :
  if (preg_match('`^[[:digit:]]{5}$`',$t)) {}; // 2.3432
 
  // ta proposition :
  for($i=0; $i<5; $i++) { // 4.06659
    if (is_numeric($t[$i])) {};
  }
}

La regex est presque 2 fois plus rapide que ta solution ... comme quoi on a des surprises qq fois.

Bon, nous sommes d'accord, dans le cas de Lunixman toutes les solutions se valent.


Cordialement,


Kohntark-
mardi 3 février 2009 à 21:34:30 | Re : formulaire special

TychoBrahe

'1e4' is numeric
'9.1' is numeric
Pas forcément top sur tous les points le is_numeric() :s

Sinon dans le même genre, mais qui fonctionne mieux, tu as ctype_digit().
mardi 3 février 2009 à 21:36:23 | Re : formulaire special

lunixman

rebonjour

sinon je vient de réussir en 2 partit les voici :


if( strlen($_POST['cp']) && is_numeric)
 $erreur .="cp incorrect<br />";

if( strlen($_POST['cp']) <5)
 $erreur .="cp incomplet<br />";

en une j'ai pas réussi

vous me conseiler quel facon en sachan que se que j'ai fait et la basse de toute les autre vérification

cordialement

mardi 3 février 2009 à 21:41:24 | Re : formulaire special

TychoBrahe

A vrai dire, en testant char par char je pensais virer les valeurs abhérantes au passages (codes postaux impossibles), mais je me rend compte qu'en fait c'est bête vu que l'on peux comparer la valeur numérique aux deux extrêmes.

Hum, pour la regex ça me surprend énormément, je vais refaire quelques petits tests de mon côté.
mardi 3 février 2009 à 21:49:38 | Re : formulaire special

lunixman

TychoBrahe

je m'était mal exprimer au niveau de maxlength je voulait que la saisi du texte soi impossible de dépasser les 5 caractères et en plus après faire appelle a la vérification du coter serveur.

merci de m'avoir signaler l'erreur
mardi 3 février 2009 à 21:53:26 | Re : formulaire special

lunixman

au faite petite question a propos de code postal

pour les autres  pays sa a 5 chiffre aussi ?  j'espère

1 2 3

Cette discussion est classée dans : script, formulaire, hyper, special, bout


Répondre à ce message

Sujets en rapport avec ce message

"bluffer" un script cgi [ par koala01 ] Bonjour,je cherche désepérément le moyen de faire une double utilisation d'un formulaire:Il faudrait qu'une page PHP vérifie le formulaire (ca, c'est Formulaire d'envoi de mail en HTML [ par slhuilli ] Bonjour,Je suis a la recherche d'un script (PHP si possible) pour pouvoir écrire des mails au format HTML (gestion des gras, souligné et italique ains A l'aide probleme au niveau d'un minichat [ par evilimp ] bon voila j'ai debuter le php il ni as pa lontemp (environ 2 semaines) et j'ai vitecompris comment sa marcher j'ai créé un mini chat mavec mysql etc.. problème avec script de censure [ par pyranhaz ] Le script ci-dessous doit vérifier que le champs de recherche nommé "query" dans le formulaire ne comprend aucun des mots contenu dans $Forbidden[1] = Probleme de communication entre formulaire et script [ par djyb2003 ] Bonjour ! Voila mon probleme j'ai utilisé un script php dans mon formulaire pour envoyer un mail rempli des champs du formulaire! mai le serveur me so Lien entre formulaire et script php [ par starskyb ] Bonjour,Je developpe une interface php qui me permet de faire des requete precise sur une base sql. Cette interface comprend un formulaire qui a pour Aide sur exec + formulaire [ par pericles ] Bonjour le mondej'ai un script sh a executer via php et je n'y arrive pas :/donc en gros j'ai creer un formulaire qui envoi des info au script sh et q avec un formulaire, selon selection envoyer vers different script PHP [ par fredericmaill ] voila j'ai un formaulaire et 4 boutons ( ajouter, supprimer, rechercher, modifier) , je voudrais que chaque bouton revoie vers son script php ! le bou appeler un formulaire qui est dans un meme script PHP [ par fredericmaill ] S@lut, je voudrais savoir s'il est possible et dans ce cas quauel methode utilisé, pour faire  utiliser un formulaire POST, qui est sur le meme script AIDE !!!! Svp besoin d'un script URGENT !!!! [ par zeppo4268 ] Bonjours, Je voudrai grace a un formulaire afficher sur une page en php un texte qui dura 20mnEt que si quelqu'un rempli le formulaire avan les 20mn i


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales