Comunidad de diseño web y desarrollo en internet online

PHP/Cookies

Citar            
MensajeEscrito el 01 Dic 2009 04:23 pm
Saludos ! miren extertos, tengo una dudita que por mas que he visitado sitios en internet nomas no le he entendido Talvez sea mi capacidad intelectual lo que pasa es que necesito cachar los datos en una cookie del usuario cuando este haga login, el codigo que utilizo es este :

Código PHP :

<?php 
//datos para establecer la conexion con la base de mysql. 
mysql_connect('localhost','root','root')or die ('Ha fallado la conexión: '.mysql_error()); 
mysql_select_db('xpomundo')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 


function quitar($mensaje) 
{ 
$nopermitidos = array("'",'\\','<','>',"\""); 
$mensaje = str_replace($nopermitidos, "", $mensaje); 
return $mensaje; 
} 
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{ 


$usuario = $_POST['usuario']; 
$password = $_POST["password"]; 
$result = mysql_query('SELECT mail_v,pass_v FROM visitantes WHERE mail_v=\''.$usuario.'\''); 
if($row = mysql_fetch_array($result)){ 
if($row["pass_v"] == $password){ 

//header ("Location: slectxpo1.php"); esto no me sirbe, antes si funcionaba!

print "<meta http-equiv=Refresh content=\"2 ; url=slectxpo1.php\">"; 
//si el password es incorrecto 
}

else{ 
echo "<script> alert (\"Password incorrecto.\"); </script>";
print "<meta http-equiv=Refresh content=\"2 ; url=index.php#login\">";
}

//si el usuario no existe en la BD o esta mal escrito su mail 
}else{ 
echo "<script> alert (\"El usuario no existe en la Base de Datos...si quieres pertenecer a XPOMUNDO porfavor Registrate es ¡¡Gratis!! .\"); </script>";
print "<meta http-equiv=Refresh content=\"2 ; url=index.php#login\">";
} 

mysql_free_result($result); 
}else{ 
echo "<script> alert (\"Debes colocar tu correo electronico como usuario y tu password en los cuadros de texto.\"); </script>";
echo "<script language=Javascript> location.href=\"index.php\"; </script>";
} 
mysql_close(); 
?> 



necesito cachar los datos del usuario para que este no este haciendo login cada vez que cambie de pagina le puesto la funcion setcookie("cookie2", "mivalor2", time() + 3600); le he asignado los datos necesarios, pero termino por fastidiar el servidor (localhost). podrian echarme una manita? en donde y como pongo el codigo de la cookie? alguna liga para un tuto ?

Por erick_perez

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 01 Dic 2009 11:46 pm
Hola erick, antes que nada te sugiero que en lugar de usuar $HTTP_POST_VARS uses el $_POST. Ahora bien en cuanto a tu pregunta, lo que tienes que hacer es al principio del script, en la primera linea debes colocar el siguiente codigo

Código PHP :

 session_start();

Esto se hace para poder trabajar tanto con cookies como con sesiones. Ahora bien, una vez que el usuario ha ingresado los datos correctos deberias asignar lo que tu quieres en tantas cookies como datos quieras almacenar mediante el método setcookie como dices que lo haces. Es importante que asignes los datos solo para usuarios verificados.
Saludos, espero haberte ayudado

Por bucle_infinito

Claber

166 de clabLevel

1 tutorial

 

.NET Developer

chrome
Citar            
MensajeEscrito el 01 Dic 2009 11:48 pm
ah otra cosa importante para poder leer los datos de la cookie almacenada desde cualquier pagina o script debes incluir en la parte superior de cada script que haga uso de la cookie la función session_start, de otro modo no funcionará.

Por bucle_infinito

Claber

166 de clabLevel

1 tutorial

 

.NET Developer

chrome
Citar            
MensajeEscrito el 17 Dic 2009 05:19 pm
Duda con cookies:

igual estoy haciendo un login.. creo una cookie al verificar que los datos sean correctos y veríficando que se haya escrito con

Código PHP :

if(setCookie("terricolaid",$id,time() +3600)){
   header ("Location: ../blog2.php");
}

después en el otro archivo leo la cookie con

Código PHP :

$co=$_COOKIE["terricolaid"];
echo "$co";

pero no me escribe nada, si la leo al momento de crearla (en el if) si funciona
ya puse en la primera linea lo de las sesiones, sigue sin funcionar

No se si haya problemas con crearla en otro directorio

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 17 Dic 2009 05:25 pm
mmm ya funciono ^^

leí la cookie despues de iniciar la sesión y como la almaceno en una variable, esa variable la imprimo cuando quiera.

Y no, no hay problemas con crearla en otro directorio... 8)

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 18 Dic 2009 01:18 am
Bueno tenia muchos problemas con las cookies entonces investigue un poco más con eso de las sesiones y pues fue más sencillo lograr el login....

guardo variables

Código PHP :

session_start();
$_SESSION['id_ti']=$id;
$_SESSION['ti_user']=$user;
$_SESSION['ti_activo']='true';

y las leo despúes en el otro archivo

Código PHP :

session_start(); 
$act = $_SESSION['ti_activo'];
$usti = $_SESSION['ti_user'];
$idti = $_SESSION['id_ti'];

gracias por la mano bucle_infinito ;)

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.