PDA

Ver la Versión Completa : Asunto de cookies y sesiones


gatsu
24-04-2004, 12:59:32
Ehm...
Exactamente cómo puedo hacer para que en una página de login me inicie sesión y luego, pueda navegar por los enlaces de mi página sin que la sesión se pierda?
Me han comentado que mediante cookies, la sesión se mantiene; pero el problema es que no se cómo crearlos.
Alguien me puede enseñar un ejemplo de cómo crearlos?
Me han hablado de la funcion setcookie :
setcookie("ucontrasena",$contrasena,time()+7776000) ;
Pero exactamente esto no se dónde ponerlo; si alguien me puede facilitar algun ejemplo le estaré agradecido.

__cadetill
24-04-2004, 13:49:46
Si quieres que sea "permanente", has de usar cookies

Te recomiendo mires la utilización de la función que te han pasado y de $HTTP_COOKIE_VARS

Yo uso este código para la validación de la cookie de un user


// control de las cookies
if ( isset($nom) && ($nom != '') ) {
$val = GrabaCookie( $idcon, 'nombre', $nom );
if ( $val == 'ERROR' ) {
$nombre = $val;
BorraCookie( 'nombre' );
} else
$nombre = $nom;
} else {
if ( isset($nom) && ($nom == '') ) {
BorraCookie( 'nombre' );
$nombre = '';
} else {
if ( isset( $HTTP_COOKIE_VARS['nombre'] ) && ( $HTTP_COOKIE_VARS['nombre'] != '' ) )
$nombre = $HTTP_COOKIE_VARS['nombre'];
else
$nombre = '';
}


Donde GrabgarCookie y BorrarCookie son dos funciones que usan setcookie (http://www.php.net/manual/es/function.setcookie.php)

Espero te sirva

jachguate
24-04-2004, 23:27:53
PHP ya tiene un mecanismo de inicio de sesion, que puede basarse en cookies o en un parámetro de petición. Te recomiendo que mirés el manual de la función session_start (Podes hacerlo en línea en http://www.php.net/manual/es/function.session-start.php).

hasta luego.

;)

tcp_ip_es
26-04-2004, 18:55:24
Un ejemplo vale más que mil palabras:

<?php
session_register('contador');
echo '<a href="'.$PHP_SELF.'?'.SID.'">Contador vale: '.++$contador.'</a>';
echo "Hola, este es un ejemplo con PHP! <br>"; ?>

Aqui registramos la variable de sesión contador y puedes ver que el usuario mantiene la sesión. Tambien puedes utilizar simplemente la instrucción session_start().

Saludos, Tony