Foros del Web » Programando para Internet » PHP »

Problema con web php con paginación.

Estas en el tema de Problema con web php con paginación. en el foro de PHP en Foros del Web. Hola buenas a todos, quería ver si me resolviais un problema. Estoy haciendo una galeria de imagenes y para ello he utilizado un tutorial para ...
  #1 (permalink)  
Antiguo 25/06/2010, 02:38
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Problema con web php con paginación.

Hola buenas a todos,
quería ver si me resolviais un problema.

Estoy haciendo una galeria de imagenes y para ello he utilizado un tutorial para subir imagenes a mysql y lo he mezclado con otro de paginación. También usa sesiones.

Por ahora, lo que hace es entras como usuario registrado y puedes subir fotos o listar tus fotos.

En el explorer funciona perfecto pero en firefox cuando cambio de pagina suele sacarme primero el header de la pagina y codigo html sin formato. Al recargar ya se ve bien.
Pego un ejemplo de lo que me sale.

Código:
HTTP/1.1 200 OK
Date: Fri, 25 Jun 2010 08:35:40 GMT
Server: Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 318
Keep-Alive: timeout=5, max=98
Connection: Keep-Alive
Content-Type: text/html

<img src="ver.php?id=3"><br> Nombre archivo: aireacondicionado.jpg<br> Tipo archivo (MIME formato): image/jpeg<br> Peso: 9543 bytes.<br><br><p>Número de registros encontrados: 3<br>Se muestran páginas de 2 registros cada una<br>Mostrando la página 2 de 2</p> <br><a href = 'listar_imagenesf.php?pagina=1'>1</a>2
Si necesitais el codigo lo subo decidmelo que lo pongo.
A ver si alguien me ayuda.
Gracias de antemano.
  #2 (permalink)  
Antiguo 25/06/2010, 03:57
 
Fecha de Ingreso: junio-2005
Ubicación: Barcelona
Mensajes: 458
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Problema con web php con paginación.

Pon codigo a ver si podems hacer algo porque así en frio no se que puede ser

Saludos!
__________________
La ficción es y será mi única realidad
  #3 (permalink)  
Antiguo 25/06/2010, 06:40
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con web php con paginación.

A ver te pongo el codigo.

Supongo que el problema estará en la parte de listar_imagenesf, que es donde esta la paginación.


index.php
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inscripción Usuarios</title>
</head>
<?php
$contenido = $_GET['contenido'];
if(isset($contenido))
	echo "$contenido. <br>";
?>

<body>
<form id="form1" name="form1" method="post" action="entrausuario.php">
<label for="nombre">Nombre</label>
<input type="text" name="nombre" id="nombre" />
<label for="pass">Password</label>
<input type="text" name="pass" id="pass" />
<input type="submit" name="enciar" id="enciar" value="Enviar" />
</form>
</body>
</html> 
entrausuario.php
Código PHP:
<?php 
    
if(!($conexion=mysql_connect("localhost","root","17del11")))
    {
        
header("location: index.php?contenido=error conexion en DB");
    }
    
mysql_select_db("test",$conexion);
    
$nombre $_POST['nombre'];
    
$password $_POST['pass'];
    
$sql "SELECT id,password FROM users WHERE nombre = '".$nombre."'";
    
$consulta mysql_query($sql$conexion);    
    if(
mysql_num_rows($consulta) < 1)
    {
        
header("location: index.php?contenido=no existe el usuario");
    }
    
$resultado mysql_fetch_assoc($consulta);
    if(
$resultado['password'] != $password);
        
header("location: index.php?contenido=error en el password");
    
session_start();
    
$_SESSION['idsession'] = $resultado['id'];
    
header("location: formulariof.php");    

?>
formulariof.php
Código PHP:
<?php 
session_start
();
if(!isset(
$_SESSION['idsession']))
    
header("location: index.php?contenido= usuario no autorizado");
?>    
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo 
$_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertarf.php">
Archivo: <INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
<form name="form1" method="post" action="listar_imagenesf.php">
  <input type="submit" name="listar" id="listar" value="Listar Fotos">
</form>
</BODY>
</HTML>
insertarf.php
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['idsession']))
    
header("location: index.php?contenido= usuario no autorizado");

//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulariof.php?proceso=falta indicar fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion mysql_connect("localhost","root","17del11") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("test",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];
$usuario $_SESSION['idsession'];

//insertamos los datos en la BD.
$consulta_insertar "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo, userid) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo','$usuario')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenesf.php");  // si ha ido todo bien
exit;
?>
listar_imagenesf.php
Código PHP:
<?php
    session_start
();
    if(!isset(
$_SESSION['idsession']))
        
header("location: index.php?contenido= usuario no autorizado");
    
$tamanyo_pagina 2;
    
    if(isset(
$_GET['pagina']))
    {
        
$pagina $_GET['pagina'];
        
$inicio = ($pagina 1) * $tamanyo_pagina;
    }
    else
    {
        
$pagina 1;
        
$inicio 0;
    }
    
    
        
    
mysql_connect("localhost","root","17del11") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("test") or die ("no se ha podido seleccionar la BD");
$sql "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos WHERE userid= '".$_SESSION['idsession']."' LIMIT ".$inicio.", ".$tamanyo_pagina;
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta");

    
    while (
$registro=mysql_fetch_assoc($consulta)){
        echo 
"<img src=\"ver.php?id=".$registro['id']."\">";
        echo 
"<br> Nombre archivo: ".$registro['archivo_nombre'];
        echo 
"<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
        echo 
"<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
    }



    
$sql"SELECT * FROM archivos WHERE userid= '".$_SESSION['idsession']."'";
    
$consulta mysql_query($sql) or die("No se pudo ejecutar la consulta");
    
//$result= mysql_fetch_assoc($consulta);
    
    
    
    
$num_total_registros mysql_num_rows($consulta); 
    
$total_paginas ceil($num_total_registros $tamanyo_pagina); 
    
    echo 
"<p>Número de registros encontrados: " $num_total_registros "<br>";
    echo 
"Se muestran páginas de " $tamanyo_pagina" registros cada una<br>";
    echo 
"Mostrando la página " $pagina " de " $total_paginas "</p> <br>"
    
    
    for(
$i=1$i <= $total_paginas$i++)
    {
        if(
$i==$pagina)
            echo 
$i" ";
        else
            echo 
"<a href = 'listar_imagenesf.php?pagina=".$i."'>".$i."</a>";
            
    }

?>
ver.php
Código PHP:
<?php
if(isset($_GET['id'])) {
    
// you may have to modify login information for your database server:
    
$conexion=mysql_connect("localhost","root","17del11") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("test") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT archivo_nombre,archivo_binario,archivo_tipo,archivo_peso FROM archivos WHERE id='".$_GET['id']."'";
    
$consulta mysql_query($sql,$conexion);

    
$datos mysql_result($consulta,0,"archivo_binario");
    
$tipo mysql_result($consulta,0,"archivo_tipo");
    
$nombre mysql_result($consulta,0,"archivo_nombre");
    
$peso mysql_result($consulta,0,"archivo_peso");

    
header("Content-type: $tipo");
    
header("Content-length: $peso"); 
    
header("Content-Disposition: inline; filename=$nombre"); 

   echo 
$datos;
}
?>
Bueno ahi esta todo...
A ver si podeis aunque sea guiarme de porque puede ocurrir eso :)

Gracias

PD: no se si puede tener que ver con como he usado las sesiones. No controlo mucho y no se si esta bien.

Última edición por elessarm; 25/06/2010 a las 06:47

Etiquetas: Ninguno
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 17:46.