Foros del Web » Programando para Internet » PHP »

No me crea la cookie

Estas en el tema de No me crea la cookie en el foro de PHP en Foros del Web. HOLA amigos!!! He estado leyendo de como crear cookies pero no se pq no me la crea. os pongo el código por si me veis ...
  #1 (permalink)  
Antiguo 15/05/2008, 07:58
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
No me crea la cookie

HOLA amigos!!!
He estado leyendo de como crear cookies pero no se pq no me la crea.
os pongo el código por si me veis algun error.

Código PHP:
if ($_POST["usuario"]!=""){
    
//Compruebo el usuario y contraseña mediante una funcion hecha por mi (Esto funciona)
    
$result=login($_POST["usuario"], $_POST["contrasenya"], $db);
    if (
$result==true)    {
        
//marcamos login correcto
        
$_SESSION['auth']=_AUTHVALUE;
        
$_SESSION['usuario']=$_POST['usuario'];
        
// Activamos la cookie del usuario
        //remindme es el name del input checkbox del formulario y el value tb es remindme
        
if ($_POST["remindme"]=="remindme"){
            
setcookie("trans_cook"_AUTHVALUEtime() + (86400));   //  Duración de la cookie = 7 dias
        
}
        
//enviamos a inicio
        
header("Location: index.php");
    }
    else{
        
//desmarcamos login correcto
        
unset ($_SESSION['auth']);
        unset (
$_SESSION['usuario']);
        
$contenido.='<p class="error">'.$comun_error_01.'</p>';
    }
}
else{
    
//comprobamos si se mantiene login anterior
    
if ($_SESSION['auth']==_AUTHVALUE){
        
//si se mantiene enviamos a index
        
header("Location: index.php");
    }
}


include 
"template.login.php"
  #2 (permalink)  
Antiguo 15/05/2008, 09:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: No me crea la cookie

que extraño, el setcookie() para correcto... no arroja algun error?
  #3 (permalink)  
Antiguo 15/05/2008, 09:13
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: No me crea la cookie

nop

deciros que trabajo con templates, si quereis ver el codigoo

login.php
Código PHP:
session_start();
$menu="NO";
$pagina="login.php";
require 
"auxfunc.php";
require 
"conf.inc.php";
$site=$comun_site;

//$contenido='<a href="#" id="login"></a><h1><a href="#">'.$comun_control_acceso.'</a></h1>';
/*if (isset($_COOKIE["trans_cook"])==_AUTHVALUE){
//    echo "Existe la cookie";
    header("Location: index.php");
}
else{
//    echo "No existe la cookie";
}
*/
if ($_POST["usuario"]!=""){
    
$result=login($_POST["usuario"], $_POST["contrasenya"], $db);
    if (
$result==true)    {
        
//marcamos login correcto
        
$_SESSION['auth']=_AUTHVALUE;
        
$_SESSION['usuario']=$_POST['usuario'];
        
// Activamos la cookie del usuario
        
if ($_POST["remindme"]=="remind"){
            
$_SESSION['need_cookie']=true;
            
setcookie('trans_cook'_AUTHVALUEtime() + (86400));   //  Duración de la cookie = 7 dias
        
}
        else{
            
//Borraremos la cookie
            
$_SESSION['need_cookie']=false;
            
//setcookie('trans_cook');
            
unset ($_POST["remindme"]);
        }
        
//enviamos a inicio
        
header("Location: index.php");
    }
    else{
        
//desmarcamos login correcto
        
unset ($_SESSION['auth']);
        unset (
$_SESSION['usuario']);
        unset (
$_POST["remindme"]);
        
$contenido.='<p class="error">'.$comun_error_01.'</p>';
    }
}
else{
    
//comprobamos si se mantiene login anterior
    
if ($_SESSION['auth']==_AUTHVALUE){
        
//si se mantiene enviamos a index
        
header("Location: index.php");
    }
}
if (
$_GET['error']==1){
    
$contenido.='<p class="error">'.$comun_error_01.'</p>';
}
if (
$_GET['accion']=="logout"){
    
$contenido.='<p class="error">'.$comun_error_02.'</p>';
    
//desmarcamos login correcto
    
unset ($_SESSION['auth']);
    unset (
$_SESSION['usuario']);
}
    
$contenido.='
<script src="'
._PATH_JS.'/md5.js" type="text/javascript"></script>
<script type="text/javascript">
function encriptapass() {
 document.getElementById("contrasenya").value = hex_md5(document.getElementById("contrasenya").value);
}
function colocar() {
document.getElementById("usuario").focus();
}
</script>
<form method="POST" ACTION="login.php" onsubmit="javascript:encriptapass();">
                            <div class="required">
                                <label for="Usuario">'
.$lbl_usuario.'</label> 
                                <input name="usuario" id="usuario" class="inputText" size="5" maxlength="50" value="" type="text">
                            </div>
                            <div class="optional">
                                <label for="password">'
.$lbl_contrasenya.'</label> 
                                <input name="contrasenya" id="contrasenya" class="inputPassword" size="5" maxlength="50" value="" type="password">
                            </div>
                            <div class="optional2">
                                <div class="div_check"><input type="checkbox" id="remindme" name="remindme" value="remind"></div>
                                <div class="div_check_name">'
.$chkbx_remindme.'</div>
                            </div>
                            <div class="submit" align="right">
                                <input class="inputSubmit" value="'
.$btn_aceptar.'" type="submit">
                            </div>
                        </form>'
;
include 
"template.login.php"
index.php
Código PHP:
session_start();
$menu="SI";
$pagina="index.php";
require 
"auxfunc.php";
require 
"conf.inc.php";

$modulo_actual=$_GET["modules"];

if (
$modulo_actual!=""){
    
$permiso getPermisos($_SESSION["usuario"], $modulo_actual$db);
}    
else{
    
$modulo_actual="a_home";
    
$permiso=true;
}
    
//comprobamos login
if ($_SESSION['auth']!=_AUTHVALUE){
    
//si falla redirigimos a login
    //echo "session: ".$_SESSION['auth'];
    
header("Location: login.php");
//    echo "permiso FALSO";
}
elseif  (
$permiso==false){
    
header("Location: index.php");
}
else{
    
$bienvenida $comun_bienvenida1." <span>"
    
$nombre_usuario=$_SESSION["usuario"];
    
$bienvenida.=$nombre_usuario."</span>&nbsp;";
    
$logout='<a href="login.php?accion=logout">'.$comun_logout.'</a>';
    
    
$botones=array();
    
$opciones getModules($_SESSION["usuario"], $db);
    
    for (
$i=0;$i<count($opciones);$i++)
    {
        include 
_PATH_MODULES.$opciones[$i][0]."/requires.php";
    }    
/*    echo "<br> Mi cookie : ".$_COOKIE["trans_cook"];
    echo "<br> http vars : ".count($HTTP_COOKIE_VARS);
    for($i=0;$i<count($HTTP_COOKIE_VARS);$i++){
        echo "<br> $i : ".$HTTP_COOKIE_VARS[$i];
    }
*/
}
/*
$pagina_actual = getURL($_SERVER["REQUEST_URI"]);
$caracter   = '?';
$posicion = strpos($pagina_actual, $caracter);
if ($posicion>0){
    $pagina_actual.="&";
}
else{
    $pagina_actual.="?";
}
$languages = getLanguages($pagina_actual);
*/
//echo "<br> Pagina : ".$pagina;
include "template.php"
el template.php
Código PHP:
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="description" content="humaniza, intranet, servicios, informaticos, hosting, ordenadores, diseño paginas web, diseño, paginas, web, internet, paginas web, bases de datos, asistencia remota, servidores web, mantenimiento, informatico, mantenimiento informatico,"/>
 <meta name="keywords" content="keywords"/> 
 <meta name="author" content="Humaniza"/> 
 <title>'.$titulo.'</title>
 <link rel="stylesheet" type="text/css" href="'._PATH_CSS.'default.css" media="screen"/>
 <link rel="stylesheet" type="text/css" href="'._PATH_CSS.'form.css" media="screen"/>
';
?>

</head>
<body>
<div class="container">
    <div class="main">
        <div class="header">
            <div class="title">
                <h1><?php echo $titulo; echo $_COOKIE['trans_cook'];?></h1>
                <div class="languages"><?php //echo $languages;?></div><!-- FIN LANGUAJES -->
                <div class="usuario">
                <?php if ($pagina!="login.php"){?>
                <IMG SRC="<? echo _PATH_IMAGES.$img_name;?>" WIDTH="32" HEIGHT="32" BORDER="0" ALT="">
                <?php echo $bienvenida.$logout;
                }
                
?>
                </div><!-- FIN USUARIO -->
            </div><!-- FIN TITLE -->
        </div><!-- FIN HEADER -->
        <div class="content">
        <?php 
            
if ($menu!="NO"){include "menu.php";} 
            if(
$pagina!="login.php"){ 
                echo 
'<div class="section">';
                include 
_PATH_MODULES.$modulo_actual."/index.php";
                echo 
'</div><!-- FIN SECTION -->';
            } 
            else{ 
                echo 
'<div class="login">';
                echo 
$contenido;
                echo 
'</div><!-- FIN LOGIN -->';
            }
            echo 
'</div><!-- FIN CONTENT -->';
echo 
'<div class="clearer"><span></span></div>'.
'    </div><!-- FIN MAIN -->'.
'    <div class="footer">'.$footer.'</div><!-- FIN FOOTER -->'.
'</div><!-- FIN CONTAINER -->'.
'</body>'.
'</html>';

y el template.login.php
Código PHP:
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="description" content="humaniza, intranet, servicios, informaticos, hosting, ordenadores, dise�o paginas web, dise�o, paginas, web, internet, paginas web, bases de datos, asistencia remota, servidores web, mantenimiento, informatico, mantenimiento informatico,"/>
 <meta name="keywords" content="keywords"/> 
 <meta name="author" content="Humaniza"/> 
 <link rel="stylesheet" type="text/css" href="'
._PATH_CSS.'login.css" media="screen"/>
 <script type="text/javascript" src="'
._PATH_JS.'auxfunc.js"> </script>
 <title>'
.$titulo.'</title>
<script>
window.onload=window.onresize=window.onscroll=function(){
var data=getWindowData();
$("content").style.left=data[0]/2+data[2]-parseInt($("content").style.width)/2+"px";
$("content").style.top=data[1]/2+data[3]-parseInt($("content").style.height)/2+"px";
}
</script>
</head>
<body onload = "javascript:colocar()">
    <div class="content">
        <div class="logo">
            <div class="image"></div>
            <div class="site">'
.$site.'</div>
        </div>
        <div class="login">'
.$contenido.'</div>
    </div>
</body>
</html>'


a ver si asi lo logramos!!!!!

Última edición por Laufwerk; 16/05/2008 a las 02:28
  #4 (permalink)  
Antiguo 15/05/2008, 09:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: No me crea la cookie

si pongo un echo $_COOKIE['trans_cook'] pues no me sale nada...
  #5 (permalink)  
Antiguo 15/05/2008, 09:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: No me crea la cookie

es irrelevante (y estorboso) tanto codigo....
necesitas debuggear o loggear justo en el proceso de creacion de la cookie sino, no se...
si logras capturar ke si, verdaderamente funciona... perfecto!
  #6 (permalink)  
Antiguo 15/05/2008, 09:26
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: No me crea la cookie

no te entiendo.
imagino que la cookie me la crea bien, pero luego no puedo usarla!!!!!
  #7 (permalink)  
Antiguo 15/05/2008, 09:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: No me crea la cookie

el valor de la cookie puede ser cualquier cosa?

Código PHP:
DEFINE ("_AUTHVALUE""kgjh%s2·$1i4");

setcookie('trans_cook'_AUTHVALUEtime() + (86400));   //  Duración de la cookie = 7 dias 
o tiene que ser un int?
  #8 (permalink)  
Antiguo 15/05/2008, 09:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: No me crea la cookie

puede ser la valor ke kieras... ahora, despues de usar setcookie() (en el mismo archivo) ¿la puedes imprimir???

sino, revisa el parametro de RUTA para la creacion de la cookie, esto pasa si la creas en el index.php y luego la usas en foo/archivo.php (como ves) no tienen el mismo alcanze, creo...

http://php.net/setcookie
  #9 (permalink)  
Antiguo 16/05/2008, 02:29
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: No me crea la cookie

ya funciona
, ya he modificado el codigo arriba en los archivos!!!
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 02:29.