jump to navigation

ELIMINAR PARAMETROS EN EL NAVEGADOR diciembre 28, 2008

Posted by bannysolano in PHP.
trackback

En algunos de los sistemas que desarrollo a menudo suelo usar el metodo GET para pasar los parametros; una de las ventajas es que puedo ver los nombres y valores de los parametros que estoy mandando y de este modo hacer una depuración inicial. El problema surge cuando por ejemplo tienes algo asi:

– Un evento que te insertar un registro en una base de datos (procedente de un formulario).

– La paginación de registros.

Como suponemos este evento tambien se va como parametro en nuestra url por ejem: supongamos que mandamos lo siguiente:

insertarCliente.php?us_cod=2&usu_nom=humberto&registrar=registrar

y nuestro script “insertarCliente.php” , tiene como codigo lo siguiente:

if(isset($_GET[“registrar”])

{

…….

$insertar=”consulta sql”;

…..

}

El problema como mencione antes aparece cuando refrescamos la pagina puesto que el evento registrar esta en la url, lo cual nuevamente ejecutara la sentencia para insertar el registro, produciendo un error. La solución a esto seria eliminar el parámetro “insertar”. Esto lo hacemos usando los comandos “parse_str” y “http_build_query” de la siguiente manera.

if(isset($_GET[“registrar”])

{

…….

$insertar=”consulta sql”;

…..

$str = $_SERVER[‘QUERY_STRING’];
parse_str($str, $info);
unset($info[‘registrar’]);
$params=http_build_query($info);
$url=”asignarTarea.php?”.$params;
header(“Location: “. $url);
}

El código hace lo siguiente, primero obtenemos los parametros y valores actuales de la url, luego la partimos y lo almacenamos en la variable $info, con el comando parse_str, luego usando la funcion unset quitamos la variable “registrar”, volvemos a reconstruir los parametros y valores y finalmente la url completa.

Anuncios

Comentarios»

1. Jess - enero 3, 2013

buenisimo!! me has salvado


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: