Page 1 sur 1

is_string ??

Posté : 18 nov. 2005, 14:08
par vador371
Bonjour,

Je souhaite tester si une variable que je passe par un formulaire est de type "string".

Voici le code :

Code : Tout sélectionner

<?php if(!isset ($_POST["truc"])) { print "Saisir qq chose et cliquer sur Envoyer. Merci"; } else { $truc = $_POST["truc"]; if(is_string($truc)) { print "c'est Ok"; } else { print "Ce n'est pas unes string"; } } ?> <html> <body> <form name="test" method="post" action="test.php"> <p> <input name="truc" type="text" id="test" size="25" maxlength="50"> <input type="submit" name="Submit" value="Envoyer"> </p> </form> </body> </html>
Le pb c'est que meme lorsque je saisie des chiffres dans le champ 'truc', il me renvoit "C'est OK'. Je ne comprends pas pourquoi.
Merci de votre aide.

@+

Posté : 18 nov. 2005, 14:15
par jeff
salut
c'est normal tu envois des données de type text

Code : Tout sélectionner

<input name="truc" type="text" id="test" size="25" maxlength="50">
si tu fait
echo var_dump($_post);
tu vera que tu aura que des strings

Posté : 18 nov. 2005, 14:21
par rami
Tu peux utiliser la fonction ctype_alplha()
qui retourne true si tous les caractères de la chaînes testée sont des lettres.

Les autres fonctions ctype:
http://fr.php.net/ctype

Posté : 18 nov. 2005, 14:28
par Invité
salut
c'est normal tu envois des données de type text

Code : Tout sélectionner

<input name="truc" type="text" id="test" size="25" maxlength="50">
si tu fait
echo var_dump($_post);
tu vera que tu aura que des strings
Je n'ai pas bien compri, tu peux être plus explicite ??
merci

Posté : 18 nov. 2005, 14:28
par Invité
Tu peux utiliser la fonction ctype_alplha()
qui retourne true si tous les caractères de la chaînes testée sont des lettres.

Les autres fonctions ctype:
http://fr.php.net/ctype
ça fonctionne tres bien merci.
je ne connaissais pas ces fonctions, interessant !

Posté : 18 nov. 2005, 14:44
par rami
Je n'ai pas bien compri, tu peux être plus explicite ??
merci
jeff voulait te dire que toutes les valeurs contenues dans $_GET et $_POST (ou tout autre variable super globlale) étaient de type string.

A toi de faire un trans-typage dessus si tu veux t'assurer du type de la variable.
http://fr.php.net/manual/fr/language.ty ... ggling.php