PROBLEMAS CON LAS QUERY STRING EN PHP
5 seguidores
pregunta de examen PHP:
¿Como hacer que las variables de las query strings que paso por url esten accesibles directamente con su nombre de variable?
intento recuperar las variables enviadas a traves de la url y NO ME DEJA !!!!
Solo puedo acceder a ellas usando $HTTP_GET_VARS[nombre] pero no me gusta este sistema.
Supongo que debe ser cuestion de configuracion del interprete php ¿no?
bueno, espero respuestas. GRACIAS
meddle
pon esto al principio de tus paginas PHP: <code>foreach($HTTP_GET_VARS as $key => $val) $$key = $val; </code>
Si, eso es porque tienes los globals en off, lo cual es bueno.
he ganado? he ganado? me ha tocado el coche? jeje
orange
Aqui se habla del tema del famoso Register Globals, que va a venir por defecto en OFF en la instalación de PHP5 y que parece que los ISPs van a empezar a dejarlo así además ...
http://www.php.net/manual/en/security.registerglobals.php
Por cierto ¿esto no lo saqué de tu blog meddle?
meddle
no, no creo que haya puesto un link a esa pagina en concreto. buen link, si señor. probablemente kusor o blogpocket lo hayan enlazado, no se. Pero lo que importa es que la gente debera acostumbrarse a los globals en off. Lo cual es bueno. Ah, y suele estar en OFF a partir de la version 4.2,por lo que veo.
Josh
Es cierto, desde la 4.2 register_globals viene en off por defecto. Siempre ha sido uno de los potenciales agugeros de seguridad de php que esten en on. Antes un "juanker" podia definirte el valor de su cookie simplemente poniendolo en la url.
Lo conveniente es utilizar $_GET[variable], $_POST[variable], etc.
hartum
pero si precisamente a mi me gustaba php porque no habia que estar con el puto get y post, le dire a mi futuro proveedor que no me los toke y los deje en on
keteperlin
Asi da gusto, en menos de 12 horas 5 respuestas.
Que creeis que debería hacer, activar el registerGlobals o usar $_GET[variable], $_POST[variable]. Realmente los servidores lo desabilitan?, no deberiamos decidir nosotros? ...
Gracias de todas formas.
meddle
lo que deberias hacer es dejarlo en OFF como esta y usar la linea de codigo que te he pasado.
orange
Sí señor, es un buen truco.
keteperlin
ok