Envoie d'un tableau avec la methode GET

soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012 - 22 avril 2012 à 22:54
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012 - 23 avril 2012 à 21:12
Bonjour,
j'essaie d'envoyer un tableau dans un url avec la methode GET,
voila le code:
function Array2Get(tbl,nom) {
//tbl est une variable tableau
//nom est le nom du tableau (la même chose que tbl mais entre guillemet)
var r='?';
for (var i in tbl)
r+=nom+'['+i+']='+tbl[i]+'&';
return r;
}
var  tab= Array2Get(reponses,'rep');
$(document).ready(function(){   // le document est chargé
$("#test").click(function(){   // on selectionne tous les liens et on définit une action quand on clique dessus
page='test.php'+tab; // on recuperer l' adresse du lien
$.ajax({ // ajax
url: page, // url de la page à charger
cache: false, // pas de mise en cache
success:function(html){ // si la requête est un succès
alert("OK");     // on execute la fonction afficher(donnees)
},
error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete
}
});
return false; // on desactive le lien
});
})

at qu'on jessaie la reccuperation du tableau envoyé dans le cote serveur,la page test.php,le test
if(isset($_GET['rep'])
{
  //insertion dans la base de données
}

retourne toujours false,
si quelqu'un peut m'aider,je suis vraiment blocké la dessus.
merci.

2 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
23 avril 2012 à 09:58
Salut,

tu ne peux pas récupérer de variable s'appellant "rep" vu que tu n'en as pas. Tu as en fait plusieurs variables s'appelant "rep[0]", "rep[1]" ... De plus je suis pas sûr que les crochets soient très appréciés dans les noms de paramètres (voir avec des personnes plus qualifiées que moi).

Perso j'enverrai un seul param avec les valeurs séparées par un point-virgule, ex. :
http://www.domain.com/page.php?rep=12;23;34;45

Ensuite tu utilises la méthode split(";", $_GET["rep"]) de PHP qui te remonte une instance de array.

bon dev
0
soukaouta Messages postés 39 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 16 novembre 2012
23 avril 2012 à 21:12
bonjour,
merci bien,je me demande si la methode split retourne un tableau,cad pour reccuperer les valeurs de rep je vais proceder comme suit:

$array=split(";", $_GET["rep"]);
for($i=0;$i<?;$i++)
{
  $x==$array[$i];
  $sql="insert into test values($x)";
  $res=mysql_query($sql) or die(mysql_error());
}
0
Rejoignez-nous