Foros del Web » Programando para Internet » PHP »

No se dan de baja las cookies :S

Estas en el tema de No se dan de baja las cookies :S en el foro de PHP en Foros del Web. Buenas, hago esta consulta porque la verdad que estuve viendo varios sitios y no puedo encontrar el error. Yo tengo un formulario de login que ...
  #1 (permalink)  
Antiguo 25/02/2009, 22:06
 
Fecha de Ingreso: mayo-2008
Ubicación: En algun lado!
Mensajes: 86
Antigüedad: 16 años
Puntos: 1
No se dan de baja las cookies :S

Buenas, hago esta consulta porque la verdad que estuve viendo varios sitios y no puedo encontrar el error.

Yo tengo un formulario de login que me hace la suguiente cookie

Código:
setcookie("sysNick",$usuario_int,time()+300);
Y cuando la quiero "dar de baja yo utilizo un boton de logout que su php es

Código:
 <?
 
 if(isset($user))
{
$_COOKIE["sysNick"] = "";
setcookie("sysNick",$usuario_int,time()-15000);

} ?>

<span class="style1">Saliendo de los tickets</span>
<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=indexsup.php">
El tema es que hace el redirect pero no borra la cookie del sistema, por lo que sigue logueado...

Como lo corrio?

Gracias de antemano!!
  #2 (permalink)  
Antiguo 25/02/2009, 22:17
 
Fecha de Ingreso: febrero-2009
Ubicación: Cusco - Peru
Mensajes: 142
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: No se dan de baja las cookies :S

no se mucho de ccokies, lo unico q se es que son totalmene inseguras y en especial si tu proyecto incluye un formulario login.

Lo mas recomendable es abrir sessiones, en las cuales podrias guardar los datos de usuario luego de compararla con una pekeña consulta a una BD, en la cual tambien podrias poner un limite de tiempo sin actividad esta session sea destruida y por ende tenga q loguearse nuevamente.

Abrir sessiones:
<?
session_start();
$usuario="Jaimito";
session_register($usuario);
?>

Destruir sessiones:
<?
session_destroy();
?>

Seria lo mas seguro y mas facil.
  #3 (permalink)  
Antiguo 25/02/2009, 22:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No se dan de baja las cookies :S

mmm de donde obtienes $user?? Es probable que nunca entre al condicional....
  #4 (permalink)  
Antiguo 25/02/2009, 23:21
 
Fecha de Ingreso: mayo-2008
Ubicación: En algun lado!
Mensajes: 86
Antigüedad: 16 años
Puntos: 1
Respuesta: No se dan de baja las cookies :S

Cita:
Iniciado por kerverin Ver Mensaje
no se mucho de ccokies, lo unico q se es que son totalmene inseguras y en especial si tu proyecto incluye un formulario login.

Lo mas recomendable es abrir sessiones, en las cuales podrias guardar los datos de usuario luego de compararla con una pekeña consulta a una BD, en la cual tambien podrias poner un limite de tiempo sin actividad esta session sea destruida y por ende tenga q loguearse nuevamente.

Abrir sessiones:
<?
session_start();
$usuario="Jaimito";
session_register($usuario);
?>

Destruir sessiones:
<?
session_destroy();
?>

Seria lo mas seguro y mas facil.
Gracias kerverin pero yo tengo que adaptar el template y eso es lo que me dieron para laburar, no quiero meter mucha mano porque mucho de php no se ejej, estoy aprendiendo no mas ;)

Cita:
Iniciado por GatorV Ver Mensaje
mmm de donde obtienes $user?? Es probable que nunca entre al condicional....
Lo unico que tengo es eso :S

Mira este es el formulari ode login completo

Código:
<?
session_start();


if ($_GET["action"]=="logout") {

if(isset($_COOKIE["usNick"]) && isset($_COOKIE["usPass"]))
{

$HTTP_COOKIE_VARS["usNick"] = "";
setcookie(usNick,"x",time() - 7776000);

$HTTP_COOKIE_VARS["usPass"] = "";
setcookie(usPass,"x",time() - 7776000);

header("Location: index.php");

exit();

}

}



include "config.php";
global $c,$loggedin;
include "data.php";
global $config;
include "funciones.php";
include "prices.php";
$checkpemail = mysql_query("SELECT id FROM tb_users");
$pemail_exist = mysql_num_rows($checkpemail);
$sqryvar="Select sum(visits) from tb_users";
$iqryvar=mysql_query($sqryvar);
$tot1=mysql_result($iqryvar,0,0);
$clickserved=$tot1;
$sqryvarp="Select sum(amount) from tb_history";
$iqryvarp=mysql_query($sqryvarp);
$tot1p=mysql_result($iqryvarp,0,0);
$paymentservedp=$tot1p / '2';
$redo= number_format($paymentservedp,2,".",",");
?>


<? include "header2.php"; ?>

<!-- content begin here -->
<style type="text/css">
<!--
.Estilo3 {font-size: 12px}
.Estilo6 {color: #E99A4B}
#Layer1 {
	position:absolute;
	left:578px;
	top:401px;
	width:255px;
	height:248px;
	z-index:1;
	visibility: visible;
}
.Estilo7 {color: #FF0000}
.Estilo8 {
	color: #FF0000;
	font-weight: bold;
}
-->
</style>

<div id="main">
<div id="menus">
        <?=$config["menu"];?>
</div>
<div id="content">
<div id="homelefta">
<? include('menu_left.php'); ?>
</div>
<? if(isset($user)){ echo '<div id="homerighta"><h3>Bienvenido a nuestro sistema de Soporte mediante Tickets</h3><br />
<p>Utilice el menu de la Izquierda para enviar un nuevo ticket o para consultar el estado de sus tickets abiertos.<br />Los tickets son respondidos dentro de las 48 horas por algún miembro de nuestro Staff.<br />
El funcionamiento es similar a un foro, cree un tema nuevo y este sera respondido. Trataremos de solucionar su problema tan rápido como sea posible.<br /><br />
Atención: Si la respuesta a su problema figura en el TOS, su ticket sera cerrado.</p>'; ?>
<? }else{ ?>
<div id="homerighta">
<?
if(isset($_POST['sys_user']) && isset($_POST['sys_pass'])){
$usuario_int = $_POST['sys_user'];
$pass_introducida = $_POST['sys_pass'];
$moh = mysql_query("SELECT * FROM sys_users WHERE usuario='$usuario_int'") or die(mysql_error());
$moh = mysql_fetch_array($moh);
if($moh['contraseña']!=$pass_introducida){
echo '<font size="3pt" color="red"><b><center>El usuario/clave ingresada es incorrecta.</center></b></font><br /><br />';
}else{
setcookie("sysNick",$usuario_int,time()+300);
?><meta http-equiv="refresh" content="0; indexsup.php" /><?
}
} ?>
<h3>Bienvenido a nuestro sistema de Soporte mediante Tickets</h3><br />
<p>Debe <a href="registersup.php">REGISTRARSE</a> para poder abrir un nuevo ticket. Estos serán respondidos dentro de las 48 horas por algún miembro de nuestro Staff.<br />
El funcionamiento es similar a un foro, cree un tema nuevo y este sera respondido. Trataremos de solucionar su problema tan rápido como sea posible.<br /><br />
Atención: Si la respuesta a su problema figura en el TOS, su ticket sera cerrado.</p><br />
	<? } ?>


	</div>

</div><div class="clear"></div> </div>

	<!-- content-wrap ends here -->	
<div id="footer2"><? include "footer.php"; ?></div>
<center><?=$config["site_name"]?> &copy; 2008-2009 - Todos los derechos reservados.<br /></center>

</div>
</body>
</html>
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 17:47.