vérifier chiffre php

vérifier chiffre php - PHP - Programmation

Marsh Posté le 10-02-2009 à 15:12:41    

Bonjour j'ai une petit question
 
Comment vérifier que dans un input que l'on a bien entre un chiffre, en php, genre avec une  boucle??
 
 
Merci de votre aide :)  :)

Reply

Marsh Posté le 10-02-2009 à 15:12:41   

Reply

Marsh Posté le 10-02-2009 à 15:14:13    

Bonjour,
 
$value = array_key_exists('name', $_POST) ? $post['name'] : '';
$value = intval($value); # Pour un entier par exemple

Reply

Marsh Posté le 10-02-2009 à 15:17:20    

Merci pour cette réponse!!
j'ai un autre petit problème:
Comment faire pour que dans une page il puissent y avoir des echos et des headers
 
Merci de ta réponse

Message cité 1 fois
Message édité par dev123 le 10-02-2009 à 15:17:41
Reply

Marsh Posté le 10-02-2009 à 15:17:42    

Tu peux même le faire sans boucle : voir doc [:sh@rdar]

Reply

Marsh Posté le 10-02-2009 à 15:18:37    

dev123 a écrit :

Merci pour cette réponse!!
j'ai un autre petit problème:
Comment faire pour que dans une page il puissent y avoir des echos et des headers
 
Merci de ta réponse

En mettant les header avant le premier echo. [:airforceone]  
 
Et donc en stockant dans des variables tout ce que tu veux afficher.

Reply

Marsh Posté le 10-02-2009 à 15:19:09    


Solution 1 : tu fais les headers avant les echos
 
Solution 2 : tu bufferize la sortie avec ob_start();

Reply

Marsh Posté le 10-02-2009 à 15:19:53    

OK merci je vais essayé

Reply

Marsh Posté le 10-02-2009 à 15:20:35    

dev123 a écrit :

OK merci je vais essayé


Y'a que ça de vrai :)

Reply

Marsh Posté le 10-02-2009 à 15:27:37    

Le fait de mettre le header avant le echo n'affiche pas ma page correctement et affiche un message bizarre venant du navigateur.
 
Ensuite par rapport au
 Solution 2 : tu bufferize la sortie avec ob_start();
 
J'ai pas compris?? comment faire???

Reply

Marsh Posté le 10-02-2009 à 15:40:01    

Reply

Marsh Posté le 10-02-2009 à 15:40:01   

Reply

Marsh Posté le 10-02-2009 à 15:41:01    

dev123 a écrit :

Le fait de mettre le header avant le echo n'affiche pas ma page correctement et affiche un message bizarre venant du navigateur.


Ca pourrait nous aider de savoir de quel message il s'agit !

Reply

Marsh Posté le 10-02-2009 à 15:45:55    


 
 
Ehh opp:
 
Boucle de redirection:
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
 
Voila la méthode ob_start je la comprend pas trop trop mais je vait essayé de voir le lien que tu ma filé

Reply

Marsh Posté le 10-02-2009 à 15:48:18    

C'est que tu rediriges en boucle vers la même page, le message est assez clair non ? [:dawa]
En ce qui concerne ob_start c'est une fausse bonne idée dans ton cas, la redirection avant toute sortie c'est quand même bien mieux. l'output buffering est utile des cas bien précis.

Reply

Marsh Posté le 10-02-2009 à 15:48:30    

yellu a écrit :

Bonjour,

 

$value = array_key_exists('name', $_POST) ? $post['name'] : '';
$value = intval($value); # Pour un entier par exemple


intval ça convertit, ça valide pas, et...

 
Code :
  1. <?php
  2.    echo intval("gloubi" ) === 0;
  3. ?>


=> true :/

Message cité 1 fois
Message édité par masklinn le 10-02-2009 à 15:48:59

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-02-2009 à 15:49:29    

masklinn a écrit :


intval ça convertit, ça valide pas, et...
 

Code :
  1. <?php
  2.    echo intval("gloubi" ) === 0;
  3. ?>


=> true :/


ce qui est tout à fait logique...

Reply

Marsh Posté le 10-02-2009 à 15:52:21    


 
 
wéé peut être moi j'avais pas compris  :pt1cable:  
Je vais voir comment faire Je suis sur que en cherchant un peu ds ma tête je vais trouvé la solution  :bounce:
 
Merci je te tien au courant

Reply

Marsh Posté le 10-02-2009 à 15:54:52    


Quelle partie est logique? Le fait qu'intval fasse une conversion, le fait que ça convertisse un truc qui n'est pas un entier en "0" ou le fait que ça a été suggéré comme solution à une personne demandant un moyen de valider une entrée numérique?

Message cité 1 fois
Message édité par masklinn le 10-02-2009 à 15:55:17

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-02-2009 à 15:57:14    

masklinn a écrit :


Quelle partie est logique? Le fait qu'intval fasse une conversion, le fait que ça convertisse un truc qui n'est pas un entier en "0" ou le fait que ça a été suggéré comme solution à une personne demandant un moyen de valider une entrée numérique?


bah le fait que le type devienne "int" et que la valeur soit 0 (qui correspond à une valeur nulle).

Reply

Marsh Posté le 10-02-2009 à 16:10:58    


 [:prozac]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-02-2009 à 16:18:44    


[:spamafote]
quelle valeur devrait être utilisée à ton avis ?

Reply

Marsh Posté le 10-02-2009 à 16:21:58    


Sûrement pas 0 en tout cas, vu que si "0" fait partie des entrées possibles t'as plus d'erreur visible [:dawak]

 

Je verrais bien NULL ou FALSE (si tant est que NULL !== 0 et FALSE !== 0, ce qui est probable mais pas certain) ou une exception (comme en Python) [:spamafote]

 

Ou encore NaN, si PHP a ça (et PHP l'a apparement, puisqu'il a également is_nan)

Message cité 1 fois
Message édité par masklinn le 10-02-2009 à 16:25:56

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-02-2009 à 16:25:25    

je suis d'accord avec toi, mais le fait est que NULL, FALSE et 0 sont de types différents et donc pour moi 0 est la valeur la plus appropriée.

Reply

Marsh Posté le 10-02-2009 à 16:27:10    


1. NULL n'est d'aucun type (ou de tous les types, comme tu préfères), ce truc existe justement pour indiquer une absence de valeur, objection invalide
2. C'est pas comme si des types de retour consistants était une considération fréquente en PHP, objection doublement invalide donc.

 

[:prozac]


Message édité par masklinn le 10-02-2009 à 16:27:45

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-02-2009 à 16:34:08    

de toute façon, quand tu dis :

masklinn a écrit :


Sûrement pas 0 en tout cas, vu que si "0" fait partie des entrées possibles t'as plus d'erreur visible [:dawak]


bah non, tu peux contourner çà facilement... Un exemple de ce que je fais dans mon projet actuel :

Code :
  1. $id = (ctype_digit($_GET['id'])) ? (int) $_GET['id'] : NOT_CORRECT_PAGE;


Si j'appelle page.php?id=0 alors je tombe sur la page "Page introuvable" (partie du code qui n'est pas visible) mais si j'appelle page.php?id=0quelquechose alors je tombe sur la page "Adresse incorrecte".
 
Autre chose, en PHP "NULL" est considéré comme un type [:petrus75]
Tu trouves çà illogique si tu veux mais c'est comme çà

Reply

Marsh Posté le 10-02-2009 à 19:02:32    


 [:cerveau vomi]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-02-2009 à 19:07:41    

:??:

Reply

Marsh Posté le 10-02-2009 à 19:53:12    

c'est clair,

 

cerveau vomi [:spamafoote]

 

:d


Message édité par tomsoft le 10-02-2009 à 19:53:20
Reply

Marsh Posté le 11-02-2009 à 09:05:55    

ouais, m'enfin çà marche, c'est clair, et je détecte tout de suite le problème. C'est comme çà que j'ai pu débugger mon URL rewriting et comprendre pourquoi çà merdait :o
donc plus d'argumentation pleaze :o

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed