Hola,
Ise este foro para mandarlo cqui.
¿Que tiene este foro?
Vasicamente es una mejora del foro de
este tutorial.
¿Que mejoras tiene?- Sistema de registro y reconocimiento de usuario
- Codigos como [ b ] y [ u ]
- Seguridad mejorada
- Instalacion automatica
- y mucho mas
El codigo es medio largo y usa
mysql.
Empezemos:
index.php Código PHP:
<meta http-equiv="Pragma" content="no-cache" >
<style type="text/css">
<!--
body {
background-color: #F0F0F0;
}
a:link {
color: #FFFFFF;
}
a:visited {
color: #FFFFFF;
}
a:hover {
color: #CCCCCC;
}
a:active {
color: #FF0000;
}
-->
</style><?php
@session_start();
require('configuracion.php');
require('funciones.php');
include('header.html');
$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==""?"#F0F0F0":"");
$row["color"] = $color;
mostrarTemplate($template, $row);
}
}
include('footer.html');
?><title>Foro echo por pato</title>
install2.php Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Instalacion</title>
<style type="text/css">
<!--
body {
background-color: #E2E2E2;
}
-->
</style></head>
<body>
<table width="668" border="2" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFFFFF">
<!--DWLayoutTable-->
<tr>
<td width="668" height="25"><div align="center"><strong>Instalacion parte 2 de 2 </strong></div></td>
</tr>
<tr>
<td height="24" valign="top">
<?
$usu=$_POST['usu'];
$clave=$_POST['clave'];
$bd=$_POST['bd'];
$dir=$_POST['dir'];
$cre=$_POST['checkbox'];
$base=$bd;
@$conexion=mysql_connect ("$dir","$usu","$clave") or exit('No se pudo conectar al servidor');
@mysql_select_db ($base, $conexion) or exit('No se pudo conectar a la BD');
$crear="CREATE TABLE `foro` (";
$crear.="`id` int(7) NOT NULL auto_increment,";
$crear.=" `autor` varchar(200) NOT NULL default '',";
$crear.=" `titulo` varchar(200) NOT NULL default '',";
$crear.=" `mensaje` text NOT NULL,";
$crear.="`fecha` datetime NOT NULL default '0000-00-00 00:00:00',";
$crear.="`respuestas` int(11) NOT NULL default '0',";
$crear.=" `identificador` int(7) NOT NULL default '0',";
$crear.=" `ult_respuesta` datetime default NULL,";
$crear.=" KEY `id` (`id`)";
$crear.=") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;";
$crear2="CREATE TABLE `usuarios` (";
$crear2.=" `id` int(30) NOT NULL auto_increment,";
$crear2.=" `nick` varchar(30) NOT NULL,";
$crear2.=" `clave` varchar(30) NOT NULL,";
$crear2.=" `email` varchar(30) NOT NULL,";
$crear2.=" `pais` varchar(30) NOT NULL,";
$crear2.=" `firma` varchar(30) NOT NULL,";
$crear2.=" PRIMARY KEY (`id`)";
$crear2.=") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;";
@$foro=mysql_db_query ($base,$crear ,$conexion);
@$user=mysql_db_query ($base,$crear2 ,$conexion);
if(file_exists("configuracion.php")){
echo "<strong>El archivo configuracion.php ya existe</strong><br>";
} else{
$jiw = "configuracion.php";
@$aqw = fopen($jiw, "a+");
$sssw = "<?
\$bd_host = '$dir';
\$bd_usuario = '$usu';
\$bd_password = '$clave';
\$bd_base = '$base';
\$con = mysql_connect(\$bd_host, \$bd_usuario, \$bd_password);
mysql_select_db(\$bd_base, \$con);
?>";
@$ghjw = fwrite($aqw, $sssw);
fclose($aqw);
}
if(file_exists("config.ini.php")){
echo "<strong>El archivo config.ini.php ya existe</strong><br>";
} else{
$jiwd = "config.ini.php";
@$aqwd = fopen($jiwd, "a+");
$ssswd = "<?
\$dbhost='$dir';
\$dbusername='$usu';
\$dbuserpass='$clave';
\$dbname='$base';
\$tabla='usuarios';
mysql_connect (\$dbhost, \$dbusername, \$dbuserpass);
mysql_select_db(\$dbname) or die('Cannot select database');
?>";
@$ghjwd = fwrite($aqwd, $ssswd);
fclose($aqwd);
}
if(!$ghjwd){
echo "<strong><font color='#FF0000'>Eror al crear el archivo $jiwd <br></font></strong>";
}
else
{
echo "<strong><font color='#009933'>Archivo $jiwd creado correctamente <br></font></strong>";
}
if(!$ghjw){
echo "<strong><font color='#FF0000'>Eror al crear el archivo $jiw <br></font></strong>";
}
else
{
echo "<strong><font color='#009933'>Archivo $jiw creado correctamente <br></font></strong>";
}
if(!$foro){
echo "<strong><font color='#FF0000'>Eror al crear la tabla del foro</font></strong><br>";
$key2='no';
} else{
echo "<strong><font color='#009933'>Tabla del Foro creada correctamente.</font><br></strong>";
$key2='si';
}
if(!$user){
echo "<strong><font color='#FF0000'>Eror al crear la tabla de los usuarios</font><br></strong>";
$key='no';
} else{
echo "<strong><font color='#009933'>Tabla del Usuario creada correctamente.</font><br></strong>";
$key='si';
}
mysql_close($conexion);
if($key == 'si' and $key2 == 'si'){
unlink('install.html');
unlink('install2.php');
unlink('create.php');
echo "Se a borrado los archivos de instalacion";
}
?></td>
</tr>
</table>
</body>
</html>
intall.html
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Instalacion</title>
<style type="text/css">
<!--
body {
background-color: #E2E2E2;
}
-->
</style></head>
<body>
<table width="668" border="2" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFFFFF">
<!--DWLayoutTable-->
<tr>
<td width="668" height="25"><div align="center"><strong>Instalacion parte 1 de 2 </strong></div></td>
</tr>
<tr>
<td height="253" valign="top"><strong><fieldset><legend>Rellene los siguientes datos para instalar:</legend>
<form id="form1" name="form1" method="post" action="install2.php">Direccion del servidor:<br>
<input name="dir" type="text" id="dir" value="localhost" /><br>Usuario:<br>
<input name="usu" type="text" id="usu" />
<br>Clave:<br>
<input name="clave" type="password" id="clave" />
<br>Base de datos:<br>
<input name="bd" type="text" id="bd" />
<br>
<label></label>
<label></label>
<br>
<strong>
<input type="submit" name="Submit" value="Instalar" />
</strong>
<label>
<input type="reset" name="Submit2" value="<<Borrar datos>>" />
</form>
<fieldset><legend>Crear BD</legend>
<strong>Direccion del servidor:<br /><form action="create.php" method="post" name="form1" target="_blank" id="form1">
<input name="dir2" type="text" id="dir2" value="localhost" />
<br />
Usuario:<br />
<input name="usu2" type="text" id="usu2" />
<br />
Clave:<br />
<input name="clave2" type="password" id="clave2" />
<br />
Base de datos:<br />
<input name="bd2" type="text" id="bd2" />
<br />
<label></label>
<label></label>
<br />
<strong>
<input type="submit" name="Submit3" value="Crear" />
</strong>
<label>
<input type="reset" name="Submit22" value="<<Borrar datos>>" />
</form>
</fieldset>
</fieldset>
</strong> </td>
</tr>
</table>
</body>
</html>
titulos_post.html Código HTML:
<table width="90%" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#666666">
<tr align="center">
<td width="25%">Usuario</td>
<td>Mensaje</td>
</tr>
</table>
titulos.html
Código HTML:
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="#666666">
<tr>
<td><a href="foro.php?id=<?=$id?>"> Título</a></td>
<td width="15%" align="center">Autor</td>
<td width="15%" align="center"> Respuestas</td>
<td width="15%" align="center"> Últ. Mensaje</td>
</tr>
</table>
temas.html Código HTML:
<table width="90%" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#8A8A8A">
<tr>
<td><a href="foro.php?id=<?=$id?>">
<?=$titulo?>
</a></td>
<td width="15%" align="center"><font size="-2">Por <b>
<?=$autor?>
</b><br>
el
<?=$fecha?>
</font></td>
<td width="15%" align="center"><font size="-2">
<?=$respuestas?>
</font></td>
<td width="15%" align="center"><font size="-2">
<?=$ult_respuesta?>
</font></td>
</tr>
</table>
salir.php Código PHP:
<?
session_start();
if(!isset($_SESSION['s_username'])){
header("location: entra.html");
} else {
session_unset();
session_destroy();
header("location: index.php");
}
?>
Continua en el proximo post.....