Passage d'un tableau dans l'url

etudiant -  
 Hibiki -
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. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    salut,

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

    ça conviendrait ?
    0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      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. Hibiki
       
      Excellent, merci beaucoup !!
      0
  3. etudiant
     
    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. Alain_42 Messages postés 5413 Statut Membre 904
       
      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
  4. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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