Cree un nuevo foro en PHP, pero este es totalmente echo por mi, no como el anterior post:
http://www.forosdelweb.com/f18/aport...on-php-562869/
Que es una actualización del foro de un tutorial.
Este es un poco mas largo, pero esta bueno y si sos administrador podes editar los mensajes y borrar mensajes y temas.
El foro usa 2 class que estan en este foro:El foro este funciona casi de igual manera que el otro.
Empezaremos:
Primero crear una carpeta que se llame, lib, donde van a estar el EasyLogin.lib.php y el PHPPaging.lib.php
Despues crearemos el archivo instalar.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 del foro pato12</title>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
color: #000000;
}
body {
background-color: #DFEAFF;
}
.table {
background-color: #FFFFFF;
border: 1px solid #000000;
}
-->
</style>
</head>
<body>
<table width="900" border="0" align="center" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF" class="table">
<tr>
<td><h1>Instalacion del foro pato12</h1></td>
</tr>
<tr>
<td>
<?php
if(!$_POST){
?>
<form id="form1" name="form1" method="post" action=""><fieldset><legend><strong>C</strong>onfiguracion</legend>
<strong>Nombre del foro:</strong><br />
<input name="name-foro" type="text" id="name-foro" />
<br />
<strong>Temas por pagina: </strong>
<br />
<input name="tema-pagina" type="text" id="tema-pagina" value="15" maxlength="3" />
<br />
<strong>Post por temas: </strong>
<br />
<input name="post-pagina" type="text" id="post-pagina" value="10" maxlength="3" />
<br />
<strong>Tu email:</strong><br />
<input name="email" type="text" id="email" />
<br />
<strong>Tu usuario de administrador: </strong>
<br />
<input name="user-adm" type="text" id="user-adm" value="admin" />
<br />
<strong>Clave del usuario: </strong>
<br />
<input name="clave-adm" type="password" id="clave-adm" />
<br />
<fieldset><legend><strong>C</strong>onexion a la BD</legend>
<strong>Usuario: </strong>
<br />
<input name="user-bd" type="text" id="user-bd" value="root" />
<br />
<strong>Clave: </strong>
<br />
<input name="clave-bd" type="password" id="clave-bd" />
<br />
<strong>Servidor: </strong>
<br />
<input name="server-bd" type="text" id="server-bd" value="localhost" />
<br />
<strong>Base de datos: </strong><br />
<input name="bd-bd" type="text" id="bd-bd" />
<br />
<label><input name="crear" type="checkbox" id="crear" value="checkbox" checked="checked" />
Crear si no existe.</label>
</fieldset>
<input name="instalador" type="submit" id="instalador" value="Instalar" />
</fieldset></form>
<?php
}elseif($_POST){
echo "Iniciando...<br />";
$data['body']='
<?php
/////// CONFIGURACIONES DEL FORO //////////
$config[\'titulo\']="' . $_POST['name-foro'] . '"; // NOMBRE DEL FORO
$config[\'result-page\']=' . $_POST['tema-pagina'] . '; // RESULTADO POR PAGINA EN EL INDICE
$config[\'result-page-post\']=' . $_POST['post-pagina'] . '; // RESULTADDOS POR PAGINAS EN CADA POST
$config[\'contact\']="' . $_POST['email'] . '"; // CONTACTO A QUE EMAIL
$config[\'tema\']=1; // ELIJA EL NUMERO DE TEMA QUE QUIERES USAR (DEVE ESTAR EN LA CARPETA tema)
$config[\'paginas\']=array(
"inicio"=>array("Inicio","index.php?id=inicio&p="),
"tema"=>array("Tema nuevo","index.php?id=tema&p="),
"login"=>array("Login","index.php?id=login"),
"editar"=>array("Editar","index.php?id=editar&i="),
"borrar"=>array("Borrar","index.php?id=borrar&i="),
"registrarse"=>array("Registrarse","index.php?id=registrarse")
);// LAS PAGINAS, INDEX.PHP?ID=pagina
///////// CONEXION A BD ///////////
$conexion[\'servidro\'] = "' . $_POST['server-bd'] . '"; // SERVIDOR
$conexion[\'usuario\'] = "' . $_POST['user-bd'] . '"; // USUARIO
$conexion[\'clave\']= "' . $_POST['clave-bd'] . '"; // PASS
$conexion[\'bd\'] = "' . $_POST['bd-bd'] . '"; // BD
$conexion[\'conexion\']= mysql_connect($conexion[\'servidro\'], $conexion[\'usuario\'], $conexion[\'clave\']); // CONECTAMOS AL SERVIDOR
$conexion[\'conexion_bd\']=mysql_select_db($conexion[\'bd\'], $conexion[\'conexion\']); // CONECTAMOS A LA BD
if(!$conexion[\'conexion\'] || !$conexion[\'conexion_bd\']){ // SI DA ERROR
exit(\'Servidor no disponible, disculpe las molestias. Contactenos a \'.$config[\'contact\'].\', muchas gracias.\'); // DESIMOS QUE NO HAY SERVIDOR
}
///////// DEFINIMOS LOS ADMINISTRADORES DEL FORO ////////
$administradores=array();
$Sqll = mysql_query("SELECT * FROM users WHERE rank=\'8\'",$conexion[\'conexion\']) or die(mysql_error()); // CONSULTAMOS LA TABLA
while($dat= mysql_fetch_array($Sqll)){ // VEMOS LOS DATOS
$administradores[]=$dat[\'id\']; // GUARDAMOS EL ID
}
/////// INICIAMOS LA SESSION /////////
if(!isset($_SESSION)) // SI NO SE INICIO LA SESSION
session_start(); // PONER UN @ SI DA ERROR
//////// INCLUIMOS LAS FUNCIONES ////////
include(\'funciones.ini.php\');
?>';
$conn=@mysql_connect($_POST['server-bd'], $_POST['user-bd'], $_POST['clave-bd']);
if(!$bdconn=@mysql_select_db($_POST['bd-bd'],$conn) and $conn and !empty($_POST['crear'])){
$sql['bd']='CREATE DATABASE `' . $_POST['bd-bd'] . '` ;';
$crear['bd']=mysql_query($sql['bd'],$conn);
if($crear['bd'])
$dat[]='<font color="#00FF00">Se a creado la BD.</font>';
else
$dat[]='<font color="#FF0000">No se a creado la BD.</font>';
$bdconn=$crear['bd']?mysql_select_db($_POST['bd-bd'],$conn):false;
}
$conexion=$conn and $bdconn?true:false;
///////////////////////////////
if($conexion){
$sql['post']='CREATE TABLE `post` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`por` varchar(100) NOT NULL,
`fecha` datetime NOT NULL,
`titulo` varchar(100) NOT NULL,
`mensaje` text NOT NULL,
`idm` int(10) NOT NULL,
`ultimo` datetime NOT NULL,
`respuestas` int(10) NOT NULL,
`editado` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100 ;';
$sql['user']='CREATE TABLE `users` (
`id` int(10) NOT NULL,
`fecha` datetime NOT NULL,
`usuario` varchar(100) NOT NULL,
`clave` varchar(100) NOT NULL,
`nombre` varchar(100) NOT NULL,
`email` varchar(50) NOT NULL,
`mensajes` int(10) NOT NULL,
`rank` varchar(2) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;';
$crear['user']=mysql_query($sql['user'],$conn);
$crear['pos']=mysql_query($sql['post'],$conn);
$crear['result']=$crear['user'] and $crear['post']?true:false;
$sql['admin'] = 'INSERT INTO `users` (`id`, `fecha`, `usuario`, `clave`, `nombre`, `email`, `mensajes`, `rank`) VALUES (\'1\', \'2008-12-20 22:57:21\', \'' . $_POST['user-adm'] . '\', \'' . md5(md5($_POST['clave-adm'])) . '\', \'' . $_POST['user-adm'] . '\', \'' . $_POST['email'] . '\', \'0\', \'8\');';
$sql['pos']='INSERT INTO `post` VALUES (100, \'' . $_POST['user-adm'] . '\', \'2008-12-21 01:06:36\', \'Gracias\', \'Hola,<br />\r\nGracias por instalarme.<br />\r\n[i]Gracias![/i]\', 0, \'2008-12-21 01:06:36\', 0, \'\');';
$crear['admin-user']=mysql_query($sql['admin'],$conn) or die( mysql_error() );
$crear['admin-post']=mysql_query($sql['pos'],$conn) or die( mysql_error() );
$crear['admin']=$crear['admin-post']&&$crear['admin-user']?true:false;
///////////////////////////////
$abre =@fopen("config.ini.php", "a+");
$escribir = @fwrite($abre, $data['body']);
@fclose($abre);
$config=$abre and $escribir?true:false;
}
///////////////////////////////
if($config)
$dat[]='<font color="#00FF00">Se a creado el archivo config.</font>';
else
$dat[]='<font color="#FF0000">No se a creado el archivo config.</font>';
if($conexion)
$dat[]='<font color="#00FF00">Se a establecido la conexion con el servidro y la bd.</font>';
else
$dat[]='<font color="#FF0000">No se a establecido la conexion con el servidro y la bd.</font>';
if($crear['admin'])
$dat[]='<font color="#00FF00">Se a creado correctamente el usuario y el post.</font>';
else
$dat[]='<font color="#FF0000">No se a creado correctamente el usuario y el post.</font>';
if($crear['result'])
$dat[]='<font color="#00FF00">Se a creado correctamente las tablas.</font>';
else
$dat[]='<font color="#FF0000">No se a creado correctamente las tablas.</font>';
echo implode("<br />",$dat);
echo "<br />Elimine el archivo de instalacion si se instalo bien.";
}
?>
</td>
</tr>
</table>
</body>
</html>
Código PHP:
<?php
session_start();
if($_SESSION){
session_unset();
session_destroy();
}
header("location: index.php");
?>