Foros del Web » Programando para Internet » PHP »

Almacenar datos $_SESSION en MySQL

Estas en el tema de Almacenar datos $_SESSION en MySQL en el foro de PHP en Foros del Web. Saludos. Estoy intentando crear un sistema de login que guarde los datos del usuario mientras navega. Tengo el sistema registro y de logueo, y queria ...
  #1 (permalink)  
Antiguo 25/03/2015, 08:32
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Almacenar datos $_SESSION en MySQL

Saludos.

Estoy intentando crear un sistema de login que guarde los datos del usuario mientras navega. Tengo el sistema registro y de logueo, y queria guardar los datos de la $_SESSION que inicia el usuario, y la verdad es que he llegado a conseguirlo.

En el menu horizontal que tengo creado, una vez que el usuario se ha logueado, consigo que se muestre su nombre con el siguiente script:

http://pastebin.com/VUVKhmaP

El script funciona, pues una vez que se han logueado se muestra su nombre, y si en vez de "username" pongo cualquier otro campo de la base de datos de MySQL se muestra el valor correspondiente. El problema me llega cuando cierro el navegador (cuando cierro la ventana no ocurre), y es que al cerrar al navegador y volver a entrar en la página se muestra el siguiente error:



Por lo que he encontrado en internet, se supone que:

Cita:
Session variables solve this problem by storing user information to be used across multiple pages (e.g. username, favorite color, etc). By default, session variables last until the user closes the browser.

So; Session variables hold information about one single user, and are available to all pages in one application.

Note Tip: If you need a permanent storage, you may want to store the data in a database.
Es decir, ¿debería guardar la información del usuario conectado en MySQL? ¿Alguien me puede dar alguna pista sobre como se haría? Os dejo el script de login por si puede ayudar en algo:

http://pastebin.com/jjSKbU9i

Gracias y un saludo
  #2 (permalink)  
Antiguo 25/03/2015, 08:44
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Almacenar datos $_SESSION en MySQL

Me parece que en ningún momento inicias la sesión.

http://php.net/manual/es/function.session-start.php

Por otra parte, intenta hacer lo mismo desde el hosting/servidor, y no en local.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 25/03/2015, 08:55
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Almacenar datos $_SESSION en MySQL

El session_start() esta en la primera linea de todos mis archivos .php, lo que pasa es que sólo he pegado la parte de código más relacionada con el tema. Pero estar, están.

¿Me puedes recomendar algún servidor o hosting gratuito para probar?

Gracias y un saludo.
  #4 (permalink)  
Antiguo 25/03/2015, 09:01
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Almacenar datos $_SESSION en MySQL

Cita:
Iniciado por Viturbiko Ver Mensaje
El session_start() esta en la primera linea de todos mis archivos .php, lo que pasa es que sólo he pegado la parte de código más relacionada con el tema. Pero estar, están.

¿Me puedes recomendar algún servidor o hosting gratuito para probar?

Gracias y un saludo.
Prueba el hosting gratuito de Hostinger.
Son 2000Mb de Espacio en Disco, 100Gb de Ancho de Banda, 2 Bases de Datos MySQL, 2 Cuentas de Correo y un par de cosas más.

Si no te importa, haz click en mi enlace de afiliado
http://api.hostinger.com.ar/redir/1299395
__________________
¿Te sirvió la respuesta? Deja un +1
  #5 (permalink)  
Antiguo 25/03/2015, 09:19
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Almacenar datos $_SESSION en MySQL

Pues acabo de subir la página, y me aparece este error:

Cita:
function getValue() on a non-object in /home/u465649655/public_html/templates/common.inc.php on line 98
Por cierto, ¿como hago para subir los archivos de MySQL a hostinger?

Gracias de nuevo
  #6 (permalink)  
Antiguo 25/03/2015, 09:35
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Almacenar datos $_SESSION en MySQL

Cita:
Iniciado por viturbiko Ver Mensaje
pues acabo de subir la página, y me aparece este error:

Cita:
function getvalue() on a non-object in /home/u465649655/public_html/templates/common.inc.php on line 98
por cierto, ¿como hago para subir los archivos de mysql a hostinger?

Gracias de nuevo
Pues el mismo error te lo dice.
Fíjate qué error tienes en la línea 98 de common.inc.php
Por cierto, cambia tu usuario por "XXX", "USUARIO" o lo que sea, no es seguro ir publicando el usuario por ahí

¿A qué te refieres con "subir los archivos de MySQL"?
Tienes PHPMyAdmin si es eso lo que preguntas.
__________________
¿Te sirvió la respuesta? Deja un +1
  #7 (permalink)  
Antiguo 25/03/2015, 09:52
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Almacenar datos $_SESSION en MySQL

La línea 98 de common.inc coincide con al linea 3 del primer pastebin que he puesto en el post inicial.

Se que el error esta ahí, pero no entiendo porque si borro esas líneas con el navegador abierto, inicio sesión dentro de mi web y vuelvo a copiar esas lineas el script funciona. El problema surge que cuando cierro le navegador (que no la pestaña, si cierro esa pestaña y vuelvo a entrar sigue funcionando) y lo vuelvo a abrir, todo el script deja de funcionar.

Gracias y un saludo.

Etiquetas: almacenar, mysql, registro, session, variable
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 23:42.