Puis-je attribuer une valeur à une variable $ _POST en PHP?
Par exemple, je suis en utilisant un $_POST variable à insérer des données dans une base de données. Juste avant cette requête, j'ai un peu d'essais, et si elles sont vraies, je veux régler ça (caché) $_POST valeur.
Ex.
if($baby_dragon_eats_children){
$_POST['hidden_value'] = "grapes";
}
$_POST['hidden_value'] assigner une nouvelle valeur, puis être transmis à une autre fonction que $_POST et être en mesure d'accéder à la nouvelle $_POST['hidden_value']?
Grâce
$_POST['consolidate_answers']
- SI vous affectez une valeur à $_POST vous devriez document est très clairement qu'il n'est pas commun, ni considéré comme "meilleure pratique".
- SI vous avez des extensions de PHP comme Patch Suhosin... il peut bloquer de telles actions..
- Poignée vos propres tableaux, ne dépend pas de $_POST!
- SI besoin d'être, faire une copie de $_POST et de travailler avec cela.
source d'informationauteur KRB
Vous devez vous connecter pour publier un commentaire.
Vous pouvez affecter des valeurs à
$_POST
mais si vous le faites, vous devriez document très clairement avec des commentaires à la fois au moment de l'affectation et le point d'accès. Manuellement en manipulant$_POST
peut briser les futurs programmeurs (y compris la vôtre) les attentes de ce qui est dans la superglobale et d'où il vient.Il y a peut être d'autres solutions, comme:
Il peut en PHP normal.
Toutefois, les extensions, comme le Patch Suhosin peut le bloquer.
Aussi, il se sent mal en général.
$_POST
est destiné à contenir les brutes, les données POST - rien d'autre. Il ne doit pas être modifié de l'OMI.Une meilleure façon d'aller serait de récupérer toutes les données que vous prévoyez d'insérer dans la base de données dans un tableau, et les manipulations de ce tableau à la place.
Vous le pouvez, cela va fonctionner, mais ne le font pas.
Créer une copie de
$_POST
effectuer vos tests sur que et de modifier à la place. Par exemple.Si vous manipuler les variables créées automatiquement par PHP, il sera probablement revenir vous hanter plus tard, lorsque la variable ne contient pas les données que vous attendez.
Trouver une alternative!
Le $_POST variable a une tâche distincte. Ne pas abuser de son mondialisme.
Je dirais: ne pas abuser de la globalisation de toute façon, même si cela implique de changer la conception que vous avez (ou avez à l'esprit).
Mais si vous choisissez de ne pas, puis de considérer la création d'un mondial dédié registre juste pour vos besoins.
Ne pas manipuler la langue built-ins.