Foros del Web » Programando para Internet » PHP »

Cookie

Estas en el tema de Cookie en el foro de PHP en Foros del Web. Hola amigo espero que esten bueno lo siguiente es un tema me imagino trillado para ustedes pero yo he tenido unos poblema para crear las ...
  #1 (permalink)  
Antiguo 09/04/2010, 10:26
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 0
Cookie

Hola amigo espero que esten bueno lo siguiente es un tema me imagino trillado para ustedes pero yo he tenido unos poblema para crear las cookie para recordar las contrasñas del usuario y no se que puede ser bueno la verdad y pensando
creo que el problema radica en el setcookie que no me crea la $_COOKIE
mire yo tengo una pagina para ingrezar con mi checbox que manda 1 si esta chekiado bien llega a otra pagina de validacion la cual tengo este codigo
Código:
<?php
include('./../funciones/error.php');
include('./../funciones/funciones.php');
include('./../funciones/class_conexion.php');
$BD = new class_conexion();
/*foreach ($_POST as $c => $v){
echo $c." = ".$v."<br>";
}*/
//global $guardar;
$email_usuarioS    = utf8_decode($_POST['email_usuarioS']);
$passwordS = utf8_decode($_POST['passwordS']);
$guardar_clave = $_POST['guardar_clave'];
/*if($guardar_clave == "1")
  {
	
	echo $guardar_clave = $_COOKIE["marca_aleatoria_usuario_dw"];
  }	*/

/*echo  $cookie_id_usuario = $_COOKIE["id_usuario_dw"]."<br>";
echo $cookie_id = $_COOKIE["marca_aleatoria_usuario_dw"]."<br>";*/

$email_usuarioS = strtolower($email_usuarioS);
  
$usu ="SELECT id_usuario, email_usuario, password_usuario, nombre_usuario, ultimo_update_password, perfil_usuario, 
        carpeta, intentos, online, newslestter, newslestter_admin
		FROM usuarios
		WHERE email_usuario = '".$email_usuarioS."' AND estado = 'A' ";
$rusu = $BD->ejecutar_sql($usu);
$nu   = $BD->num_rows($rusu);
//echo "sql1 = ".$usu."<br>";
//echo "sql1 = ".$nu."<br>";
$ingreso = 0;//para ver si la contraseña esta habilitada


if($nu > 0)
{
	$fila = $BD->fetch_array($rusu);
	$password = $fila["password_usuario"];
	$intentos = $fila["intentos"];
	//echo "sql1 = ".$intentos."<br>";
	if($intentos < 6)
	{
		 
		if($password != $passwordS)
		{
		
			$mens = 1;//si los datos no coinciden
			$updI = "UPDATE usuarios
					 SET intentos = ".($intentos + 1)."
					 WHERE email_usuario = '".$email_usuarioS."'";
		    //echo "sql2 = ".$updI."<br>";		 
			$rupdI = $BD->ejecutar_sql($updI);
		}
			
		if($password == $passwordS)
		{
		    //echo $password."<br>".$passwordS."<br>";
			$idusuarioS 			= $fila["id_usuario"];
			$nombreS    		    = $fila["nombre_usuario"];
			$perfil_usuario         = $fila["perfil_usuario"];
			$online                 = $fila["online"];
			$carpetaS               = $fila["carpeta"];
			$newslestterS	        = $fila["newslestter"];
			$newslestterS_admin     = $fila["newslestter_admin"]; 
			$ultimo_update_password = $fila["ultimo_update_password"];
			$fhregistro 			= getDateTime('tstamp');
			$ingreso = 1;
			//echo "idusuario =".$idusuarioS."<br>";
			//echo "ultimo_update_password = ".$ultimo_update_password."<br>";
			//echo "ingreso = ".$ingreso."<br>";
			//echo "$fhregistro = ".$fhregistro."<br>";
					
			if($ingreso == 1)
			{
			  if($guardar_clave != "")
			    {
				    //echo "hola";
				    mt_srand (time());
				    //generamos un número aleatorio
				    $numero_aleatorio = mt_rand(1000000,999999999);
					$guardar = " , cookie = '".$numero_aleatorio."' ";
					//$guardar = " , cookie = '".$guardar_clave."' ";
				} 
			//echo "hola3 <br>";
				$upd = "UPDATE usuarios
						SET fhacceso = '".$fhregistro."', intentos = 1 , online = 'ON' ".$guardar."
						WHERE email_usuario = '".$email_usuarioS."' AND id_usuario = '".$idusuarioS."' ";
						//echo "sql3 = ".$upd."<br>";
				$rupd = $BD->ejecutar_sql($upd);
				setcookie("id_usuario", $idusuarioS , time()+(60*60*24*365));
		        setcookie('marca_aleatoria_usuario', $numero_aleatorio, time()+(60*60*24*365));
				//mandar_mail($email_usuarioS);
				//echo "hola";
				
				//exit;
				/*("id_usuario_dw", $usuario_encontrado->id_usuario , time()+(60*60*24*365));
		        setcookie("marca_aleatoria_usuario_dw", $numero_aleatorio, time()+(60*60*24*365));*/
				session_start();
				//echo $_SESSION["existe"]."<br>";
				//echo $_SESSION["hora_acc"]."<br>";
				//echo $_SESSION["tipoS"]."<br>";
				$_SESSION["email_usuarioS"]       = $email_usuarioS;
				$_SESSION["idusuarioS"]           = $idusuarioS;
				$_SESSION["nombreS"]              = $nombreS;
				$_SESSION["carpetaS"]             = $carpetaS;
				$_SESSION["existe"]               = "SI";
				$_SESSION["hora_acc"]             = $fhregistro;
				$_SESSION["perfil_usuarioS"]      = $perfil_usuario;
				$_SESSION["newslestterS"]    	  = $newslestterS;
				$_SESSION["newslestterS_admin"]   = $newslestterS_admin;
				//$_SESSION["onlineS"]            = $online;
				$mens = 2;
				//$_SESSION["ARarray_razones"]    = $array_razones;
			}//fin si hay posibilidad de ingresar
		}//fin si el usuario coincide
	}//si pasa de los tres intentos para poner la clave
	else
	{
	 
		if($intentos >= 4)
		{
		  
			$ingreso = 0;
			$mens = 5;//USUARIO BLOQUEADO
		}
     }
	if( ($intentos == 3)  )
	{
		$ingreso = 0;
		$mens = 6;//SI HA ERRADO TRES VECES LA CONTRASEÑA
	}
}//fin si el login existe en la tabla
if($nu == 0)
{
	$mens = 1;//SI NO HAY NINGUN USUARIO QUE COINCIDA
}
//echo "<input type='hidden' id='ingreso'    value='".$ingreso."'>";

?>
tonces en el index que es la pagina de registro coloco esto
Código:
$_COOKIE["id_usuario"];
$_COOKIE["marca_aleatoria_usuario"];
pero no me coge las variable y me sale error de variable indefinida que puede ser alguieen me puede ayudar
  #2 (permalink)  
Antiguo 09/04/2010, 10:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Cookie

setcookie crea el cookie y no es hasta la proxima visita que se carga la información de los cookies. Tendrías que crear el cookie en otra página y luego redirigir a la persona a otra para mostrar la información. No así con sesiones que se pueden crear y ver en el mismo momento.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/04/2010, 11:07
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Cookie

tonces la mejor solucion que puedo ver seria colocarlo todo soble la mima pagina la validaciones y todo para si crear de una vez la cookie
  #4 (permalink)  
Antiguo 09/04/2010, 11:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Cookie

Te repito, no es hasta la segunda vez que se recarga la página que se pueden visualizar los cookies, una vez uses setcookies. Si las validaciones están aparte de donde se muestran, entonces puedes colocar setcookies ahí y luego redirigir a la persona a la página donde las muestras.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 09/04/2010, 14:53
Avatar de towel  
Fecha de Ingreso: marzo-2009
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Cookie

abimaelrc
disculpa pero he intentado hacer todo lo posible y no me sale o lo mas probale es que no te entienda o queno lo sepa hacer ven dejame y te explico como hago
en el archivo validacio_usuario creeo la cookie con
setcookie verdad despues de alli pues como ya esta creada pues en los
archivo que neceito utilizar la cookie colo coloco $_COOKIE y listo claro despues que se alla recargado ahora no me sale nada solo la variable que coloque e $_COLLKIE indefinida que puedo hacer ???

Etiquetas: cookie
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 11:56.