Page 1 sur 1

Division dans un $_POST

Posté : 14 avr. 2008, 11:58
par vibou_
Bonjour tout le monde!

Voila je rencontre un petit soucis si vous pouviez m'aider ca serai super.
J'explique:
J'ai un formulaire classique avec un champs et un bouton submit j'envoi mes données en POST

Lorsque j'envoi 15/3+(2+1)*2 par exemple j'aimerais à la reception du post faire le calcul. Y a t il une fonction qui permettrais de le faire ou faut il en faire une a la mimine? :D
Car en fait une fois envoyé lorsque le champs se raffraichi le calcul est fait.

Enfin voila j'espere avoir été un peu clair si vous avez des questions n'hesitez pas.

Re: Division dans un $_POST

Posté : 14 avr. 2008, 12:40
par Calimero
Bonjour,

Il y a la fonction eval() qui fait ça, mais utilisée comme tu veux le faire, elle présente de TRES GROS risques de sécurité. Il faudra très bien contrôler les saisies que tu transmets en post...

Posté : 14 avr. 2008, 12:47
par vibou_
Merci je vais me renseigner la dessus. A la limite avec un test eregi ca peux aller non ?

Posté : 14 avr. 2008, 13:33
par Sékiltoyai
Le mieux est tout de même d'implémenter un parseur d'expressions mathématiques, mais bon, c'est un peu galère :-/

Posté : 14 avr. 2008, 14:26
par vibou_
C'est clair c'est la galère surtout qu'il n y a pas que les * - / + il y a aussi les () a prendre en compte les priorité etc...

Du coup j ai fait ca en eregi:
if($_POST['maVariable'])
{
	if(eregi("^[0-9\(\)]+[/*+-\(\)0-9]+[0-9\(\)]$",$_POST['maVariable']))
	{
		eval("\$_POST['maVariable'] = ".$_POST['maVariable'].";");
	}
}
ca marche impec et niveau securité je devrais pas trop avoir de soucis...

Merci pour vos reponse!

Posté : 14 avr. 2008, 14:42
par Truc
Modération :
vibou_, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Posté : 14 avr. 2008, 15:02
par vibou_
Ah désolé c'est vrai j ai pas fait attention.

Ok merci pour l'info j'y penserais la prochaine fois! ;)