2010-12-28 5 views
0

ich die index.php aus meiner url entfernt habe, aber jetzt muss ich aus der URL eine Variable bekommen, die CI-Lösung ist Update der config.phpCodeigniter, erhalten Variable aus segmentbasierte URL mit querystrings

$config['uri_protocol'] = "PATH_INFO"; 
$config['enable_query_strings'] = TRUE; 

diese Arbeit perfekt wenn ich die index.php in der uRL, aber ich brauche es ohne index.php

dies mein httacess ist

RewriteEngine on 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA 

eine Lösung? , thx

+0

haben Sie versucht '$ var = $ this-> uri-> segment (3)' wo 3 ist das Segment, das Sie wollen? – Ross

+0

yep aber das Problem, dass die URL aus der Facebook-sdk, Beispiel: http: //mydomaine.com/fb/index/? Perms = user_status% 2Cpublish_stream% ... etc, wenn ich die "?" es funktioniert mit uri-> segment .... aber jetzt zeigt es 404 Bildschirm, ich denke, es ist eine schlechte Idee, eine fb APP mit CI zu erstellen :( – nirvanist

Antwort

0

hatte ich das gleiche Problem in CI, also schrieb ich diese Funktion, um die Abfrage-Strings aus dem $ _SERVER [ 'REQUEST_URI'] Variable zu erhalten und sie zu extrahieren.

function extract_querystrings() { 
    $uri = $_SERVER['REQUEST_URI']; 
    $uri = explode('?',$uri); 
    if (count($uri)>1) { 
     foreach($uri AS $ur) { 
      $ur = explode('&',$ur); 
      foreach($ur AS $u) { 
       $u = explode('=',$u); 
       if ($u[0]=='/') continue; 
       $this->query_strings[$u[0]] = $this->input->xss_clean($u[1]); 
      } 
     } 
    } 
    //echo '<pre>',print_r($this->query_strings,true),'</pre>'; 
} 

Diese Funktion wird bei __construct() meines benutzerdefinierten Hauptcontrollers aufgerufen.

Sie können die folgende Zeile aus

$this->query_strings[$u[0]] = $this->input->xss_clean($u[1]); 

Um

$_GET[$u[0]] = $this->input->xss_clean($u[1]); 

verändern und sehen, ob es für Sie arbeitet.

0

Haben Sie sich Elliot Haughins Facebook-Bibliothek für CodeIgniter angesehen? Es könnte einige Einblicke in die Verwendung von CI mit Facebook geben.

http://www.haughin.com/code/facebook/