2010-07-11 3 views
0

J'espère que vous pourrez m'aider. J'en ai marre d'essayer des choses sans aucune solution et php ça me rend fou. Je cherche de l'aide car j'ai un document html où j'utilise ajax grâce à jquery api. Dans ce fichier, en fonction js je:

$.ajax({ type: "GET", url: "c.php", data: "dia="+matriz[0]+"&mes="+matriz[1]+"&ano="+matriz[2]+"&diaa="+matriz2[0]+"&mess="+matriz2[1]+"&anoo="+matriz2[2]+"&modo=0&semana=0", success: Mundo, error: function(e){ alert('Error: ' + e); } });

Ce code me permet d'envoyer les informations que je veux le fichier c.php où j'ai:

include('funciones.php'); include('config.php');

$mierda = array(); 
$mierda[0] = $_GET['modo']; 
$mierda[1] = $_GET['dia']; 
$mierda[2] = $_GET['mes']; 
$mierda[3] = $_GET['ano']; 
$mierda[4] = $_GET['diaa']; 
$mierda[5] = $_GET['mess']; 
$mierda[6] = $_GET['anoo']; 
$mierda[7] = $_GET['semana']; 

Comme vous le voyez, c'est très simple. Mon problème fou est qu'avec firebug j'ai vu que les données sont bien envoyées mais pour une raison quelconque je ne peux pas l'utiliser. J'ai essayé avec $ _Get, $ _post et $ _request et est toujours le même problème. Mais cela peut être étranger ... Si je mets:

echo json_encode($mierda); 

alors miraculeusement, le php renvoie les données que j'ai passé si en conclusion, j'ai:

  1. je peux envoyer les données à la fichier php bien
  2. je peux imprimer toutes les données que je vous ai envoyé bien que l'accès yo $ _GET, $ _POST, $ _REQUEST
  3. Je ne peux pas utiliser une valeur séparemment comme $ _GET [ « LMI »]

Qu'est-ce qui ne va pas ici?

PS. Les fichiers include php sont des fonctions qui accèdent à ma base de données, donc il n'y a pas d'interaction avec eux.

+0

Utilisez POST au lieu de GET, sauf si vous voulez que IE mette en cache les résultats. – dmp

Répondre

5

Vos données ne sont pas codées URL. Essayez de faire quelque chose comme ceci,

$.ajax({ type: "GET", 
     url: "c.php", 
     data: {"dia":matriz[0], "mes":matriz[1] ....},  
     success: Mundo, 
     error: function(e){ alert('Error: ' + e); } 
}); 
0

Vous avez un problème fou. Selon votre question:

$mierda = array(); 
$mierda[0] = $_GET['dia']; //... and so on 
echo json_encode($mierda); 

fonctionne: tandis que

echo $_GET['dia']; 

ne marche pas. Essayez:

$mierda = array(); 
$mierda[0] = $_GET['dia']; 
echo $mierda[0]; 

echo $_GET['dia']; 

Il vous montrera si le problème est dans le PHP, ou le javascript.

-1

J'ai codé les données comme dit ZZColer et l'erreur est toujours.

Starx, ce n'est pas une question de retour.

digitalFresh, en fait l'erreur est de PHP parce que je peux copier $ _POST, $ _GET à un nouveau tableau et imprimer toutes ces informations, mais si je mets après toutes choses comme:

Si (mierda [0 ] == 0) {... L'élément est vide! et si j'essaie directement $ _GET ['dia'], il est dit que cet élément n'existe pas dans le tableau. J'ai aussi essayé $ _GET [dia] ou $ _GET [0] sans solution.

PD:

Je ne sais pas comment mais le problème mis en solution!

Merci à tous!

Questions connexes