SOS : Problème récupération de variable tableau input hidden

Petit nouveau ! | 3 Messages

10 mars 2012, 19:43

Bonjour,

J'ai récemment migré mon site de free vers 1and1 et le php est visiblement plus rigoureux pour le passage de variables d'une page php à une autre, je suis obligé de rajouter des $REQUEST pour que ça focntionne mais je me heurte à un problème pour récupérer un input de type hidden qui reprend en fait différents id sous forme de variable tableau ( echo "<input type=\"hidden\" name=\"idrow[]\" value=\"$row[id]\">";). Cet input est créé par boucle mais je n'arrive pas à trouver le code pour récupérer correctement les données (qui se récupéraient automatiquement chez free). J'ai tenté $idrow[]=$_REQUEST['idrow[]'];

$i=0;
while ($i < 10)
{
echo $idrow[$i];
$i=$i+1;
}

pour déjà voir ce qui se passait mais ça ne marche pas...

Je ne trouve vraiment pas et j'en ai marre, aidez moi svp...

MERCI

ViPHP
AB
ViPHP | 5818 Messages

10 mars 2012, 19:51

Pour visualiser tu peux faire :
echo '<pre>';
print_r($_REQUEST);
echo  '</pre>';

Petit nouveau ! | 3 Messages

10 mars 2012, 19:53

ca donne ça :

Array
(
[menu] => 6a3
[idrow] => Array
(
[0] => 58
[1] => 117
[2] => 71
[3] => 41
[4] => 54
[5] => 74
[6] => 61
[7] => 79
[8] => 87
[9] => 50
)

[Nom_visiteur] => bcv
[Email_visiteur] =>
[id_categ] => 1
)

comment faire pour récupérer les valeurs de idrow, j'en ai besoin pour l'utilisation ds mon code mais je n'y arrive pas

ViPHP
xTG
ViPHP | 7331 Messages

10 mars 2012, 20:26

$idrow=$_REQUEST['idrow'];
;)

Petit nouveau ! | 3 Messages

10 mars 2012, 20:30

put..., tout con , j'avais tenté mais avec les crochets...

Merci

Au fait, tu sais pkoi il faut spécifier REQUEST alors que sur free, y avait pas besoin. Une option à configurer sur le serveur ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 mars 2012, 21:36

C'est le paramètre register_globals de php qui a changé pour éviter les risques d'erreur et des problèmes de sécurité.

Parce que quand tu faisais $toto, on ne savait pas si c'était une variable locale, une variable passée via l'url (get), un formulaire (post), la session ou un cookie. Le fait de préciser que c'est la variable $_GET['toto'] fait qu'il n'y a aucun doute sur son origine :)

Tu peux donc modifier la configuration du serveur, mais il est très fortement conseillé de conserver ce paramétrage et de s'habituer à préciser d'où viennent les variables. C'est plus facile a lire et à maintenir ... d'autant qu'en php 6, en théorie, tu ne pourras plus modifier cette configuration :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 49 Messages

11 mars 2012, 17:04

Salut,
Au passage, utiliser $_REQUEST ce n'est pas forcément la meilleurs manière de faire si tu sais exactement d'où provient tes données.
En effet, elle contient les variables en get, post et cookies. Il vaut mieux utiliser $_GET, $_POST ou $_COOKIE