Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2011, 16:36
novoweb
 
Fecha de Ingreso: abril-2010
Ubicación: Calama
Mensajes: 58
Antigüedad: 14 años
Puntos: 0
Pregunta Dudas con el paso de Sesiones

Hola PHPriends, it´s me otra vez. Estoy creando un álbum de fotos con sistema de registro y login de usuario. El código me funciona muy bien. Aprovecho de dejarles el código por si alguien quiere usarlos.

El asunto que me aqueja es el siguiente: Quiero unir los códigos del álbúm en sí con el sistema de usuario, de modo que, por ejemplo, el usuario acceda a su propio álbum de fotos, y pueda subir imágenes solo si está registrado. El sistema de usuario y el álbum funcionan muy bien por separado, pero quiero unirlos.

¿Cómo pasar el ID de usuario al álbum?

Estos son los códigos para el sistema de usuarios:



index.htm

Código HTML:
Ver original
  1. <title>MiWeb | Login</title>
  2. </head>
  3. <h1>Inicia Sesi&oacute;n</h1>
  4. <form name="fomr1" method="post" action="analisis.php">
  5. Username: <input name="nombreUsuario" type="text" id="username"><br>
  6. Password: <input name="passwordUsuario" type="password" id="password"><br><br>
  7. <input type="submit" name="Submit" value="Iniciar Sesi&oacute;n">
  8. </form>
  9. </body>
  10. </html>



analisis.php

Código PHP:
Ver original
  1. <?php
  2. include("includes/connect.inc.php"); //conectar a base de datos
  3. if(!($_POST['nombreUsuario'] || $_POST['passwordUsuario'])) {
  4.     echo "Complete todos los campos";
  5.     }   elseif(!$_POST['passwordUsuario'])  {
  6.     echo "Ingrese password";
  7.     }   elseif(!$_POST['nombreUsuario'])    {
  8.     echo "Ingrese nombre";
  9.     }   else    {
  10.     $username=$_POST['nombreUsuario'];
  11.     $password=$_POST['passwordUsuario'];
  12.     $query=mysql_query("SELECT nombreUsuario,passwordUsuario FROM usuarios WHERE nombreUsuario='$username' and passwordUsuario='$password'");
  13.     $data=mysql_fetch_array($query);
  14.     if($data['nombreUsuario'] != $username || $data['passwordUsuario'] != $password)    {
  15.         echo "Datos incorrectos";
  16.         }   else    {
  17.         $_SESSION['s_nombreUsuario']=$data['nombreUsuario'];
  18.         header("Location:mi_cuenta.php");
  19.         }
  20.     }
  21. ?>



mi_cuenta.php

Código PHP:
Ver original
  1. <?php
  2. if(!isset($_SESSION['s_nombreUsuario']))    {
  3.     header("Location:index.htm");
  4.     }   else    {
  5.     echo ("Hola <strong>".$_SESSION['s_nombreUsuario']."</strong>, est&aacute;s en tu p&aacute;gina privada.");
  6.     echo "<br />";
  7.     echo "Accede a tu <a href='cargar_archivo.htm'>&Aacute;lbum de im&aacute;genes</a>.";
  8.     echo "<br />";
  9.     }
  10. ?>
  11. <html>
  12. <head><title><?php echo "MiWeb | ".$_SESSION['s_nombreUsuario']."";?></title></head>
  13. <body>
  14. <br />
  15. <form name="form2" method="post" action="unsession.php">
  16. <input type="submit" name="finsesion" value="Cerrar Sesi&oacute;n">
  17. </form>
  18. </body>
  19. </html>



unsession.php

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['finsesion']))  {
  3.     session_unset();
  4.     header("Location:index.htm");
  5.     exit;
  6.     include("includes/close.inc.php");
  7. }
  8. ?>



Estos son lo códigos para el álbum de fotos. Quiero que estos trabajen juntos con el sistema de usuarios.

cargar_archivos.htm

Código HTML:
Ver original
  1. <head><title>Album de fotos</title>
  2. </head>
  3. <h1>Album de fotos</h1>
  4. <h3>Cargar archivo</h3>
  5. <form action="analisis_cargar.php" method="post" enctype="multipart/form-data">
  6. <input type="file" name="archivo"><br /><br />
  7. <input type="submit" name="Submit" value="Cargar archivo">
  8. </form>
  9. </body>
  10. </html>



analisis_cargar.php

Código PHP:
Ver original
  1. <?php
  2. $ruta="images/"; //indicar ruta del archivo
  3. if(isset($_FILES['archivo']) && $_FILES['archivo']['size'] > 0) {
  4.     $mostrar="";
  5.     $tamanoMax=300000;//tamaño en bytes
  6.     $nombreTemp=$_FILES['archivo']['tmp_name'];
  7.     $nombreArchivo=$_FILES['archivo']['name'];
  8.     $tamanoArchivo=$_FILES['archivo']['size'];
  9.     $tipoArchivo=GetImageSize($nombreTemp);
  10.     if($tipoArchivo[2]==1 || $tipoArchivo[2]==2 || $tipoArchivo[2]==3)  {//GIF, JPEG o PNG
  11.         if($tamanoArchivo <= $tamanoMax)    {
  12.             if(move_uploaded_file($nombreTemp, $ruta . $nombreArchivo)) {
  13.                 echo "<p>Archivo cargado. Tama&ntilde;o: ".$tamanoArchivo." bytes. Nombre: ".$nombreArchivo.".</p>";
  14.                 $mostrar=$ruta.$nombreArchivo;
  15.             }   else    {
  16.                 echo "<p>No se pudo cargar el archivo.</p>";
  17.             }
  18.         }   else    {
  19.             echo "<p>El archivo tiene m&aacute;s de ".$tamanoMax." bytes;es demasiado grande.</p>";
  20.         }
  21.     }   else    {
  22.         echo "<p>No es un archivo de im&aacute;gen v&aacute;lido.</p>";
  23.     }
  24.     echo "<form action='album.php' method='post'><input type='submit' value='OK'></form>";
  25. }
  26. if($mostrar != '')  {
  27.     echo "<img src='".$mostrar."' />";
  28. }
  29.  
  30. ?>



album.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. echo "Volver a <a href='mi_cuenta.htm'>Mi Cuenta</a>";
  4. echo " | ";
  5.  
  6. ?>
  7.  
  8.  
  9. <html>
  10. <head><title><?php echo "MiWeb | ".$_SESSION['s_nombreUsuario']."";?></title></head>
  11. <body>
  12. <br />
  13. <form name="form2" method="post" action="unsession.php">
  14. <input type="submit" name="finsesion" value="Cerrar Sesi&oacute;n">
  15. </form>
  16. </body>
  17. </html>
  18.  
  19.  
  20. <?php
  21.  
  22. $ruta="images/"; //indicar ruta del archivo
  23. if(is_dir($ruta))   {
  24.     if($dd=opendir($ruta))  {
  25.         while(($file=readdir($dd)) !== false)   {
  26.             if(filetype($ruta. $file) == 'file')    {
  27.                 $imagenes[] = $ruta.$file;
  28.             }
  29.         }
  30.     }
  31. }
  32.  
  33. echo "<table border='0' cellspacing='0' cellpadding='4' align='center'>";
  34. echo "<tr>";
  35.  
  36. foreach($imagenes as $imagen)   {
  37.     $contadorImagenes++;
  38.     $contadorColumnas++;
  39.    
  40.     echo "<td><img src='../".$imagen."' width='200' border='0' /></td>";
  41.     if($contadorColumnas == 4 && $contadorImagenes != count($imagenes)) {
  42.         echo "</tr><tr>";
  43.         $contadorColumnas=0;
  44.     }
  45. }
  46. closedir($dd);
  47. echo "</tr>";
  48. echo "</table>";
  49.  
  50.  
  51. ?>


Bien, estos son los códigos. En el archivo "album.php" hay un enlace para volver a la página principal de la cuenta del usuario. ¿Cómo hacer para que la página del álbum solo se pueda abrir si el usuario está registrado? ¿Y qué código falta para que al pinchar el enlace, se dirija al usuario a su propia cuenta?

Ojalá puedan guiarme y decirme cómo implementar el sistema de usuario al álbum.