Foros del Web » Programando para Internet » PHP »

Envio automatico al existir sesion

Estas en el tema de Envio automatico al existir sesion en el foro de PHP en Foros del Web. Saludos a Todos, como puedo hacer para que al verificar una sesion que ya existe me envie automaticamente a otro formulario y no al de ...
  #1 (permalink)  
Antiguo 16/05/2003, 03:15
Avatar de pabloman  
Fecha de Ingreso: enero-2003
Ubicación: Temuko
Mensajes: 54
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Envio automatico al existir sesion

Saludos a Todos, como puedo hacer para que al verificar una sesion que ya existe me envie automaticamente a otro formulario y no al de registrase??, tengo lo siguiente:

se supone que el cliente existe y ya abrió una sesion nueva, luego al escojer otro producto de cualquier pagina para seguir comprando, lo tengo que enviar a un form en donde corrobora sus datos, pero como ya abrio la sesion deberia enviarme automaticamente a detalle2.php

<?php
include ("conexx.php"); // se conecta a la BD
session_start();
$compra=$_SESSION['compra']; // asignamos a $variable la variable de la session áctiva.
// donde $compra="si"
?>
<html>
<head>
<title></title>
</head>
<body>

<?php
if (($compra)=="si"){ // ya está abierta la sesion por lo tanto $compra="si"
header ("Location: detalle2.php"); // se supone que deberia enviarme automaticamente a detalle2.php
// pero no lo hace me da un error

// echo "<a href=\"detalle2.php\">ir a pagina B</a>"; // al usar esto es poco estetico
}
else // pide ingresar datos, pero el cliente ya paso por aki previamente
{
?>
<FORM ACTION="sesion.php" method="post">
<input type="text" name=var_usu value="<? echo $var_usu?>" size="20"><br>
<input type="text" name=var_con value="<? echo $var_con?>" size="20"><br>
<input type="submit" name="Submit2" value=" abrir sesion ">
</form>

A todo esto este archivo es paso obligatorio para todos los clientes que deseen comprar ya que aki verifica y si la sesion existe, y si esta abierta pues deberia ir a detalle2.php

Espero se halla entendido mi duda y nuevamente muchas gracias.

Chauuuuuuu.......
__________________
Cuando creo aprender algo, mas me doy cuenta que nada se...
  #2 (permalink)  
Antiguo 16/05/2003, 03:56
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años
Puntos: 5
Te faltó colocarla sentencia exit; después del header

Código PHP:
<?php
if (($compra)=="si"){ // ya está abierta la sesion por lo tanto $compra="si"
header ("Location: detalle2.php"); // se supone que deberia enviarme automaticamente a detalle2.php 
exit;
// pero no lo hace me da un error

// echo "<a href=\"detalle2.php\">ir a pagina B</a>"; // al usar esto es poco estetico 
}
else 
// pide ingresar datos, pero el cliente ya paso por aki previamente
{
?>
<FORM ACTION="sesion.php" method="post"> 
<input type="text" name=var_usu value="<? echo $var_usu?>" size="20"><br>
<input type="text" name=var_con value="<? echo $var_con?>" size="20"><br>
<input type="submit" name="Submit2" value=" abrir sesion ">
</form>
Un beso
  #3 (permalink)  
Antiguo 16/05/2003, 04:33
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 8 meses
Puntos: 0
hola,

la "salida" del documento ya empezó antes de llamar a header(). Solamente se puede llamar a header() si la salida del documento todavía no empezó; en este caso deberías poner el codigo PHP antes del codigo HTML...o sea antes del <html> (también antes de cualquier otra "salida": antes de cualquier echo, etc).

o sea:

<?php

if (etc, etc) {

header(etc);

} else {

?>

<html>

etc, etc...

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología
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 21:35.