Foros del Web » Programando para Internet » PHP »

Porque pierdo el ID de conexion a la BD

Estas en el tema de Porque pierdo el ID de conexion a la BD en el foro de PHP en Foros del Web. Mis saludos, Intento mostrar un informe q es sacado de una BD y antes chequeo una variable de sesion para ver si el usuario ha ...
  #1 (permalink)  
Antiguo 18/07/2004, 16:32
 
Fecha de Ingreso: julio-2004
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
Porque pierdo el ID de conexion a la BD

Mis saludos,

Intento mostrar un informe q es sacado de una BD y antes chequeo una variable de sesion para ver si el usuario ha sido loggeado, si no redireciono a otra pagina pidiendole los datos(usuario, contraseña) y trata de autentificarlo en el servidor BD, y ahora viene el problema cuando lo mando para la pagina q muestra el reporte (suponiendo q se autentifico bien) pierdo el ID de la conexion q hice anteriormente, lei en la ayuda de php q el ID de conexion no se puede guardar en una variable de sesion y bueno ahi me quede atorado, no se q hacer... La idea es q el usuario se tenga q autentificar una sola vez, despues puede ver cuantas veces quiera el informe si pedir los datos...

Espero por la ayuda de ustedes
Gracias de antemano
Efren
  #2 (permalink)  
Antiguo 18/07/2004, 17:49
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Lo que puedes hacer es, entregar el ID de usuario con la contraseña, en variables de sesión, si se puede hacer por medio de
Código PHP:
<? session_register();
session_start(); ?>
Con eso puedes gardar las variables que quieras tanto para leerlas como escribirlas, y así crear nuevas variables.
  #3 (permalink)  
Antiguo 18/07/2004, 19:36
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, México
Mensajes: 50
Antigüedad: 13 años, 6 meses
Puntos: 0
Mira, creo que no te habian entendido en el post anterior.
La solución a tu problema es simplemente volver a conectarte a la BD creando una nueva conexión con la función mysql_connect(bla bla bla) creo que ya sabes usarla. ESTO SE DEBE HACER EN CADA PÁGINA EN LA QUE OCUPES ACCESO A LA BD.

También te recomiendo que cuando termines de hacer todas las consultas a la BD necesarias en cada página cierres la conexión con la función mysql_close(<identificador de conexión>)

Saludos.
__________________
JAEC

Última edición por Jaec; 18/07/2004 a las 19:38
  #4 (permalink)  
Antiguo 19/07/2004, 09:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
PHP cierra toda conexión a BD, sockets y librera memória usada en tu script al finalizar la ejecución de este .. Recuerda que PHP es un lenguaje "cliente-servidor" donde a PHP se le "pide" una página (vía el servidor HTTP en estos casos) y este se ejecuta (conectando a tu BD .. etc) .. pero al terminar el proceso, todo se elimina. Si hay algo que quieres usar en "común" en vários scripts para eso ya usas sesiones, pero un "link" de conexión no se puede propagar, debes conectar otra vez a tu BD. Si usas conexiones persistentes sería tu BD la que gestione si se ha de "reconectar" o seguir con un link anterior (iniciado por el cliente que lo pidío en primera instancia) a la BD . .pero igual hay que usar el mismo código de conexión (xxx_pconnect()). En ese caso de conexiones persistentes es tu motor de BD el que decide si se hace denuevo la conexión (negociar: usuario/password para autentificarse y seleccionar la BD) no PHP.

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 13:15.