Comunidad de diseño web y desarrollo en internet online

ayuda con cookies y php, esto esta loco

Citar            
MensajeEscrito el 30 Dic 2009 12:53 am
Primero que todo reciban un cordial saludo

tengo un archivo llamado log.php dentro de una carpeta llamada funciones

que tiene el siguiente codigo

Código PHP :

<FORM ACTION='ingresar.php' METHOD='post'  >



      <div align="center">T.I / C.C : 
        <INPUT TYPE='text' NAME='nick' SIZE=20 MAXLENGTH=20>



      Password: 
      <INPUT TYPE='password' NAME='password' SIZE=20 MAXLENGTH=20>



      <input type='hidden' name='url' >



      <input name='submit' type='submit' class='boton' value='Ingresar' />
     </FORM>
<? 
include ('../config.php');
include('../login.php');
      
if($loginCorrecto)



{



echo  $apellidoUsuarioL; 



echo ", "



.$nombreUsuarioL;}
else {echo "INVITADO";};




print $_COOKIE["usNick"];
?>


y en el root
tengo el index.php
con el mismo codigo del log.php cambiando

Código PHP :

include ('../config.php');
include('../login.php');
............................<FORM ACTION='ingresar.php' METHOD='post'  >

por

Código PHP :

include ('config.php');
include('login.php');
............................<FORM ACTION='funciones/ingresar.php' METHOD='post'  >


entro y me logeo, y aqui viene el problema
en index.php me aparece asi


y en funciones/log.php aparece asi


:shock: :shock: :shock: :shock:

no se cual es el problema, las cookies son las mismas , en log me lee y en index no! :( :(


alguien que me ayude!!!!

Por lucho0929

14 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Dic 2009 04:33 am
¿Qué parámetros le estás pasando a SetCookie()?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Dic 2009 04:52 pm
jeje ya se cual fue el error
el parametro de SetCookie() que siempre usaba era
setcookie("Nick",$nick,time()+600,); y siempre me servia en toda la pagina
ahora que comenze a hacer otra me sucedia lo que comentaba
ahora me fije que hay otro parametro para que la cookie sea leida en toda la web
usando ,"/"
setcookie("Nick",$nick,time()+600,"/");
ya con esto ya me funciona a la perfeccion.

por una cosilla tan sencilla dure como 3 horas buscando el problema
ya puedo dar el tema como cerrado

Por lucho0929

14 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 Dic 2009 05:01 pm
te recomiendo que uses sesiones en vez de cookies, es más sencillo...

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 01 Ene 2010 06:24 pm

nasho escribió:

te recomiendo que uses sesiones en vez de cookies, es más sencillo...


HE estado mirando eso pero no lo he podido entender muy bien, tienes un tuto que explique bien?

Por lucho0929

14 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Ene 2010 08:20 pm
Para decirlo mal y pronto las sesiones son como cookies que se almacenan en el servidor y no en el cliente. Estrictamente hablando sí se envía una cookie pero que solo almacena un número de sesión que es único para ese visitante.

En el servidor se crea una sesión que para ti (el programador) no será más que un array asociativo llamado $_SESSION donde le puedes meter cualquier información. La particularidad es que los datos almacenados allí solo son accesibles al visitante para el cual le iniciaste una sesión, de esta manera actúa como si fuera una cookie.

Para iniciarle una sesión utilizas la función session_start(); una vez hecho esto puedes acceder a $_SESSION y consultar sus valores o establecerle nuevos. Por ejemplo, para saber si el usuario está logeado sería:

Código PHP :

session_start();
if (isset($_SESSION["logueado"])) { // si existe la posición "logueado" en el array $_SESSION...
  echo "estás adentro :)";
}
else { echo "no estás logueado, hazlo!"; }


Y al momento de pasar por el formulario de ingreso podrías hacer algo como esto:

Código PHP :

if (LogginCorrecto($_POST["usuario"],$_POST["password"])) {
  session_start();
  $_SESSION["logueado"]["usuario"] == $_POST["usuario"];
  $_SESSION["logueado"]["password"] == $_POST["password"];
  header("Location: http://www.example.com/ir/a/la/zona/restringida/");
  exit;
}
else {
  echo "Usuario o contraseña incorrectos";
}


En $_SESSION["logueado"]["usuario"] tendrás siempre a la mano el nombre de usuario donde lo requieras.

(la función LogginCorrecto() sería la que valide esos datos contra la base de datos)

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

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