Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2009, 10:35
Laufwerk
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 2 meses
Puntos: 0
Error al hacer setcookie de un login

Hola amigos!!!

Estoy haciendo un login y cuando el usuario pone admin como username y admin como password, me salta este error

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

al hacer un

Código:
setcookie(_COOKIE_PREFIX.'_cook_auth');

Sabeis porque puede ser?


Os pongo el codigo de login.php
Código PHP:
<?php
session_start
();
require 
"auxfunc.php";
$destino=false;

//Comprobamos que el usuario haya escrito algo en el textbox de username, por lo que habrá clicado en el boton de submit y las variables $_POST valdrán algo
if ($_POST["usuario"]!=""){
    echo 
"<br>1";
    if ( (
strtolower($_POST["usuario"])=="admin") && (strtolower($_POST["contrasenya"])=="admin") ){
    echo 
"<br>2";
        
//marcamos login correcto
        
$_SESSION['auth']=_AUTHVALUE;
        
$_SESSION['usuario']=$_POST['usuario'];
        
// Activamos la cookie del usuario
        
if ($_POST["remindme"]=="remind"){
    echo 
"<br>3";
            
setcookie(_COOKIE_PREFIX.'_cook_auth'_AUTHVALUEtime() + (7*24*60*60));                   //  Duración de la cookie = 7 dias
            
setcookie(_COOKIE_PREFIX.'_cook_user'$_POST['usuario'], time() + (7*24*60*60));           //  Duración de la cookie = 7 dias
        
}
        else{
    echo 
"<br>3.3";
            
setcookie(_COOKIE_PREFIX.'_cook_auth');
            
setcookie(_COOKIE_PREFIX.'_cook_user');
        }
        
//enviamos a inicio
        
$destino=true;
        
//header("Location: index.php");
    
}
    else{
    echo 
"<br>4";
        
//desmarcamos login correcto
        
unset ($_SESSION['auth']);
        unset (
$_SESSION['usuario']);
        
session_destroy();
        
session_unset();
        
setcookie(_COOKIE_PREFIX.'_cook_auth');
        
setcookie(_COOKIE_PREFIX.'_cook_user');
        
$_SESSION['auth']="";
        
$contenido.='<p class="error">Usuario o contraseña incorrecta.</p>';
        
$destino=false;
    }
}
else{
    echo 
"<br>5";
    if (
$_GET['accion']=="logout"){
    echo 
"<br>6";
        
$contenido.='<p class="error">Se cerró la conexión satisfactoriamente.</p>';
        
//desmarcamos login correcto
        
unset ($_SESSION['auth']);
        unset (
$_SESSION['usuario']);
        
setcookie(_COOKIE_PREFIX.'_cook_auth');
        
setcookie(_COOKIE_PREFIX.'_cook_user');
        
session_destroy();
        
session_unset();
        
$_SESSION['auth']="";
        
$destino=false;
    }
    else{
        
//$contenido.='<p class="error">Validese como usuario y contraseña para poder acceder a la área privada.</p>';
    
}
    
//comprobamos si se mantiene login anterior
    
if ($_SESSION['auth']==_AUTHVALUE){
    echo 
"<br>7";
        
//si se mantiene enviamos a index
        
$destino=true;
        
//header("Location: index.php");
    
}
}


if (
$detino){
    
header("Location: index.php");
}
else{
    include 
"loginTemplate.html.php";
}
?>

el index.php contiene lo siguiente:
Código PHP:
<?php
session_start
();
require 
"auxfunc.php";

if (!
Comprobar_Login()){
    
header("Location: login.php");
}
else{
    
$bienvenida $comun_bienvenida1." <span>"
    
$nombre_usuario=$_SESSION["usuario"];
    
$bienvenida.=$nombre_usuario."</span>&nbsp;";
    
$logout='<a href="login.php?accion=logout"> [ SALIR ] </a>';

$contenido="Si lees esto es pq estas logueado.";
include 
"indexTemplate.html.php";
}
?>
Gracias por vuestra paciencia