Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Misterio_S en 20 Diciembre 2014, 04:30 am



Título: [Resuelto] ayuda, uso de variables de sesion en php
Publicado por: Misterio_S en 20 Diciembre 2014, 04:30 am
estoy teniendo problemas con las variables de sesion, tengo un php principal que muestra una imagen y enlaces hacia otras secciones "mis_notas, mis_contactos, recetas" la primera ves que alguien entra en principal.php muestra "hola, invitado inicia sesion", tengo otro php acceso.php aqui escribes usuario/contraseña para logearse y guardar en las variables de sesion la conexion mysql (mysql_connect), nombre , apellido, y demas datos recogidos de la basedatos y te vuelve a mandar a principal.php
Código:
require principal.php
y esta ves muestra "hola, juan carlos garcia " que es el usuario logeado (hasta aqui todo bien), ahora de aqui (principal.php) intento entrar a las otras secciones "mis_notas, mis_contactos" , pero parece que el php no reconoce las variables de sesion , al usar esas variables sale :

"undefined variable nombre en c:\xamp\htdocs..."
undefined variable apellido en c:\xamp\htdocs...

trate cambiar varias cosas pero no hay solucion , ahora sale:

Warning: mysql_query() expects parameter 2 to be resource, integer given in C:\xampp\htdocs\...


esto es parte del codigo
Código
  1. $_SESSION['link'] = mysql_connect($Host,$Usuario,$Clave);
  2.  
  3.    if ($_SESSION['link']==true)
  4.    {
  5.       echo "conexion correcta";
  6.         $_SESSION['apellido'] = ...
  7.  
  8.  
  9.  
como ven guardo la conexion en una variable sesion pero despues cuando consulto ese valor 'link' desde mis_notas.php ya no existe, nisiquiera existe la sesion php, para comprobar la sesion uso esto:
Código
  1. <?php
  2. if (strlen(session_id())> 0)
  3. {
  4.    echo "ya existe una sesion anterior<br>";
  5. }
  6. else
  7. {
  8.    echo "no hay sesion iniciada<br>";

no se , pero parece que las variables de sesion tienen algunas limitaciones o algo asi, alguien por favor ayudeme o expliqueme cual podria ser el problema.



edit:

estuve viendo el valor que retorna session_id() despues de llamar a session_start() y siempre es el mismo, parece que el problema esta más en guardar la conexion mysql en la variable de sesion.


Título: Re: ayuda, uso de variables de sesion en php
Publicado por: engel lex en 20 Diciembre 2014, 04:56 am
tendŕas que mostrar un poco más de tu php


para ver completo el contenido de la varible de sesion usa
Código
  1. echo "<pre>";
  2. print_r($_SESSION);
  3. echo "</pre>";


con eso puedes ver toodo el contenido... ve que cargas y ue te llega y avisas


Título: Re: ayuda, uso de variables de sesion en php
Publicado por: Misterio_S en 20 Diciembre 2014, 05:19 am
si eso estoy haciendo, y ya note que el problema es la variable de conexion de tipo recurso (resource creo), y parece que ese tipo variables no se guardan del todo bien en las variables de sesion, porque cuando probe las demas variables tipo texto funcionan normal, queria ahorrame conectar y consultar  a la base de datos por cada php y por eso quise guardar la conexion en las variables de sesion ,pero pues ni modo lo hare una conexion por cada php, encontre algunas consultas en otros foros con el mismo problema.

http://www.forosdelweb.com/f68/guardar-ojeto-conexion-sesion-589219/ (http://www.forosdelweb.com/f68/guardar-ojeto-conexion-sesion-589219/)

gracias.


Título: Re: (solucionado) ayuda, uso de variables de sesion en php
Publicado por: engel lex en 20 Diciembre 2014, 05:23 am
efectivamente, al finalizar el script se cierra forzosamente el mysql, y el recurso que es el "instante de conexion" se vence... tienes que abrir el mysql en cada conexion