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.