Passage d'un tableau dans l'url

Fermé
etudiant - 12 avril 2008 à 13:23
 Hibiki - 20 avril 2015 à 09:34
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
12 avril 2008 à 13:42
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
12 avril 2008 à 13:49
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
12 avril 2008 à 13:58
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
Excellent, merci beaucoup !!
0
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
12 avril 2008 à 20:45
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
14 avril 2008 à 18:17
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