Enviado por: phpmysql
Fecha: 2003-07-09 05:41:03
Actualizado: 2004-09-28 19:13:31
¿Usa base de datos?: 0
Fecha: 2003-07-09 05:41:03
Actualizado: 2004-09-28 19:13:31
¿Usa base de datos?: 0
Visitas: 3435
Votos: 9
Descargado: 1907 veces
Votos: 9
Descargado: 1907 veces
Este es un foro que no tiene nada que envidiar a los foros con mysql ya que dispone de zona de administracion, smyles y un archivo css con el que predefinir el dise�o [b]id.dat[/b] [codigo] 4 [/codigo] [b]mensajes.dat[/b] cambia aqui los temas principales [codigo] [nuevo_post]|||^^^|||1|||^^^|||0|||^^^|||Wemaster|||^^^|||Apertura del nuevo Foro|||^^^|||17-05-03|||^^^|||Queda inaugurado el nuevo foro. Saludos a todos :a|||^^^||| [nuevo_post]|||^^^|||4|||^^^|||1|||^^^|||webmaster|||^^^|||Apertura del nuevo Foro|||^^^|||17-05-03|||^^^|||[b]Estos son los emoticones disponibles: [/b] :) :e :D :a :8 :u :x :k :w :z :s :j :r|||^^^||| [/codigo] [b]estilo.css[/b] define aqui el estilo de tu pagina [codigo] .TituloMenu { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #24559F } TD { font-family: Verdana, Arial, Helvetica; font-size: 11px } A { color: #004080; font-style: normal; text-decoration: underline } A:hover { color: #3C9DFF; font-style: normal; text-decoration: underline } .input { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #333333; border: 1px #666666 solid; background-color: #ffffff; } .boton { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #000000; border: 1px #666666 solid; background-color: #C0C0C0; } [/codigo] [b]foro.php[/b] archivo principal con la configuracion, hay una opcion para mostrar o no el panel de temas al entrar al foro : [b]$verFormulario = "si";[/b] , recomiendo cambiarlo a no una vez escritos los temas. y cambiar esto, que es para el panel de control [b]// Login: Nombre (admin) y Pass (pass) $loginNombre = "palabra1"; $loginPass = "palabra2";[/b] [codigo] <? // Ruta absoluta a los archivos de texto: $postsID = "id.dat"; $posts = "mensajes.dat"; // Nombre del foro $nForo = "" ; // Colores del foro $tabla_color="#D0DDEE"; $borde_color="#24559F"; $fila1_color="#BCCEE7"; $fila2_color="#AEC4E1"; // Mostrar formulario 'si' o 'no' $verFormulario = "si"; // Login: Nombre (admin) y Pass (pass) $loginNombre = "palabra1"; $loginPass = "palabra2"; function validarTags() { global $nombre; global $asunto; global $mensaje; $nombre = htmlspecialchars(trim($nombre)); $nombre = str_replace("&","&",$nombre); $nombre = preg_replace("/(1512)|(15)|(12)/","",$nombre); $nombre = stripslashes(str_replace("<","",$nombre)); $nombre = strip_tags(str_replace(">","",$nombre)); $nombre = substr(strip_tags($nombre),0,12); $asunto = htmlspecialchars(trim($asunto)); $asunto = str_replace("&","&",$asunto); $asunto = preg_replace("/(1512)|(15)|(12)/","",$asunto); $asunto = stripslashes(str_replace("<","",$asunto)); $asunto = strip_tags(str_replace(">","",$asunto)); $asunto = substr(strip_tags($asunto),0,30); $mensaje = htmlspecialchars(trim($mensaje)); $mensaje = str_replace("&","&",$mensaje); $mensaje = preg_replace("/(1512)|(15)|(12)/","<br>",$mensaje); $mensaje = str_replace("<","",$mensaje); $mensaje = str_replace(">","",$mensaje); return; } function reemplazarTags() { global $mensaje1; $mensaje1 = str_replace('[b]', '<b>', $mensaje1); $mensaje1 = str_replace('[/b]', '</b>', $mensaje1); $mensaje1 = str_replace('[i]', '<i>', $mensaje1); $mensaje1 = str_replace('[/i]', '</i>', $mensaje1); $mensaje1 = str_replace('[u]', '<u>', $mensaje1); $mensaje1 = str_replace('[/u]', '</u>', $mensaje1); $mensaje1 = str_replace('[c]', "<font color='#004080'>", $mensaje1); $mensaje1 = str_replace('[/c]', '</font>', $mensaje1); $mensaje1 = str_replace ("[tk]", "<img src='imagenes/tk.gif' width='15' height='15'>", $mensaje1); $mensaje1 = str_replace(":)", "<img src='imagenes/sonrisa.gif' >", $mensaje1); $mensaje1 = str_replace(":e", "<img src='imagenes/ojo.gif' >", $mensaje1); $mensaje1 = str_replace(":D", "<img src='imagenes/divertido.gif' >", $mensaje1); $mensaje1 = str_replace(":a", "<img src='imagenes/hola.gif' >", $mensaje1); $mensaje1 = str_replace(":8", "<img src='imagenes/ojotes.gif' >", $mensaje1); $mensaje1 = eregi_replace (":u", "<img src='imagenes/confundido.gif' >", $mensaje1); $mensaje1 = eregi_replace (":x", "<img src='imagenes/enfado.gif' >", $mensaje1); $mensaje1 = eregi_replace (":k", "<img src='imagenes/cabreo.gif' >", $mensaje1); $mensaje1 = eregi_replace (":w", "<img src='imagenes/sock.gif' >", $mensaje1); $mensaje1 = eregi_replace (":z", "<img src='imagenes/zzz.gif' >", $mensaje1); $mensaje1 = eregi_replace (":s", "<img src='imagenes/golpes.gif' >", $mensaje1); $mensaje1 = eregi_replace (":j", "<img src='imagenes/barco.gif' >", $mensaje1); $mensaje1 = str_replace (":r", "<img src='imagenes/moto.gif' >", $mensaje1); return; } function escribirMensaje($posts, $postsID) { global $nueva_id; $fp = fopen ($postsID, "rb"); $id = fgets($fp, 4096); $nueva_id = $id + 1; fclose($fp); $fp = fopen ($postsID, "r+b"); flock ($fp,2); fwrite($fp, $nueva_id); flock ($fp,3); fclose($fp); $fp = fopen ($posts, "ab"); flock ($fp,2); fwrite($fp, "rn"); flock ($fp,3); fclose($fp); return; } function eliminarMensaje($elArchivo, $elPost) { $i = 0; $archivo1 = file($elArchivo); $fp = fopen($elArchivo, "w"); for ($i = 0; $i <= sizeof($archivo1); $i++) { if (strstr($archivo1[$i], $elPost)) { $archivo1[$i] = ""; } fwrite($fp, $archivo1[$i]); } fclose($fp); return; } // Contar temas y mensajes $temas=0; $mens=0; $fp = fopen ($posts, "rb"); while (!feof ($fp)) { $buff = fgets($fp, 4096); if(substr($buff, 0, 12 )=="[nuevo_post]") { $p=explode('|||^^^|||', "$buff"); if ($p[2]==0) { $temas++; $mens++; } else { $mens++; } } } fclose($fp); switch($a) { // Ingrear al sistema case "login": echo "<form action='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$tid' method='post'>n"; echo "<table border='0' cellspacing='1' cellpadding='3' width='320' bgcolor='$borde_color'>n<tr bgcolor='$tabla_color' style='color: #24559F'>n<td><b>Acceso para el Administrador</b></td></tr>n"; echo "<tr><td width='320' colspan='2' bgcolor='#ffffff'>n"; echo "<table cols='2' width='320' class='body'>n"; echo "<tr><td colspan='2' bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>n"; echo "<tr><td width='70' valign='top'>Usuario:</td><td width='250'>n<input type='text' name='usuario' size='35' maxlength='12' class='input'></td></tr>n"; echo "<tr><td width='70' valign='top'>Password:</td><td width='250'>n<input type='text' name='password' size='35' maxlength='30' class='input'></td></tr>n"; echo "<tr><td width='320' colspan='2'></td></tr>n"; echo "<tr><td width='70' valign='top'></td><td width='250'>n<input type='submit' name='login' value='Ingresar' class='boton'> n<input type='reset' value='Restablecer' class='boton'></td></tr>n"; echo "<tr><td bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>n"; echo "</table></td></tr></table></form>n"; if (!$usuario or !$password) { echo "<a href='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$tid'><< Volver al mensaje</a>"; } break; // Postear un nuevo mensaje case "postnuevo": // Validar formulario if (!$nombre or !$asunto or !$mensaje) { echo "Por favor, complete todos los campos del formuario.<br><a href='index.php?ver_formulario=$verFormulario'><< Volver al Foro</a>"; } else { escribirMensaje($posts, $postsID); // Reemplazar tags no deseados validarTags(); // Escribir post en el archivo if (!$nombre or !$asunto or !$mensaje) { $nombre = "(Ninguno)"; $asunto = "(Ninguno)"; } $fecha=date("d-m-y"); $fp = fopen ($posts, "ab"); flock ($fp,2); fwrite($fp, "[nuevo_post]|||^^^|||$nueva_id|||^^^|||0|||^^^|||$nombre|||^^^|||$asunto|||^^^|||$fecha|||^^^|||$mensaje|||^^^|||"); flock ($fp,3); fclose($fp); echo "Muchas gracias. Su mensaje ha sido agregado.<br><a href='index.php?ver_formulario=$verFormulario' target='_top'><< Volver atr�s</a>"; } break; // En caso de que sea una respuesta case "responder": if (!$nombre or !$asunto or !$mensaje) { echo "Por favor, complete todos los campos del formuario.<br><a href='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$tid' target='_top'><< Volver al mensaje</a>"; } else { escribirMensaje($posts, $postsID); // Reemplazar tags... validarTags(); $fecha=date("d-m-y"); $fp = fopen ($posts, "ab"); flock ($fp,2); fwrite($fp, "[nuevo_post]|||^^^|||$nueva_id|||^^^|||$tid|||^^^|||$nombre|||^^^|||$asunto|||^^^|||$fecha|||^^^|||$mensaje|||^^^|||"); flock($fp,3); fclose($fp); echo "Muchas gracias. Su respuesta ha sido agregada.<br><a href='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$tid' target='_top'><< Ver mensaje</a>"; } break; // En caso de ver un mensaje case "ver_mensaje": $ahora = date("d-m-y"); $zonahoraria = date("O"); echo "<table border='0' width='550'>n<tr><td align='left'>n<tr><td>$nForo<td align='right'>n"; if ($usuario != $loginNombre || $password != $loginPass) { echo "<a href='index.php?ver_formulario=$verFormulario&a=login&tid=$tid'>Admin</a> | "; } elseif ($usuario == $loginNombre && $password == $loginPass) { $verFormulario = "no"; } echo "<a href='index.php?ver_formulario=$verFormulario' target='_top'>Volver al Foro</a>n</td></tr></table>n <table border='0' width='550' cellspacing='1' cellpadding='2' bgcolor='$borde_color'>n<tr bgcolor='$tabla_color' border='1' bordercolor='1' style='color:#24559F'> <td width='100'>n<b>Autor</b><td width='450'><b>Mensaje</b></td></tr>n"; $fp = fopen ($posts, "rb"); while(!feof ($fp)) { $buffer = fgets($fp, 4096); if (substr($buffer, 0, 12 )=="[nuevo_post]") { $p=explode('|||^^^|||', "$buffer"); if ($p[1]==$tid) { $asunto=$p[4]; $mensaje1 = nl2br($p[6]); if ($usuario == $loginNombre && $password == $loginPass) { $eliminar = "[ <a href='index.php?ver_formulario=$verFormulario&a=eliminar&usuario=$usuario&password=$password&tid=$tid&p1=$p[1]&p2=$p[2]&p3=$p[3]&p4=$p[4]'>Eliminar</a> ]"; } reemplazarTags(); echo "<tr bgcolor='$fila1_color' border='1' bordercolor='1'><td valign='top'>n <B>$p[3]</B><td><b>$p[4]</b><p>$mensaje1</td></tr>n <tr bgcolor='$fila1_color' border='1' bordercolor='#ffffff'><td>$eliminar</td>n <td>Fecha: $p[5]</td></tr>"; } } } fclose($fp); $fp = fopen ($posts, "rb"); $color=0; while (!feof ($fp)) { $buffer = fgets($fp, 4096); if(substr($buffer, 0, 12 )=="[nuevo_post]") { $p=explode('|||^^^|||', "$buffer"); if ($p[2]==$tid) { $asunto = substr(strip_tags($p[4]),0,30); $nombre = substr(strip_tags($p[3]),0,10); $mensaje1 = nl2br($p[6]); if ($usuario == $loginNombre && $password == $loginPass) { $eliminar = "[ <a href='index.php?ver_formulario=$verFormulario&a=eliminar&usuario=$usuario&password=$password&tid=$tid&p1=$p[1]&p2=$p[2]&p3=$p[3]&p4=$p[4]'>Eliminar</a> ]"; } reemplazarTags(); if ($color==0) { echo "<tr bgcolor='$fila2_color' border='1' bordercolor='1'>n<td valign='top'>n<B>$nombre</B><td><B>Re: $asunto</B><p>n$mensaje1</td>n <tr bgcolor='$fila2_color' border='1' bordercolor='#ffffff'>n<td>$eliminar</td><td>Fecha: $p[5]</td></tr>n"; $color=1; } else { echo "<tr bgcolor='$fila1_color' border='1' bordercolor='1'>n<td valign='top'>n<B>$nombre</B><td><B>Re: $asunto</B><p>n$mensaje1</td>n <tr bgcolor='$fila1_color' border='1' bordercolor='#ffffff'>n<td>$eliminar</td><td>Fecha: $p[5]</td></tr>n"; $color=0; } } } } fclose($fp); echo "</table><table width='550'><tr><td></tr></td>"; echo "<tr><td align='right'><A HREF='index.php?ver_formulario=$verFormulario'>Volver al Foro</A></tr></td></table>"; // Formulario de respuesta if ($verFormulario == "si" && $tid != "") { echo "<form action='index.php?ver_formulario=$verFormulario&a=responder' method='post'>n"; echo "<table border='0' cellspacing='1' cellpadding='3' width='550' bgcolor='$borde_color'>n<tr bgcolor='$tabla_color' style='color:#24559F'>n<td><b>Responder al mensaje:</b> $asunto</td></tr>n"; echo "<tr><td width='550' colspan='2' bgcolor='#ffffff'>n"; echo "<table cols='2' width='550' class='body'>n"; echo "<tr><td colspan='2' bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>"; echo "<tr><td width='100' valign='top'>Nombre:</td><td width='450'><input type='text' name='nombre' size='55' maxlength='12' class='input'></td></tr>n"; echo "<tr><td width='100' valign='top'>Mensaje:</td><td width='450'><textarea name='mensaje' rows='8' cols='54' class='input'></textarea></td></tr>n"; echo "<tr><td width='550' colspan='2'></td></tr>n"; echo "<tr><td width='100' valign='top'></td><td width='450'>n<input type='submit' name='responder' value='Responder mensaje' class='boton'> n<input type='reset' value='Restablecer' class='boton'></td></tr>n"; echo "<input type='hidden' name='tid' value='$tid'><input type='hidden' name='asunto' value='$asunto'>n"; echo "<tr><td bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>n"; echo "</table></form></td></tr></table>n"; } break; // Eliminar mensaje case "eliminar": if ($usuario == $loginNombre && $password == $loginPass){ if ($p1 != "" && $p2 != "" && $p3 != "" && $p4 != ""){ $elPost = "[nuevo_post]|||^^^|||$p1|||^^^|||$p2|||^^^|||$p3|||^^^|||$p4|||^^^|||"; eliminarMensaje($posts, $elPost); echo "Listo. El mensaje ha sido eliminado.<br><a href='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$tid&usuario=$usuario&password=$password' target='_top'><< Volver al mensaje</a>"; } } else { echo "<font color='#ff0000'><b>Error! El sistema no lo ha identificado.</b></font><br>n"; echo "<a href='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$tid' target='_top'><< Volver al mensaje</a>n"; } break; // Mostrar todos los mensajes default: $limite = 5; $ahora=date("d-m-y"); $zonahoraria=date("O"); echo "<table border='0' width='550'><tr><td>$nForo<td align='right'>$temas temas y $mens mensajes</td></tr></table>n <table border='0' width='550' cellspacing='1' cellpadding='2' bgcolor='$borde_color'>n <tr bgcolor='$tabla_color' border='1' bordercolor='1' style='color: #24559F'><td width='20'> </td><td width='280'>n <b>Asunto</b></td><td width='90'><b>Autor</b></td><td width='80'><b>Respuestas</b></td><td width='80'><b>Fecha</b></td></tr>n"; $fp = fopen ($posts, "rb"); while (!feof ($fp)) { $buffer = fgets($fp, 4096); if(substr($buffer, 0, 12 )=="[nuevo_post]") { $p=explode('|||^^^|||', "$buffer"); if ($p[2]==0) { $fp1 = fopen ($posts, "rb"); $respuestas=0; while (!feof ($fp1)) { $buffer1 = fgets($fp1, 4096); if(substr($buffer1, 0, 12 )=="[nuevo_post]") { $p1=explode('|||^^^|||', "$buffer1"); if ($p1[2]==$p[1]) { $respuestas++; } } } fclose($fp1); echo "<tr bgcolor='#ffffff' border='1' bordercolor='1'><td>"; if ($respuestas==0) { echo "<img src='imagenes/0mens.gif' width='16' height='16'>"; } else { echo "<img src='imagenes/1mens.gif' width='16' height='16'>"; } echo "<td><A HREF='index.php?ver_formulario=$verFormulario&a=ver_mensaje&tid=$p[1]'>$p[4]</A><td>$p[3]<td align='center'>$respuestas<td>$p[5]</td></tr>"; } } } fclose ($fp); echo "</table><br>"; // Formulario para publicar un tema nuevo if ($verFormulario == "si") { echo "<form action='index.php?ver_formulario=$verFormulario&a=postnuevo' method='post'>n"; echo "<table border='0' cellspacing='1' cellpadding='2' width='550' bgcolor='$borde_color'><tr bgcolor='$tabla_color' style='color:#24559F'><td><b>Publicar un tema nuevo</b></td></tr>"; echo "<tr><td width='550' bgcolor='#ffffff'>"; echo "<table cols='2' width='550' class='body'>"; echo "<tr><td colspan='2' bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>"; echo "<tr><td width='100' valign='top'>Nombre:</td><td width='450'><input type='text' name='nombre' size='55' maxlength='12' class='input'></td></tr>n"; echo "<tr><td width='100' valign='top'>Asunto:</td><td width='450'><input type='text' name='asunto' size='55' maxlength='30' class='input'></td></tr>n"; echo "<tr><td width='100' valign='top'>Mensaje:</td><td width='450'><textarea name='mensaje' rows='8' cols='54' class='input'></textarea></td></tr>n"; echo "<tr><td width='550' colspan='2'></td></tr>"; echo "<tr><td width='100' valign='top'></td><td width='400'><input type='submit' name='postnuevo' value='Publicar tema' class='boton'> <input type='reset' value='Restablecer' class='boton'></td></tr>n"; echo "<tr><td bgcolor='#ffffff'><img src='imagenes/tablasepara.gif' width='1' height='10'></td></tr>"; echo "</table></form></td></tr></table>n"; } break; } ?> [/codigo] [b]index.php[/b] archivo con link a los los smyles y vinculado al foro.php [codigo] <html> <head> <title>Foro</title> <link REL="STYLESHEET" HREF="estilo.css" TYPE="text/css"> </head> <body> <table border="0" width="720"> <tr> <td width="100%"> <table border="0" width="100%" height="150"> <tr> <td width="100%" height="25" align="center"> <p align="center"><font face="Verdana" color="#003366" size="3"><b>&nbsp;Bienvenido al Foro </b></font><font face="Verdana" color="#003366" size="4">&nbsp;&nbsp;&nbsp;</font><font face="Verdana" color="#003366" size="3"> &nbsp;</font></p> </td> </tr> <tr> <td width="100%" height="12"></td> </tr> <tr> <td width="100%" height="8"> <p align="center"><font face="Verdana" size="2">&nbsp;</font></td> </tr> <tr> <td width="100%" height="50"> <table border="0" width="100%" cellspacing="1" cellpadding="0"> <tr> <td width="13%" align="center"> <p align="left">caracteres &gt;</td> <td width="6%" align="center">:)</td> <td width="6%" align="center">:e&nbsp; </td> <td width="6%" align="center">:D&nbsp; </td> <td width="7%" align="center">:a&nbsp; </td> <td width="6%" align="center">:8&nbsp; </td> <td width="8%" align="center">:u&nbsp;&nbsp; </td> <td width="8%" align="center">:x </td> <td width="6%" align="center">:k&nbsp; </td> <td width="5%" align="center">:w</td> <td width="7%" align="center">:z</td> <td width="7%" align="center">:s </td> <td width="8%" align="center">:j&nbsp; </td> <td width="8%" align="center">:r&nbsp;&nbsp; </td> </tr> <tr> <td width="13%" align="center"> <p align="left">Emoticones &gt;</td> <td width="6%" align="center"><img border="0" src="imagenes/sonrisa.gif"></td> <td width="6%" align="center"><img border="0" src="imagenes/ojo.gif"></td> <td width="6%" align="center"><img border="0" src="imagenes/divertido.gif"></td> <td width="7%" align="center"><img border="0" src="imagenes/hola.gif"></td> <td width="6%" align="center"><img border="0" src="imagenes/ojotes.gif"></td> <td width="8%" align="center"><img border="0" src="imagenes/confundido.gif"></td> <td width="8%" align="center"><img border="0" src="imagenes/enfado.gif"></td> <td width="6%" align="center"><img border="0" src="imagenes/cabreo.gif"></td> <td width="5%" align="center"><img border="0" src="imagenes/sock.gif"></td> <td width="7%" align="center"><img border="0" src="imagenes/zzz.gif"></td> <td width="7%" align="center"><img border="0" src="imagenes/golpes.gif"></td> <td width="8%" align="center"><img border="0" src="imagenes/barco.gif"></td> <td width="8%" align="center"><img border="0" src="imagenes/moto.gif"></td> </tr> </table> </td> </tr> <tr> <td width="100%" height="15"> <center><? include("foro.php")?></center> </td> </tr> <tr> <td width="100%" height="16" align="center"> <p align="right"><font color="#003366"> </td> </tr> </table> </td> </tr> </table> <p align="right">&nbsp;</p> <p align="right"> </p> </body> </html> [/codigo] las imagenes van dentro de la carpeta imagenes y las podreis econtrar todo en un zip que os dejo saludos www.elcidop.tk, www.phpmysql.tk, http://usuarios.lycos.es/codigohtm