Foros del Web » Programando para Internet » PHP »

Problemas de Session y mySql

Estas en el tema de Problemas de Session y mySql en el foro de PHP en Foros del Web. hola,, acabo de subir http://www.qbanitas.com y el primer problema con el que me encuentro es como que me crea una nueva sessión cada vez que ...
  #1 (permalink)  
Antiguo 17/03/2005, 21:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 195
Antigüedad: 13 años, 3 meses
Puntos: 0
Problemas de Session y mySql

hola,, acabo de subir

http://www.qbanitas.com y el primer problema con el que me encuentro es como que me crea una nueva sessión cada vez que visito una página,,, en el loval host no me sucede eso...

yo guardo el id de cada sessión en la base de datos y a principio de cada página llamo al session_start() luego me conecto y verifico si la sessión existe,, de no existir la agrego como invitado....

si se dan cuenta en el menú a la izquierda del sitio vienen los usuarios miembros y los invitado.. con los miembros no da problemas, pero con los invitados cada vez que visitas una página incremente en uno y eso es falso....

supongo sea error con las sessiones

saludos
leo.
__________________
http://www.qbanitas.com - Las chicas más lindas de Cuba.

http://www.santaclarahostel.com - casas particulares en Santa Clara, la ciudad del Che.
  #2 (permalink)  
Antiguo 18/03/2005, 08:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si pudieramos ver el código que interviene en el proceso sería lo ideal .. También sería bueno que indiques que configuración de sesiones usas en el servidor que te dá problemas (de hecho podrías compararla entre el tuyo de desarrollo y el de "producción").

Podrías tener problemas sobre la propagación del SID (pero eso no vemos como lo haces en tu aplicación ni como PHP lo hace en su configuración).

Un saludo,
  #3 (permalink)  
Antiguo 18/03/2005, 09:40
 
Fecha de Ingreso: agosto-2004
Mensajes: 195
Antigüedad: 13 años, 3 meses
Puntos: 0
ahí va el código...

fichero incluido a principio de cada página
session.php


session_start();

if (!isset($_SESSION["sNick"])) {
session_register('sNick');
$_SESSION["sNick"] = "";
}

$time = time();
$limit = $time - 1440;

$idSession = session_id();
$myNick = $_SESSION["sNick"];

$query = "DELETE FROM sessions WHERE lastTime < $limit";
mysql_query($query);

$query = "SELECT * FROM sessions WHERE idSession='$idSession'";
$rs = mysql_query($query);

if (mysql_num_rows($rs) == 0) {
mysql_free_result($rs);
$query = "INSERT INTO sessions (idSession, userNick, lastTime) VALUES ('$idSession', '$myNick', $time)";
mysql_query($query);

}
else {
mysql_free_result($rs);
$query = "UPDATE sessions SET lastTime=$time, userNick='$myNick' WHERE sessions.idSession='$idSession'";
mysql_query($query);
}
__________________
http://www.qbanitas.com - Las chicas más lindas de Cuba.

http://www.santaclarahostel.com - casas particulares en Santa Clara, la ciudad del Che.
  #4 (permalink)  
Antiguo 18/03/2005, 10:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Esto no corresponde .. o usas el array superglobal $_SESSION .. o session_register() pero no los dos métodos que tienes para registrar variables de sesión.

if (!isset($_SESSION["sNick"])) {
session_register('sNick');
$_SESSION["sNick"] = "";
}

Un saludo,
  #5 (permalink)  
Antiguo 18/03/2005, 10:50
 
Fecha de Ingreso: agosto-2004
Mensajes: 195
Antigüedad: 13 años, 3 meses
Puntos: 0
has querido decir que si uso $_SESSION no tengo necesidad previs de usar session_register() para registrar la variable... ??..

sería..

if (!isset($_SESSION["sNick"])) {
$_SESSION["sNick"] = "";
}

sigo con dudas,, vale.. ?.

saludos
leo.
__________________
http://www.qbanitas.com - Las chicas más lindas de Cuba.

http://www.santaclarahostel.com - casas particulares en Santa Clara, la ciudad del Che.
  #6 (permalink)  
Antiguo 18/03/2005, 10:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Es que ambos "metodos" son diferentes .. y no son compatibles. El uso de los arrays superglobales ($_SESSION) es un método por sí solo .. no requiere de "session_register()"

Un saludo,
  #7 (permalink)  
Antiguo 18/03/2005, 11:09
 
Fecha de Ingreso: agosto-2004
Mensajes: 195
Antigüedad: 13 años, 3 meses
Puntos: 0
Gracias,, me temo que he cometido este mismo error en unas cuantas páginas del sitio....

saludos.
leo.
__________________
http://www.qbanitas.com - Las chicas más lindas de Cuba.

http://www.santaclarahostel.com - casas particulares en Santa Clara, la ciudad del Che.
  #8 (permalink)  
Antiguo 21/03/2005, 19:18
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 15 años, 4 meses
Puntos: 3
Fin de la session ?

Hola, yo tengo otras dudas

Como se cuando la sesion acaba ? y como defino el limite del tiempo de vigencia de estas

de ante manos gracias
__________________
Saludos
Leo
  #9 (permalink)  
Antiguo 22/03/2005, 07:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por leophp
Hola, yo tengo otras dudas

Como se cuando la sesion acaba ? y como defino el limite del tiempo de vigencia de estas

de ante manos gracias
Deberías iniciar un nuevo tema (aunque se hable de sesiones no tiene nada que ver con esto).

El tiempo que queda de una sesión no se puede averigüar con fuciones nativas de sesiones de PHP (en su defecto tendrías que gestionar sesiones con tus própias implementaciones).

El tiempo máximo de una sesión lo define (php.ini) session.gc_maxtimelife

Un saludo,
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 14:16.