PHP, CodeIgniter y jQuery
Activar $_GET en CodeIgniter
Uno de los inconvenientes que nos encontramos, a veces, al programar en CodeIgniter es que no podemos pasar datos, por ejemplo, con QUERY_STRINGS, que es esa información que sigue después del símbolo ? en nuestra URL. Un ejemplo de este método sería una URL tipo: http://blog.ipalaus.es/?id=3.
Para solucionar este problema deberemos hacer solo dos cosas:
- En nuestro config.php modificaremos el $config['uri_protocolo'] dejándolo similar a este:
[code lang="php"]
$config['uri_protocol'] = "PATH_INFO";
[/code] - En nuestros controladores usaremos la siguiente función para reconstruir el array $_GET:
[code lang="php"]
parse_str($_SERVER['QUERY_STRING'],$_GET);
[/code]
Con esto, debería funcionar perfectamente. Pronto, más trucos, programas y ejemplos sobre CodeIgniter.
| Imprimir artículo | Este artículo fue publicado por Isern Palaus el 30 Marzo 2008 a las 15:55, y está archivado en CodeIgniter. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |
hace 1 año
En lugar de pasar parámetros por QueryString puedes pasarlo directamente a la función de un controlador:blog/3 sería equivalente a blog/?id=3
Para recogerlo, tan sencillo como tener la función:
function blog(id = null) {
}
Y ya haces lo que quieras.
Los QueryString pueden representar una vulnerabilidad de seguridad, y con uno que te olvides de manejar, la has liado buena…
Aun así, gracias por el HowTo. Algún día tendremos que hacerlo (por fuerza) y recurriremos a este blog
hace 7 meses
estoy de acuerdo con Ivan, de hecho, es la funcion de codeigniter, proporcionar url limpias, y asi mejorar la visita a nuestros sitios mediante los buscadores, que identifican mejor a un sitio mediante estas urls limpias y no la que se propone con blog/?=3, quitandole seguridad al sistema, a mi parecer los $_GET, SE PUDEN simular como bien lo dice Ivan con los controladores, enviandoles directamente parametros: ejemploSi quisiera en la url:
calculaArea.php?l=12&a=25
en codeigniter directamente se mandaria a su controlador de la siguiente manera:
en la url:
../calculaArea/12/25
function calculaArea($l,$a)
{
…. //operaciones
}