Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2013, 10:57
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
como enviar session en un header

Hola a todos, estoy haciendo el inicio de sesion pero tengo inconvenientes con la sesion, se esta perdiendo..Primero comento de q forma lo hago porque tambien me gustaria recibir asesoria si esta es una forma correcta de hacerlo:

En mi index solicito usuario y contraseña, de ahi voy a otro archivo donde validoel usuario y contraseña y dependiendo del resultado redireccion con header a otra pagina o simplemente envio por GET un mensaje de error a la pagina index

Asi en el codigo:

index.php

Código PHP:
Ver original
  1. <div class="login">
  2. <form id="iniciosesion" method="post" action="login.php">
  3. <div >
  4. <br/>
  5. <input type="submit" id="login" name="login" value="Iniciar sesion" />
  6. </div>
  7. <div >
  8. Contraseña
  9. <br/>
  10. <input type="password" name="password" />
  11. </div>
  12. <div >
  13. Usuario
  14. <br/>
  15. <input type="text" name="user" />
  16. </div>
  17. </form>
  18.  
  19. </div>

login.php
Código PHP:
Ver original
  1. require("conexion.php");
  2. $db = conectar();
  3. $user=$_POST['user'];
  4. $pass=$_POST['password'];
  5. $sql="SELECT * FROM usuarios WHERE COD_USU=? AND PAS_USU=?";
  6. $result = $db->prepare($sql);
  7. $result->execute(array($user, sha1($pass)));
  8. $numfilas = $result->rowCount();
  9. if($numfilas==0)
  10. header("Location: index.php?l_error=Usuario Invalido");
  11. else
  12. {
  13.   $_SESSION["login"] = $user;  
  14.   header ("Location: main");  
  15. }

En la carpeta main tengo otro index.php donde ya armo el menu:

Código PHP:
Ver original
  1. <!DOCTYPE HTML>
  2. <head>
  3.     <meta http-equiv="content-type" content="text/html" />
  4.     <meta name="author" content="www.intercambiosvirtuales.org" />
  5.  
  6.     <title>Sofware - Iniciar sesion</title>
  7.        
  8.          <link rel="stylesheet" href="../css/estilos.css" type="text/css" media="screen" />
  9.         <link rel="stylesheet" href="../css/estilo_menu.css" type="text/css" media="screen" />
  10.  
  11. </head>
  12.  
  13. <body>
  14. <div class="elemento"></div>
  15.  
  16.  
  17. <div class="menu">
  18. <?php
  19. include("../menu.php");
  20. ?>
  21.  
  22. </div>
  23. <div class="cuerpo">
  24. <iframe name="contenido" frameborder="0"  style=" width: 96%; min-height:900px;  text-align: center;"  >
  25. </div>
  26. </body>
  27. </html>
El archivo menu.php muestra el menu, este menu es traido desde la base de datos y recarga en el iframe contenido toda la informacion..Pero el problema es que en cada archivo que recargo en ese iframe no existe la session de usuario..Que estoy haciendo mal?

Es recomendable hacer la validacionn de logueo en otro archivo? Porque tambien podria hacerlo sobre el mismo index donde pido el usuario y contraseña, pero necesito primero la opinion en este foro..Agradezco me puedan colaborar..