Foros del Web » Programando para Internet » PHP »

session activa a traves de enlaces y hacer consultas con el id de la session ?

Estas en el tema de session activa a traves de enlaces y hacer consultas con el id de la session ? en el foro de PHP en Foros del Web. Buenas a todos, no se si el titulo este claro... Pero hace dias tengo este problema y no he podido solucionarlo Cuando una persona va ...
  #1 (permalink)  
Antiguo 25/04/2011, 12:19
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
session activa a traves de enlaces y hacer consultas con el id de la session ?

Buenas a todos, no se si el titulo este claro...
Pero hace dias tengo este problema y no he podido solucionarlo

Cuando una persona va a ingresar al sistema: ingresa usuario y contraseña

el boton va a autenticacion.php, donde tengo:

Código PHP:
Ver original
  1. <?php
  2. require_once('funciones.php');
  3.  
  4. $usuario=$_POST['usuario'];
  5. $clave=$_POST['clave'];
  6.  
  7. if (login_in($usuario, $clave)==1)
  8. {
  9.    
  10.     if ($usuario=="admin"){
  11.         $_SESSION['valid_user'] = $usuario;
  12.        
  13.         header("Location: administracion.php");
  14.     }
  15.     if ($usuario!="admin")
  16.     {
  17.         $_SESSION['estud'] = $usuario;
  18.         header("Location: admin.php?cedula=$usuario");
  19.  
  20.     }
  21. }
  22. else
  23. {
  24. echo "No existe un logueo";
  25. }
  26.  
  27. ?>

En el archivo funciones tengo parametros de conexion asi como menus creados

Evidentemente el sistema funciona en el logueo
Sin embargo, cuando una persona ingresa en la session ['estud'],
tengo problemas para mantener dicha sesion activa

cuando ingresa a esa sesion va a admin.php


donde me hace una primera consulta con el nombre de la persona que inicia la sesion, hasta ahi normal

el problema radica en los enlaces a traves de los cuales quiero hacer mas selects

este es el codigo de admin.php?, donde tengo el enlace:

Código PHP:
Ver original
  1. <?php session_start();
  2. require_once('funciones.php');
  3. $_SESSION['cedula'] = $cedula;
  4. if (isset($_SESSION['estud']))
  5. {
  6. ?>
  7. <html>
  8.  
  9. <head>
  10.  
  11. </head>
  12.  
  13. <body>
  14.  
  15. <a href="form_data_personal.php?cedula=<? echo $_SESSION["cedula"] ?>">INFORMACION PERSONAL</a>
  16.  
  17.  
  18.  
  19. </body>
  20. </html>
  21. <?
  22. }
  23. else
  24. {
  25. not_auth();
  26. }
  27. ?>

De esa forma envio el enlace

recibiendolo en form_data_personal.php, donde tengo:


Código PHP:
Ver original
  1. require_once('funciones.php');
  2.  
  3. if (isset($_SESSION['estud']))
  4. {
  5.  
  6.  
  7. ?>
  8.  
  9. //aca imuestro el id de la sesion
  10.  
  11. <? print_r($_SESSION) ?>
  12.  
  13. //aca hago una consulta
  14.  
  15. <?
  16.  
  17. include('conexion.php')
  18.    
  19.     $qry = "SELECT * FROM (egresado e INNER JOIN ciudad c USING (COD_CIU)) INNER JOIN situacion_laboral sl USING(COD_SIT_LAB) WHERE e.NUM_CED_EGR = '$cedula'";
  20.     $resultado = mysql_query ($qry, $bd);
  21.    
  22.     if ( !$resultado )
  23.         die ("Error ejecutando la consulta");
  24.    
  25.     $num_filas = mysql_num_rows($resultado);
  26.    
  27.     if ($num_filas > 0){       
  28.         $fila = mysql_fetch_array($resultado);
  29.         }
  30.         ?>
  31.  
  32. <?
  33. }
  34. else
  35. {
  36. not_auth();
  37. }
  38. ?>

Como hago una consulta con el id de la sesion que estoy recibiendo?

haciendolo como lo muestro, no me muestra resultados

Agradezco me puedan indicar y me digan si la forma como coloco el enlace es correcta....muchas gracias....
  #2 (permalink)  
Antiguo 25/04/2011, 17:05
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: session activa a traves de enlaces y hacer consultas con el id de la sessi

no veo por ningun lado donde estas tomando el valor de $cedula, creo que te falta ese detalle antes del query, que seria $cedula = $_GET['cedula'];
  #3 (permalink)  
Antiguo 26/04/2011, 18:15
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: session activa a traves de enlaces y hacer consultas con el id de la sessi

La consulta la tengo bien, ya que estoy recibiendo la variable $cedula

Código PHP:
Ver original
  1. ?
  2.  
  3. $cedula=$_GET['cedula'];
  4.  
  5.  
  6. include("conexion.php");
  7.    
  8.     $qry = "SELECT * FROM (egresado e INNER JOIN ciudad c USING (COD_CIU)) INNER JOIN situacion_laboral sl USING(COD_SIT_LAB) WHERE e.NUM_CED_EGR = '$cedula'";
  9.     $resultado = mysql_query ($qry);
  10.    
  11.     if ( !$resultado )
  12.         die ("Error ejecutando la consulta");
  13.    
  14.     $num_filas = mysql_num_rows($resultado);
  15.    
  16.     if ($num_filas > 0){       
  17.         $fila = mysql_fetch_array($resultado);
  18.         }
  19.         ?>


No se, pero cuando me paro sobre el enlace:

Código PHP:
Ver original
  1. <a href="form_data_personal.php?cedula=<? echo $_SESSION["cedula"] ?>">INFORMACION PERSONAL</a>

No se ve que este enviando el valor de $_SESSION["cedula"]

Sin embargo, en el archivo form_data_personal.php

Lo imprimo y efectivamente si lo recibe

Cual puede ser entonces el problema?

Lo que necesito es que a traves de esa variable SESSION["cedula"] que paso en el anterior enlace, hacer un query a mi base de datos, como lo puedo hacer?


Agradezco me puedan indicar....gracias
  #4 (permalink)  
Antiguo 26/04/2011, 18:26
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: session activa a traves de enlaces y hacer consultas con el id de la sessi

Jummmmmmmm [SOLUCIONADO]

Era un simple y tonto problema en:

if ($num_filas > 0){
$fila = mysql_fetch_array($resultado);
}
?>

Ese if debo cerrarlo mas abajo...despues de mostrar todos los resultados

Gracias...........

Etiquetas: enlaces, session
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 03:54.