Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2006, 04:39
kakashi®
 
Fecha de Ingreso: mayo-2006
Mensajes: 6
Antigüedad: 17 años, 11 meses
Puntos: 0
Duda con unos codigos de foro

He pillado el codigo de un foro en php
No me da errores, me va todo bien, pero me da unos cuantos noticies

En este codigo:

Respuesta.php

Código PHP:
<?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);
    
$row["titulo"] = "Re: ".$row["titulo"];
    
$row["mensaje"] = "[citar]".$row["mensaje"]."[/citar]";
    if(
$row["id"]==0$row["id"]=$id;
}
$template implode(""file('formulario.html'));
include(
'header.html');
mostrarTemplate($template$row);
include(
'footer.html');
?>
Notice: Undefined index: id in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\respuesta.php on line 3

Notice: Undefined index: citar in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\respuesta.php on line

y en la misma pantalla de respuesta, me da esto a la hora de rellenar el formulario para crear nuevo tema:

En el campo titulo:

<br /><b>Notice</b>: Undefined variable: titulo in <b>C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\funciones.php(6) : eval()'d code</b> on line <b>10</b><br />

Y en el campo texto:
<br />
<b>Notice</b>: Undefined variable: mensaje in <b>C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\funciones.php(6) : eval()'d code</b> on line <b>14</b><br />

funciones.php

Código PHP:
<?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;
}
?>
Y el codigo de agregar, me agrega todo, pero si le doy solo a el , me da estos errores:

Notice: Undefined index: autor in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\agregar.php on line 3

Notice: Undefined index: titulo in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\agregar.php on line 4

Notice: Undefined index: mensaje in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\agregar.php on line 5

Notice: Undefined index: identificador in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\agregar.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\agregar.php:3) in C:\Archivos de programa\Apache Group\Apache2\htdocs\Anime\foro\agregar.php on line 30

Código PHP:
<?php
require('configuracion.php');
$autor $_POST["autor"];
$titulo $_POST["titulo"];
$mensaje $_POST["mensaje"];
$ident $_POST["identificador"];

//Hacemos algunas validaciones
if(empty($autor)) $autor "Anónimo";
if(empty(
$titulo)) $titulo "Sin título";
//Evitamos que el usuario ingrese HTML
$mensaje htmlentities($mensaje);

// Grabamos el mensaje en la base.
$sql "INSERT INTO foro (autor, titulo, mensaje, identificador, fecha, ult_respuesta) ";
$sql.= "VALUES ('$autor','$titulo','$mensaje','$ident',NOW(),NOW())";
$rs mysql_query($sql$con) or die("Error al grabar un mensaje: ".mysql_error);
$ult_id mysql_insert_id($con);

/* si es un mensaje en respuesta a otro
   actualizamos los datos */
if(!empty($ident))
{
    
$sql "UPDATE foro SET respuestas=respuestas+1, ult_respuesta=NOW()";
    
$sql.= " WHERE id = '$ident'";
    
$rs mysql_query($sql$con);
    
Header("Location: foro.php?id=$ident#$ult_id");
    exit();
}
Header("Location: index.php");
?>