Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/06/2007, 15:29
Abe11
 
Fecha de Ingreso: junio-2007
Mensajes: 41
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Problema cookies

Gracias, pero me puedes explicar para ke sirve poner eso??

He solucionado el problema haciendo ke kuando el formulario envie, la pagina se refresca y entonces a la vez ke compruebo si las cookies existen compruebo tambien si el login ha sido bueno y cambio otra variable a 1.

Entonces en el lado donde esta el formulario, pongo un if si el login ha sido bueno pone el bienvenido, y si las cookies existen tambien pero si el login ha sido malo vuelve a poner el formulario y un error.

el codigo nuevo de la parte del formulario
<?php
if($logueado || $logcorrecto)
{
if(!$_POST['logout'])
{
echo'<center class="Letra">
<form name="form1" method="post" action="">
<span class="Letra">Bienvenido'.$cuser .'</span>
<input class="Caja" style="width:auto;" name="logout" type="submit" value="Desconectar">
</form>
</center>';
}
}
else
{
if($_POST['login'] && (!$logcorrecto))
{
include('form_log.php');
echo'<span class="Error" style="font-size:10px;">Usuario o Contraseña incorrecta <a href="olvido.php">¿¿olvidaste tu contraseña??</a></span>';

}
else
include('form_log.php');
}

?>

y el codigo de las comprobaciones ke hago al iniciar la pagina, antes de ninguna parte de html

Compruebo ke ha intentado un login y si es bueno logcorrecto=1
<?php
$logcorrecto=0;
if($_POST['login'])
{
require('conex.php');
$usuario=trim($_POST['usuario']);
$passw=trim($_POST['passw']);
$consulta="select usuario from usuarios where usuario='$usuario' and password='$passw'";
$sql=mysql_query($consulta);
$num=mysql_num_rows($sql);
if($num==1)
{
if($row=mysql_fetch_row($sql))
{
$logcorrecto=1;
}
mysql_free_result($sql);
}
}
if($_POST['logout'])
$logout=1;
?>


Compruebo ke las cookies ya existen o si el login ha sido bueno para krearlas
<?php
$logueado;
$cuser;
$cpassw;
if(isset($HTTP_COOKIE_VARS['cuser']) && isset($HTTP_COOKIE_VARS['cpassw']))
{
$cuser=$HTTP_COOKIE_VARS['cuser'];
$cpassw=$HTTP_COOKIE_VARS['cpassw'];
$select="select usuario,password from usuarios where usuario='$cuser' and password='$cpassw'";
$sql=mysql_query($select);
$num=mysql_num_rows;
if($num==1)
{
if($datos=mysql_fetch_array($sql))
{
$cuser=$datos['usuario'];
$cpassw=$datos['password'];
setcookie('cuser',$cuser,time()+60*60*24*7);
setcookie('cpassw',$cpassw,time()+60*60*24*7);
$logueado=1;
}
}
else
{
setcookie('cuser','',time()-3600);
setcookie('cpassw','',time()-3600);
}
}
if($logcorrecto)
{
$cuser=$_POST['usuario'];
$cpassw=$_POST['passw'];
setcookie('cuser',$cusur,time()+60*60*24*7);
setcookie('cpassw',$cpassw,time()+60*60*24*7);
$logueado=1;
}
if($logout)
{
setcookie('cuser','',time()-3600);
setcookie('cpassw','',time()-3600);
}

?>

El problema ahora esque no se si hace bien lo del setcookie porque si refresco la pagina despues del login no se me keda como logueado y vuelve a ponerse el formulario

La cosa eske estoy en localhost con el xampp y no se si puede ser por eso el ke me falla o no.

Ando liadisimo con las cookies, please ayudarme!! Gracias