Pero bueno, antes de comenzar a dejaros mi código me gustaría comentaros aspectos de mi foro que pienso que son importantes.
Le he creado un editor WYSING para mayor usabilidad del foro, así los usuarios podrán moverse mejor. Ya os dejaré el script también por si os hace falta.
No tiene sistema de usuarios, de momento.
Y bueno, creo que ya puedo dejaros el código, aunque si necesitáis mas información decídmelo y os la daré.
formulario.html
Código HTML:
Ver original
<div width="90%" border="0"> <form name="formulario" action="agregar.php" method="post"> <input type="hidden" name="identificador" value="<?php echo $id ; ?>"> <form id="form1" name="form1" method="post" action=""> <input type="button" name=negrita" value="Negrita" onclick="formato('bold')" /> <input type="button" name="sursiva" value="Cursiva" onclick="formato('italic')" /> <input type="button" name="subrayado" value="Subrayado" onclick="formato('underline')" /> <input type="button" name="eliminar-formato" value="Eliminar formato" onclick="formato('RemoveFormat')" /> <input type="button" name="insertar-link" value="Insertar link" onclick="insertarEnlace()" /> <input type="button" name="eliminar-link" value="Eliminar link" onclick="formato('Unlink')" /> <input type="button" name="insertar-imagen" value="Insertar imagen" onclick="insertarImagen()" /> <input type="button" name="deshacer-acción" value="Deshacer acción" onclick="formato('undo')" /> <input type="button" name="rehacer-acción " value="Rehacer acción" onclick="formato('redo')" /> <input type="button" name="insertar-html" value="Insertar texto mediante HTML" onclick="inHTML()" /> <br /> <input type="submit" name="Submit" value="Enviar mensaje"> </form> </div>
agregar.php
Código PHP:
<?php
require ('configuracion.php') ;
$autor = $_POST ["autor"] ;
$titulo = $_POST ["titulo"] ;
$mensaje = $_POST ["mensaje"] ;
$identificador = $_POST ["identificador"] ;
if ($autor == "" or $titulo == "" or $mensaje == "") {
echo 'Complete el formulario' ;
}
$sql = "INSERT INTO temas (autor, titulo, mensaje, identificador, fecha, ultimarespuesta) " ;
$sql.= "VALUES ('$autor', '$titulo', '$mensaje', '$identificador', NOW(),NOW())" ;
$rs = mysql_query ($sql, $conectar) or die("Error al grabar el mensaje: ".mysql_error) ;
$ult_id = mysql_insert_id ($conectar) ;
if (!empty($identificador))
{
$sql = "UPDATE foro SET respuestas=respuestas+1, ultimarespuesta=NOW()" ;
$sql.= " WHERE id = '$identificador'" ;
$rs = mysql_query ($sql, $conectar) ;
Header ("Location: foro.php?id=$identificador#ult_id") ;
exit () ;
}
Header ("Location: index.php") ;
?>
header.html
Código JAVASCRIPT:
Le pongo el coloreado de JavaScript para poder apreciar el script.Ver original
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Foro de Soporte de IMGBeta</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> </style> <script> var editor; function $(id){ return document.getElementById(id) ; } function formato(f){ editor.execCommand(f, false, null) ; } function rev(t) { return t.split("<").join("<").split(">").join(">").split("\"").join(""") ; } function insertarEnlace(){ var u ; if(!(u=prompt('Ingresar URL:','http://')))return ; editor.execCommand("CreateLink",false,u) ; } function insertarImagen(){ var u ; if(!(u=prompt('Ingresar URL de la imagen:','http://')))return ; editor.body.focus() ; editor.execCommand("InsertImage",false,u) ; } function inHTML(){ var u,u2 ; if(!(u=prompt('Ingresar texto escrito en HTML:','')))return ; try{ editor.execCommand("inserthtml",false,u) ; }catch(e){ try{ editor.body.focus() ; u2=editor.selection.createRange() ; u2.pasteHTML(u) ; }catch(E){ alert('No es valido') ; } } } window.onload=function(){ editor=$('editor').contentDocument || $('editor').contentWindow.document ; editor.designMode='on' ; } </script> </head> <body bgcolor="#9999cc" text="#FFFFFF" link="#FFFFFF"> <div width="90%" border="0" align="center"> <div bgcolor="#4b557d"><h2>Foro de soporte de IMGBeta</h2> <div align="right">[ <a href="index.php">Inicio</a>] - <a href="respuesta.php">Nuevo tema</a> ] </div> </div> <br /> <br />
index.php
Código PHP:
<html>
<head>
<link rel="stylesheet" href="template/classic/css/estilo.css" type="text/css" media="all">
<?php
require ('configuracion.php') ;
require ('funciones.php') ;
require ('template/classic/header.html') ;
$sql = "SELECT id, autor, titulo, fecha, respuestas, ultimarespuesta " ;
$sql.= "FROM temas WHERE identificador=0 ORDER BY ultimarespuesta DESC " ;
$rs = mysql_query ($sql, $conectar) or die(mysql_error()) ;
if(mysql_num_rows($rs)>0)
{
$template = implode ("", file("template/classic/temas.html")) ;
require ('template/classic/titulos.html') ;
while ($row = mysql_fetch_assoc($rs))
{
$color = ($color == ""?"#999999":"") ;
$row ["color"] = $color ;
mostrartemplate ($template, $row) ;
}
}
require ('template/classic/footer.html') ;
?>
foro.php
Código 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 temas " ;
$sql.= "WHERE id='$id' OR identificador='$id' ORDER BY fecha ASC " ;
$rs = mysql_query ($sql, $conectar) ;
require ('template/classic/header.html') ;
if (mysql_num_rows($rs)>0)
require ('template/classic/titulos_post.html') ;
$template = implode ("", file ('template/classic/post.html')) ;
while ($row = mysql_fetch_assoc ($rs))
{
$color = ($color== ""?"#5b69a6":"") ;
$row ["color"] = $color ;
$row ["mensaje"] = nl2br ($row["mensaje"]) ;
$row ["mensaje"] = parsearTags($row["mensaje"]) ;
mostrartemplate ($template, $row) ;
}
require ('template/classic/footer.html') ;
?>
Muchas gracias de antemano.
Saludos