Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2011, 07:52
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Problema con enlace en php

Buenas a todos, necesito ayuda en un problema que no he podido resolver

He creado dos secciones de usuarios, una para el administrador y otra para estudiantes y para cada uno de esos dos perfiles, tengo un menu distinto
El problema radica en los enlaces del menu estudiantes

Cuando el estudiante inicia sesion, el boton tipo submit va a autenticacion.php . para cargar la sesion del usuario, como es estudiante se carga el archivo formulario_egresado.php

aca autenticacion.php:

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

ahora como se dio un inicio de sesion se carga formulario_egresado?optegresado=$cedualdelusuario, donde tengo unas imagenes a traves de las cuales empiezo a ver el resto de informacion de la persona, pasando por POST el campo cedula


Código PHP:
Ver original
  1. require_once('funciones.php');
  2. if (isset($_SESSION['estud']))
  3. {
  4. ?>
  5.  
  6. <html>
  7. <head>
  8. <title>Perfil egresado</title>
  9. </head>
  10. <body>
  11. <?
  12.     $bd = mysql_connect ("localhost", "root", "root");
  13.     if ( !$bd )
  14.         die ("Error en la conexion con el DBMS");
  15.    
  16.     $base_datos = "egresados";
  17.     if ( !mysql_select_db ($base_datos, $bd) )
  18.         die ("Error seleccionando la base de datos");
  19.    
  20.     $query = "SELECT NUM_CED_EGR, NOM_EGR, APE_EGR FROM egresado WHERE NUM_CED_EGR = '$optegresado'";
  21.    
  22.     $resultado_general = mysql_query ($query, $bd);
  23.    
  24.     if ( !$resultado_general )
  25.         die ("Error ejecutando la consulta");
  26.    
  27.     $num_filas_general = mysql_num_rows($resultado_general);
  28.    
  29.     if ($num_filas_general > 0){        // Si existe el registro
  30.         $fila_data = mysql_fetch_array($resultado_general);
  31.        
  32.         }
  33.                            
  34. ?>
  35. //aca muestro el menu
  36.  
  37.  <? menu_egresado(); ?>
  38.  
  39. //ahora tengo la imagen:
  40.  
  41. <form action="form_data_personal.php" method="post" name="form2" id="form2">
  42. <input type="image" src="imagenes/user_256.png" height="180"  width="215"  onClick="javascript:form2.submit()" />
  43.  <input readonly name="cedula" type="hidden" id="cedula"  value="<? echo $fila_data["NUM_CED_EGR"]; ?>">
  44.             </form>    
  45. </body>
  46. </html>
  47. <?
  48. }
  49. else
  50. {
  51. not_auth();
  52. }
  53. ?>

en el archivo funciones.php tengo el menu del usuario egresado, el cual a traves de una funcion lo muestro en el archivo formulario_egresado?.php


Código PHP:
Ver original
  1. function menu_egresado(){
  2.  
  3. ?>
  4. <ul id="nav">
  5.  <li><a href="formulario_egresado.php?optegresado=<?php echo $cedula;?>">Inicio</a></li>
  6.   <li><a href="#">Mi cuenta</a></li>
  7.  <li><a href="logout_egre.php">Finalizar sesion</a></li>
  8. </ul>
  9.  <?
  10. }

y mi problema es que cuando yo estoy en form_data_personal.php y hago clic en Inicio, me borra la informacion del egresado, es decir, vuelve al inicio pero no aparece la sesion, no se si mi problema este en:

<a href="formulario_egresado.php?optegresado=<?php echo $cedula;?>">

si le doy como parametro nuevamente cedula, a que se debe este problema, como puedo crear este enlace para que no me borre los datos del usuario?

Agradezco la ayuda