Problema con foro

Iniciado por InnerSelf, 3 Noviembre 2010, 22:03 PM

0 Miembros y 1 Visitante están viendo este tema.

InnerSelf

Buenas! lo primero de todo saludar a todos ya que soy nuevo por aqui. Dicho esto paso a una duda que tengo con vuestro permiso jeje. Sé html y css, y me he animado a crear un foro con algo de php que estoy empezando a estudiar y algun manual, la cosa es que en la página principal del foro me muestran los mensajes (conectados a su correspondiente base de datos en la que aparecen) pero me salen en blanco. Es decir me sale como si estuvieran pero no puedo leer nada de contenido. ¿Esto a qué puede ser debido? Gracias de antemano y un saludo!
Stay Creative

bizco

sin ver la/s tabla y el codigo es dificil decirte, de primeras diria solo estas escribiendo el titulo del mensaje pero no el contenido.

InnerSelf

Esto es el contenido de foro.php:
<?php
require('configuracion.php');
require(
'funciones.php');
$id $_GET["id"];
if(empty(
$id)) Header("Location: index.php");
 
$sql "SELECT id, autor, titulo, mensaje, ";
$sql.= "DATE_FORMAT(fecha, '%d/%m/%Y %H:%i:%s') as enviado FROM foro ";
$sql.= "WHERE id='$id' OR identificador='$id' ORDER BY fecha ASC";
$rs mysql_query($sql$con);
include(
'header.html');
if(
mysql_num_rows($rs)>0)
{
include(
'titulos_post.html');
$template implode(""file('post.html'));
while(
$row mysql_fetch_assoc($rs))
{
$color=($color="#423452");
$row["color"] = $color;
//manipulamos el mensaje
$row["mensaje"] = nl2br($row["mensaje"]);
$row["mensaje"] = parsearTags($row["mensaje"]);
mostrarTemplate($template$row);
}
}
include(
'formulario.html');
include(
'footer.html');

?>




y esto el de index.php
<?php
require('configuracion.php');
require(
'funciones.php');
include(
'header.html');
/* Pedimos todos los temas iniciales (identificador==0)
* y los ordenamos por ult_respuesta */
$sql "SELECT id, autor, titulo, fecha, respuestas, ult_respuesta ";
$sql.= "FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC";
$rs mysql_query($sql$con);
if(
mysql_num_rows($rs)>0)
{
// Leemos el contenido de la plantilla de temas
$template implode(""file("temas.html"));
include(
'titulos.html');
while(
$row mysql_fetch_assoc($rs))
{
$color=($color="#423452");
$row["color"] = $color;
mostrarTemplate($template$row);
}
}
include(
'formulario.html');
include(
'footer.html');
?>


Y lo que hago es rellenar los tres campos en el formulario, luego envío los datos, aparecen correctos en la base de datos pero en la página en si salen en blanco

Stay Creative

bizco

realmente se ve poco ya que llamas a funciones que no estan ahi. parseartags ¿que devuelve? ves sacando por pantalla a modo debug los campos a ver donde te falla.

InnerSelf

Parseartags lo tengo tal que asi dentro de funciones.php:
Código (php) [Seleccionar]
<?php
function mostrarTemplate($tema$variables)
{
//var_dump($variables);
extract($variables);
eval("?>
".$tema."<?");
}

function parsearTags($mensaje)
{
$mensaje = str_replace("[citar]", "<blockquote><hr width='100%' size='2'>", $mensaje);
$mensaje = str_replace("[/citar]", "<hr width='100%' size='2'></blockquote>", $mensaje);
return $mensaje;
}
?>


Lo demás..pues configuracion.php contiene los parámetros de enlace a base de datos y en los html dudo mucho que esté el problema. Te dejo también el código que tengo en agregar.php que se encarga de postear los mensajes.
Código (php) [Seleccionar]
<?php
require('funciones.php');
$id $_GET["id"];
$citar $_GET["citar"];
$row = array("id" => $id);
if(
$citar==1)
{
require('configuracion.php');
$sql "SELECT titulo, mensaje, identificador AS id FROM foro WHERE id='$id'";
$rs mysql_query($sql$con);
if(mysql_num_rows($rs)==1$row mysql_fetch_assoc($rs);

if($row["id"]==0$row["id"]=$id;
}
$template implode(""file('formulario.html'));
include(
'header.html');
mostrarTemplate($template$row);
include(
'footer.html');
?>


Un saludo y gracias :)


Stay Creative