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.
A voir également:

4 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

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

ça conviendrait ?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
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
Hibiki
 
Excellent, merci beaucoup !!
0
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
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
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