6
votes

Comment obtenir un tableau de la bonne voie à Joomla (2.5 / 3.x)

<form>
<input type="checkbox" name="item[]" value="1" />
<input type="checkbox" name="item[]" value="2" />
<input type="checkbox" name="item[]" value="3" />
</form>
<?php
$app = JFactory::getApplication();
$items = $_POST['type']; // This works but is not Joomla wise...

$items = $app->input->getArray(array('type_ids')); // Tried multiple ways but can't get it to work.
?>
What should be the correct way to load all form items into an array $items?

1 commentaires

Pourquoi ne pas utiliser les cases à cocher si vous voulez le tableau?


3 Réponses :


7
votes

Si vous voulez juste que tous les articles, la voie Joomla serait: xxx pré>

où le deuxième paramètre serait votre valeur par défaut si "élément" n'est pas défini. Mais notez que cela récupère les paramètres via le nom, tout comme d'habitude. p>

la même chose à l'aide de la plate-forme Joomla 11.1 et ci-dessus serait: p>

$items = $app->input->get('item', array(), 'ARRAY');


1 commentaires

Et bien non! Le tableau sera simplement sûr de recevoir un objet de tableau PHP valide. Mais il ne nettoie pas réellement l'entrée. Vous devez le faire séparément.



4
votes

Si vous utilisez JForm pour effectuer des formulaires, vous devez extraire les données affichées de la matrice JForm.

pour les composants natifs 3.x Le code regardera à l'intérieur du contrôleur comme: xxx

$ ceci-> entrée est l'objet d'entrée, hérité de jControllerbase . > pour les composants utilisant des classes MVC héritées , le code sera le suivant: xxx

Avis de sécurité:

Array - tente de convertir l'entrée en une matrice. Comme xxx

Le tableau de données lui-même n'est pas désinfecté.


1 commentaires

LOL, ce n'est pas ce que je voulais dire (merci à), c'était l'évident [ Bit.ly/1dyyyia] , mais ce que je voulais dire portait sur la partie "de la partie natif des composants de la 3.x", il semble y avoir aucune mention de cela ..



1
votes

Pour les composants utilisant le hérité Le code suivant fonctionne (version 3.3): xxx


0 commentaires