À Joomla! 2.5.x Je pourrais simplement courir JRequest::get('post');
mais vu que JRequest
c'est obsolète dans Joomla! 3.x je devrais utiliser JInput
.
En ce moment, c'est le code que j'utilise pour obtenir l'intégralité $_POST
:
$app = JFactory::getApplication();
$postData = $app->input->getArray(array_flip(array_keys($_POST)));
Mais cela semble plutôt lourd et je rencontre des problèmes s'il est utilisé conjointement avec $app->input->set();
je pense qu'il y aurait une meilleure façon?
Lors de la recherche de cela avant, j'ai trouvé des gens disant que vous pouvez simplement exécuter
$app = JFactory::getApplication();
$postData = $app->input->post;
Mais quand j'ai essayé cela, j'ai simplement obtenu une instance de l' JInput
objet.
Réponses:
Est le chemin à parcourir, vous obtiendrez un objet JInput et pourrez l'utiliser comme JRequest
Le filtre peut être 'int', 'cmd' ou bien d'autres - la liste complète peut être trouvée dans cette fonction: https://github.com/joomla/joomla-cms/blob/a3df15f1ddad6d9051d53f939b6afd2f5fca60b7/libraries/joomla/filter/input .php # L138
Si vous souhaitez uniquement le tableau, vous pouvez le faire
Mais vous devez éviter ce style d'accès aux données utilisateur sans filtrage.
la source
$_POST
sans vraiment connaître le nom des variables que j'ai besoin d'obtenir, c'est pourquoi l'utilisation de cetJInput
objet n'est pas utile dans de nombreux cas. C'est quand même une bonne réponse.$app->input->post->getArray();
n'est valable que sur Joomla 3.2.0 et versions ultérieures. Et dans toute version antérieure (y compris 2.5), vous devez utiliser$app->input->getArray($_POST)
Il semble qu'une autre façon d'accomplir cela soit de simplement passer un tableau vide:
Cela récupérera tout dans la
JInput
variable de données comme si vous accédiez au$_REQUEST
super.Cela ne fonctionne pas dans Joomla! Version 2.5.x de
JInput
bien.la source
J'espère que cela fonctionnera,
JRequest :: get ('post');
Cela vous aidera à récupérer les données de l'équivalent $ _POST en PHP.
la source