Mostrar mensajes de los tema de un foro PHP

Galactus
06 de Noviembre del 2003
Hola

En mi necesidad de aprender PHP de forma autodidacta me he topado con numerosos problemas que poco a poco pude ir resolviendo, pero ahora me tope con uno que no se como resolver.

Estoy siguiendo un buen tutorial que encontre en zonaPHP[punto] en el que se explica al detalle como crear un foro en PHP.

Me tope con el problema de mostrar los mensajes de los temas. Cuando doy al enlace para que me muestre el contenido del mensaje este me muestra todos los mensajes de todos los temas.

Creo que el problema esta en el identificador ya que a todos los temas que creo me muestra como identificador 0 y tampoco tengo muy claro como pasar el identificador para que seleccione los resultados correspondientes a cada tema.

El codigo que esoy usando es el siguiente:

NOTA: Estoy usando TemplatePower, no creo que sea necesario que muestre aqui los templates pero si fuera asi solo tendriais que indcarmelo.


caja_temas.php


<?php
//==============================
// Script para mostrar los temas
//==============================

//Archivos necesarios
require_once ("config.php");
require_once ("clases/class.TemplatePower.inc.php");

//Llamando al template y cargandolo
$t = new TemplatePower("templates/caja_temas.tpl");
$t -> prepare();

//Seleccionando y enviando la peticion a Base de Datos
mysql_select_db(foro_ejemplo);
$query = "SELECT autor, titulo, ult_respuesta FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC";
$respuesta = mysql_query ($query);

//Recogiendo datos de la Base de Datos y pasandolos al Template
if (mysql_num_rows($respuesta)>0) {
while ($Vector = mysql_fetch_object($respuesta)) {
$t -> newBlock(caja_temas);
$t -> assign (array(
titulo_tema => $Vector -> titulo,
autor => $Vector -> autor,
ult_respuesta => $Vector -> ult_respuesta));
}
}
else {

//Muestrame esto si los campos de la Base Datos estan vacios
echo "<br>n";
echo "<tr>n";
echo "<td align=center>NO SE ENCONTRO NINGUN TEMA PARA MOSTRAR</td>n";
echo "</tr>n";
//Se cierra la conexion con la Base de Datos
mysql_close();
}

//Imprimiendo en pantalla
$t -> printToScreen();

//Cerrando conexion con base de datos mysql
mysql_close();
?>

form_temas.php

<?php
//==========================
// Script que recoge los datos del formulario para nuevos temas
//==========================

//Archivos requeridos
require_once ("config.php");

//Asegurandose que las variables provienen del formulario
$autor = $_POST["autor"];
$titulo = $_POST["titulo"];
$mensaje = $_POST["mensaje"];
$ident = $_POST["identificador"];

//Validaciones
if (empty($autor)) $autor = "An&#65533;nimo";
if (empty($titulo)) $titulo = "Sin Titulo";

//Evitando incursion de codigo html
$mensaje = htmlentities($mensaje);

//Seleccionando y enviando la peticion a Base Datos
mysql_select_db (foro_ejemplo);
$query = "INSERT INTO foro ( autor, titulo, mensaje, identificador, fecha, ult_respuesta) VALUES ('$autor', '$titulo', '$mensaje', '$ident', NOW(), NOW())";
mysql_query($query) or die ("Se produjo un error al enviar el mensaje:" .mysql_error);
$ult_id = mysql_insert_id($Conectar);

if (!empty($ident)) {
$query = "UPDATE foro SET respuestas=respuestas+1, ult_respuesta=NOW() WHERE id = '$ident'";
mysql_select_db (foro_ejemplo);
$respuesta = mysql_query($respuesta);
header ("location:index.php?id=2&id=$ident#ult_id"); //NOTA: De esto no estoy nada convencido
exit();
}

//Cerrando conexion con Base Datos
mysql_close();

//Redireccionando
header ("location:index.php");
?>

Espero podais ayudarme en este pequeño asunto yo por mi parte seguire investigando e intentando resolverlo por mi cuenta.

Gracias por adelantado a aquellos que se sientan interesados.