Tableau $_GET envoyé par des checkbox

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableau $_GET envoyé par des checkbox

par agité » 10 nov. 2007, 22:36

:lol:
Oui peut être... je n'ai jamais utilsé cette "fonction" de concaténation de pdf donc je fais des suppositions pour voir si on avance or si tu ne réponds pas aux questions c'est sur qu'on avancera pas.

En post pour éviter que n'importe qui puisse "facilement" ajouter n'importe quoi à la suite de ton url.

Je n'ai jamais parlé de lien :?
J'utilise une fonction que empeche de changer l'url.

par Truc » 09 nov. 2007, 20:17

:lol:
Oui peut être... je n'ai jamais utilsé cette "fonction" de concaténation de pdf donc je fais des suppositions pour voir si on avance or si tu ne réponds pas aux questions c'est sur qu'on avancera pas.

En post pour éviter que n'importe qui puisse "facilement" ajouter n'importe quoi à la suite de ton url.

Je n'ai jamais parlé de lien :?

par agité » 09 nov. 2007, 18:50

Pourquoi pas un POST ?

Que retourne :
print_r($_GET);
ça "../_medias/doc/programme/" je le mettrai bien dans la classe (dans setFiles)

Pourquoi passer un tableau en paramètre
$pdf->setFiles(array($Liste)); 
je pense que ce qui est attendu est un string (donc juste $List) pour le mettre ensuite dans le tableau "files" de la classe.
en utilisant :
foreach($_GET['list'] as $Liste)
{
$Liste = "../_medias/doc/programme/".$Liste;
$pdf->setFiles(array($Liste));
}
Il ne me renvois toujours que le premier element du tableau

par agité » 09 nov. 2007, 18:43

Pourquoi pas un POST ?

Que retourne :
print_r($_GET);
ça "../_medias/doc/programme/" je le mettrai bien dans la classe (dans setFiles)

Pourquoi passer un tableau en paramètre
$pdf->setFiles(array($Liste)); 
je pense que ce qui est attendu est un string (donc juste $List) pour le mettre ensuite dans le tableau "files" de la classe.
Quel difference a passer les parametres en POST plutôt qu'en GET ?

par GET je peux voir exactement les données envoyées sans print_r

Pour le lien je ne vois pas ou le rajouter dans la classe puisque $files est un tableau.

par Truc » 09 nov. 2007, 18:25

Pourquoi pas un POST ?

Que retourne :
print_r($_GET);
ça "../_medias/doc/programme/" je le mettrai bien dans la classe (dans setFiles)

Pourquoi passer un tableau en paramètre
$pdf->setFiles(array($Liste)); 
je pense que ce qui est attendu est un string (donc juste $List) pour le mettre ensuite dans le tableau "files" de la classe.

par agité » 09 nov. 2007, 18:21

avec cette méthode :
foreach($_GET['list'] as $Liste)
{
$Liste = "../_medias/doc/programme/".$Liste;
$pdf->setFiles(array($Liste));
}
Il ne me retourne que le premier element du tableau, enfin il concaténe seulement le premier fichier...

par agité » 09 nov. 2007, 17:43

ou par
$tab = array("../_medias/doc/programme/".$_REQUEST['list']);

foreach($tab as $Element)
{ 
$pdf->setFiles($Element);
}

par agité » 09 nov. 2007, 17:40

Je comprend pas vraiment ce que tu demandes, mais si toutes tes cases ont pour nom list[], alors $_GET['list'] sera un tableau contenant les valeurs des cases qui ont été cochées.

Du coup pour récupérer les valeurs une à une suffit d'une simple boucle foreach :
// pour chaque élément du tableau, on le stocke dans $element et on exécute le code 
foreach ($_GET['list'] as $element) { 
  echo $element; // affichage de l'élément ou appel de fonction ou ce que tu voudras :)
  ...
}
Merci pour ta reponse :)

En fait j'utilise une fonction d'une bibliotheque PHP pour la concaténation de PDF (oui j'ai aussi poster sur PHP5 pour la concaténation et maintenant ca marche !). Le probleme est que la fonction ressemble a ca :
class concat_pdf extends FPDI {

    var $files = array();

    function setFiles($files) {
        $this->files = $files;
    }

    function concat() {
        foreach($this->files AS $file) {
            $pagecount = $this->setSourceFile($file);
            for ($i = 1; $i <= $pagecount; $i++) {
                 $tplidx = $this->ImportPage($i);
                 $s = $this->getTemplatesize($tplidx);
                 $this->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
                 $this->useTemplate($tplidx);
            }
        }
    }
}
Maintenant il faut rentrer les differents fichiers la dedans :

$pdf =& new concat_pdf();

$tab = array("../_medias/doc/programme/".$_REQUEST['list']);


foreach($_GET['list'] as $Element)
{ 
$pdf->setFiles($Element);
}
$pdf->concat();

$pdf->Output("PdfProgramme_".$_SESSION['login']."_".$_GET['Id'].".pdf", "D");
Voila seulement le foreach que tu m'indique ne marche pas et je comprends pas comment faire car apparement il recreer un tableau dans la fonction.

Et comme le $_GET['list'] est déjà un tableau :/

une idée ?

par Ryle » 09 nov. 2007, 17:32

Je comprend pas vraiment ce que tu demandes, mais si toutes tes cases ont pour nom list[], alors $_GET['list'] sera un tableau contenant les valeurs des cases qui ont été cochées.

Du coup pour récupérer les valeurs une à une suffit d'une simple boucle foreach :
// pour chaque élément du tableau, on le stocke dans $element et on exécute le code 
foreach ($_GET['list'] as $element) { 
  echo $element; // affichage de l'élément ou appel de fonction ou ce que tu voudras :)
  ...
}

Tableau $_GET envoyé par des checkbox

par agité » 09 nov. 2007, 17:10

Bonjour,

Voila j'ai un script qui envoie les données de mes checkbox sous la forme de list[] par methode $_GET

Maintenant je dois faire une fonction qui me permet d'avoir la liste de tout les list[] pour les faire passer dans une fonction.

en fait la fonction est du type fonction_truc(array()); avec dans l'array la liste de tout les elements de mon list[]

j'ai tenter de faire un fonction_truc(array($_REQUEST['list'])); mais il ne fonctionne pas plus.

j'ai tenter de faire des boucles foreach avec array push style :

$tab = array();
for($i = 0; $i < $Count_list; $i++){ 
array_push($tab,"../**/".$_GET['list'][$i]);
}
Rien de plus je n'arrive pas a recuperer la liste des elements même en faisant un

fonction_truc($_GET['list']) ou fonction_truc(array($_GET['list']))