2010-11-24 4 views

Répondre

0
<?php  
$array = array('foo'=>'bar', 'baz'=>'fubar', 'bar' => 'fuzz'); 

    $json = json_encode($array); 

    $encoded_json= urlencode($json); 
    /* now pass this variable to your URL redirect) 

    /* on your receiving page:*/ 
    $decoded_json= urldecode($encoded_json); 

    /* convert JSON string to an array and output it */ 
    print_r(json_decode($decoded_json, true)); 
?> 

ce code:

prend un tableau, le convertit en une chaîne codée JSON.

nous encodons ensuite la chaîne $json en utilisant url_encode. Vous pouvez passer cela via l'URL.

Décodez cette URL, puis décodez l'objet JSON en tant que tableau associatif.

peut-être la peine d'essayer

+0

D'accord: Pour un tableau JSON et urlencoding est certainement le meilleur choix. – Knossos

+0

ok .. je vais essayer .. merci .. y at-il une limite de longueur de http url? – ariawan

2

Oui, vous pouvez utiliser redirection ('othercontroller/function /'. Url_encode ($ data), 'location');

Cela devrait fonctionner. Edit: vous pouvez également mettre le code dans une aide.

+0

est-ce possible si $ data est un tableau? – ariawan

+0

'urlencode' (pas de soulignement) attend une chaîne, donc aucun tableau ne fonctionnera. voir ma réponse pour une solution possible – Ross

0

Si vous voulez appeler une fonction d'un contrôleur à partir d'un autre contrôleur, vous pouvez ensuite utiliser rediriger Helper.

Par exemple:

class Logout extends CI_Controller { 

    function index() {  
     session_destroy(); 
     redirect('index.php/home/', 'refresh'); 
    } 

} 

il appellera un autre contrôleur.

Questions connexes