Passage d'un tableau dans l'url

Bonjour,
Mon problème c'est que je veux passer en parametre d'URL un tableau mais sans avoir la taille de ce tableau.
Quelqu'un peut m'aider?
merci d'avance.
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Contributeur
    salut,

    en générant un paramètre contenant un index, non ?
    index.php?array1=valeur1&array2=valeur2&array3=valeur3&etc

    ça conviendrait ?
    0
    1. Salut,

      ce que tu peux faire:

      $chaine=implode("|",$ton_array);
      
      url= ..........?chaine=<?php echo $chaine; ?>
      
      //et tu récupères par:
      
      $array_recu=explode("|",$_GET['chaine']);
      


      @lain
      0
      1. Contributeur
        salut,

        excellent le pipe !

        tu es à peut près sûr de ne pas le retrouver dans les variables et il ne dois pas poser de problèmes ni au serveur ni aux navigateurs.

        j'avais voulu le faire une fois avec un point virgule mais ce n'est pas une bonne idée du tout !

        merci à toi, je vais justement en avoir besoin !
        0
      2. Excellent, merci beaucoup !!
        0
    2. je vais expliquer mieux mon problème, j'ai un tableau qui récupère les adresses ip de mon base de données, je veux qu'au minimum sélectionner 2 case à cocher, donc je veux que quelque soit le nombre des cases à cocher sélectionnées, quand je clique sur le bouton afficher je recupere dans une autre page les adresses ip sélectionnées, et voila mon code:

      <?php

      mysql_connect("localhost","root","") or die("connexion impossible avec le serveur");
      mysql_select_db("tunet") or die("impossible de trouver la base de données");
      $resultat=mysql_query("select adresseip from serveur") or die("erreur dans la requète");

      $nblignes=mysql_num_rows($resultat);
      $nbchamps=mysql_num_fields($resultat);

      echo "<table>";
      echo "<tr>";

      echo "<th width=3%></th>";
      echo "<th width=25% bgcolor='F7EFCE'><span class='Style2'>Adresse IP serveur</caption></th>";
      echo "</tr>";

      /* affichage des enregistrements du résultat */
      for($i=0; $i < $nblignes; $i++) {
      $ligne = mysql_fetch_row($resultat);
      echo "<tr>";

      echo "<td align=center><input name='serveur[]' type='checkbox'></td>";

      for($j=0; $j < $nbchamps-1; $j++) {
      echo "<td align=center>$ligne[$j]</td>";
      }

      echo "</tr>";
      }
      echo "</table>";
      echo "<center><a href='http://127.0.0.1/pf/afficher.php? ' class='bouton'>Afficher</a></center>";

      ?>

      merci d'avance pour votre aide.
      0
      1. tu mets des input et tu n'as pas de balise <form ?

        pourquoi ne mets tu pas cela dans un formulaire

        <form method="post" action="afficher.php>
        <input .... case checkbox

        <input type="submit" name="afficher" value="Afficher">

        </form>

        avec un bouton à la place du lien

        et dans ton script afficher.php

        tu récupéres par:

        $array_cases=$_POST['serveur'];
        0
    3. Contributeur
      salut,

      toujours sur le même sujet même sans forcement être utile, ici.

      un tableau peut être passé directement dans l'URL en utilisant la syntaxe PHP :
      page.php?arr[0]=alpha&arr[1]=bravo&arr[2]=charly&arr[3]=delta

      une autre possibilité aurait pu être de sérialiser le tableau puis de la passer dans l'URL mais c'est une faille de sécurité qui pourrait être utilisée pour saturer le serveur.

      une rapide démo.
      0