OVH Cloud OVH Cloud

T_LNUMBER

5 réponses
Avatar
Poppi
Hello tous,

J'ai un problème étrange... Je fais un truc que j'ai déja fait des milliers
de fois et là bizarrement, je n'y parviens pas.
J'ai fait un formulaire simple pour récupérer des données et je veux les
passer en post vars sur une seconde page (je ne veux pas faire de sessions)
et lors de l'arrivée sur ma seconde page, j'ai le message d'erreur suivant :
Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$'
in /home/remplaou/www/etude/page2.php on line 4

Et voici les premiers ligne de cette page :
<?
include("include/functions.php");

$1quand=$HTTP_POST_VARS['1quand'];
$1combien=$HTTP_POST_VARS['1combien'];
$1mobil1=$HTTP_POST_VARS['1mobil1'];
$1mobil2=$HTTP_POST_VARS['1mobil2'];
$1mobil3=$HTTP_POST_VARS['1mobil3'];
$1mobil4=$HTTP_POST_VARS['1mobil4'];
$1quand=$HTTP_POST_VARS['1quand'];
$1deja=$HTTP_POST_VARS['1deja'];
$1dejaoui1=$HTTP_POST_VARS['1dejaoui1'];
$1dejaoui2=$HTTP_POST_VARS['1dejaoui2'];
$1dejaoui3=$HTTP_POST_VARS['1dejaoui3'];
$1dejaoui4=$HTTP_POST_VARS['1dejaoui4'];
$1retro=$HTTP_POST_VARS['1retro'];
?>

La ligne 4 correspond à un simple post_vars... Je ne comprends pas ou bien
j'ai fait une étourderie...

Merci de votre aide.

Bonne journée à tous.

5 réponses

Avatar
Olivier Miakinen

$1quand=$HTTP_POST_VARS['1quand'];


On en a parlé il y a même pas une semaine : les noms de variables ne
peuvent pas commencer par un chiffre.
<http://www.php.net/manual/fr/language.variables.php>

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.

Avatar
Poppi
Je te remercie beaucoup de ton aide, sache que je ne reposerai plus la
question.
Malheueursement je ne suis pas pendu 24H/24 au groupe ...
Avatar
bibi.skuk
Un petit truc aqui n'a strictement rien à voir...

<?php
extract( $HTTP_POST_VARS ) ;
?>

donne la même chose que ton script...

Sinon, tu peux generer des tableaux avec tes variables...

dans le formulaire : value="mobil[1]"
value="mobil[2]"
etc...

te donne ensuite un array mobil...

juste 2-3 suggestions au passage.
Avatar
Olivier Miakinen

Un petit truc qui n'a strictement rien à voir...

<?php
extract( $HTTP_POST_VARS ) ;
?>

donne la même chose que ton script...


Ah mais pas du tout ! Ça ne donnera la même chose que si les paramètres
de la requête correspondent exactement à ceux qu'il avait extrait
manuellement, or il ne faut *pas*, il ne faut *jamais* faire confiance
à ce qui vient de l'extérieur.

Note que ta proposition est encore pire que le trou de sécurité habituel
avec register_globals à Off, dans le cas où la fonction extract() est
appelée alors qu'au moins une variable a déjà été initialisée : avec
register_globals à Off, il n'y a pas de danger si on initialise toutes
les variables, alors qu'avec extract, si.

En revanche, on aurait pu lui conseiller d'utiliser $_POST, voire
$_REQUEST, à la place de $HTTP_POST_VARS -- du moins pour une version
de PHP non préhistorique.

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.

Avatar
Thibaut Allender
Je te remercie beaucoup de ton aide, sache que je ne reposerai plus la
question.
Malheueursement je ne suis pas pendu 24H/24 au groupe ...


C'est ecrit dans la doc aussi :
http://www.php.net/manual/fr/language.variables.php

"Un nom de variable valide doit commencer par une lettre ou un souligné
(_), suivi de lettres, chiffres ou soulignés"

--
thibaut allender | freelance | http://capsule.org