Foros del Web » Programando para Internet » PHP »

Redireccionar luego de registrarse

Estas en el tema de Redireccionar luego de registrarse en el foro de PHP en Foros del Web. Saludos, por ahi pregunte esto en un hilo que llevaba, pero me parece mas apropiado abrir otro mas especifico. Como puedo redireccionar a los usuarios ...
  #1 (permalink)  
Antiguo 29/07/2009, 14:53
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Redireccionar luego de registrarse

Saludos, por ahi pregunte esto en un hilo que llevaba, pero me parece mas apropiado abrir otro mas especifico.

Como puedo redireccionar a los usuarios que se registren exitosamente en mi web al index? y a los que les dio algun error, devolverlos a la página anterior, osea, la de registro?

Voy a ponerles mi php para que vean como esta hecho:

Código PHP:
<?php 
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS. 
include("coneccion.php"); 
function 
quitar($mensaje

$mensaje str_replace("<","<",$mensaje); 
$mensaje str_replace(">",">",$mensaje); 
$mensaje str_replace("\'","'",$mensaje); 
$mensaje str_replace('\"','\"',$mensaje); //<----------------------aqui estaba el error
$mensaje str_replace("","",$mensaje); 
return 
$mensaje


if(
trim($HTTP_POST_VARS["username"]) != "" && trim($HTTP_POST_VARS["email"]) != ""

$sql "SELECT id FROM registrados WHERE username='".quitar($HTTP_POST_VARS["username"])."'"
$result mysql_query($sql); 
if(
mysql_num_rows($result) >) {
echo 
"Error, nick o nombre escogido por otro usuario";
}
else 

$sql "INSERT INTO registrados (username,password,email,profesion) VALUES ("
$sql .= "'".quitar($HTTP_POST_VARS["username"])."'"
$sql .= ",'".quitar($HTTP_POST_VARS["password"])."'"
$sql .= ",'".quitar($HTTP_POST_VARS["email"])."'"
$sql .= ",'".quitar($HTTP_POST_VARS["profesion"])."'";
$sql .= ")"
mysql_query($sql); 
echo 
"Registro exitoso! , ahora sera dirigido a la pagina principal ";


else 

echo 
"Debe llenar como minimo los campos de email y password"

mysql_close(); 
?>
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #2 (permalink)  
Antiguo 29/07/2009, 15:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Redireccionar luego de registrarse

Primero, evita usar $HTTP_POST_VARS eso ya esta obsoleto. Debes usar $_GET o $_POST o $_REQUEST.

Segundo, para redirigir lo unico que tienes que hacer es
Código php:
Ver original
  1. header("Location: pagina_de_formulario.php");
Y si quieres que no llene de nuevo los campos puedes pasar, las variables por el metodo de get

Código php:
Ver original
  1. header("Location: pagina_de_formulario.php?variable1=informacion&variable2=informacion2&etc=etc etc etc");
  #3 (permalink)  
Antiguo 29/07/2009, 15:07
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Respuesta: Redireccionar luego de registrarse

jaja, excelente, no entendi

yo no se php, me costo un mundo lograr que este registro trabajara con ayuda de la gente de aqui mismo, asi que no creo poder cambiar lo que me pones
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #4 (permalink)  
Antiguo 29/07/2009, 15:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Redireccionar luego de registrarse

en el if donde tu escribes los echo de error, en vez de escribir echo debes usar los header que te indique. Si redireccionas despues de enviar informacion al navegador te va a traer un error y no te va a funcionar enviar. Por lo tanto escribe el header("Location: index.php"); cuando quieras redireccionar si se logueo y header("Location: pagina_de_formulario.php"); cuando cometio un error, pero como te indique no envies informacion al navegador sino solamente corrobora informacion y redireccionar. En las paginas que redirecciones ahi das los avisos o saludos
  #5 (permalink)  
Antiguo 29/07/2009, 15:36
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Respuesta: Redireccionar luego de registrarse

ok, gracias
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #6 (permalink)  
Antiguo 29/07/2009, 15:51
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Redireccionar luego de registrarse

no te olvides de colocar exit después del header, para asegurarte que no se ejecutarán más códigos después del mismo.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #7 (permalink)  
Antiguo 29/07/2009, 15:59
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Respuesta: Redireccionar luego de registrarse

hice lo que me dijiste y me pone esto:

Warning: Cannot modify header information - headers already sent by (output started

Cita:
mysql_query($sql);
header("Location: registrar.php");
}
}
else
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #8 (permalink)  
Antiguo 29/07/2009, 16:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Redireccionar luego de registrarse

Tienes algo que enviaste antes. Como te indique no envies nada al navegador porque sino te da ese error. Elmina todos los echo que estan declarados antes. Ademas no escribiste todo el error asi que no te puedo decir donde debes buscar
  #9 (permalink)  
Antiguo 29/07/2009, 16:02
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Respuesta: Redireccionar luego de registrarse

el archivo esta arriba en el primer posteo, los echo que hay es en caso que no el usuario ya exista
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #10 (permalink)  
Antiguo 29/07/2009, 16:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Redireccionar luego de registrarse

Pues como te indique los header no funciona y salen con errores si enviaste informacion al navegador. Vas a tener que quitarlos.
  #11 (permalink)  
Antiguo 29/07/2009, 16:10
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Respuesta: Redireccionar luego de registrarse

ok, voy a ver que hago, gracias
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:13.