• [Guia] Creacion de una pagina con BD

 #463177  por Doddy
 23 Ene 2015, 16:54
[Titulo] : Creacion de una pagina con BD
[Autor] : Doddy Hackman

[Temario]

--========================================================--

0x00 : Introduccion
0x01 : Creacion del diseño de la pagina
0x02 : Creacion un un logo estilo GTA
0x03 : Creacion de un footer animado
0x04 : Creacion de botones en Fireworks
0x05 : Creacion de un menu desplegable
0x06 : Creacion un panel de administracion

--========================================================--

0x00 : Introduccion

En este manual vamos a ver como hacer una pagina web en PHP que tengo un sistema de noticias y un panel de administracion y para poder entender este manual necesitan conocer HTML,CSS y PHP por lo menos de forma basica para entender su contenido y tambien necesitan los siguientes programas :

* Adobe Dreamweaver
* Adobe Photoshop
* Adobe Fireworks
* XAMPP O Easy PHP
* Anim-FX
* GifCam
* Un pack de imagenes que pueden descargar [ Debe registrarse para ver este enlace ] que contiene los fondos que necesitan en el manual y los ultimos dos programas

Cuando descarguen el pack copian los datos a una carpeta llamada "images" para usar durante el manual.

0x01 : Creacion del diseño de la pagina

Ahora vamos a hacer un diseño como este :



Para eso vamos a tener que seguir los siguientes pasos :

Descargamos el pack que esta en la seccion de "Requisitos" que contiene las imagenes necesarias para hacer la pagina de ejemplo.

Iniciamos el Dreamweaver y creamos una nueva pagina como PHP , una vez creado guardamos el proyecto con formato PHP , el directorio puede ser cualquiera.

Despues copiamos en el directorio de la pagina la carpeta "images" del pack en el directorio que eligieron para guardar la pagina.

Ahora cambiamos volvemos a Dreamweaver y cambiamos el titulo de la pagina "Documento sin título" por "Plantilla".

Despues agregamos <center> entre el inicio y final del <body> para centrar la pagina.

Ahora nos vamos a "Insertar -> Objectos de diseño -> Etiqueta DIV" y despues ponemos como nombre de clase "container" y le damos a "Nueva regla" , le damos al boton "aceptar" a la ventana que se nos aparece , como es la primera vez que usamos un div nos va a preguntar con que nombre guardamos el css , entonces ponganle "style.css" y guarden , despues de eso nos va a aparecer una ventana nueva , en esa ventana nos vamos a la categoria "Cuadro" y ponemos las dimensiones 1050x768 , 1050 de ancho y 768 de largo , le damos al boton "aceptar" y de nuevo aceptar a la ventana que se nos aparece , despues borren el texto por defecto del container.

Todo como en las imagenes :











Para crear el banner hagan los mismos pasos pero ponganle de nombre "banner" y las dimensiones "1024x100" , ponganle 3 px de margen a todos y de relleno pongan los valores "5,10,5,10" seguidos , tambien pongan la opcion "flotar" en alineacion izquierda.

Como en la imagen :



* Cambien el texto por defecto por "Banner"

Ahora para crear el contenido vamos a crear otro div con el nombre de "box" con las dimensiones 1024x500 , ponganle 3 px de margen a todos y de relleno tambien 5,10,5,10 , tambien pongan alineacion izquierda.

Como en la imagen :



* Borren el texto por defecto

Despues de insertar el box vamos a agregar otro div que sera el primer menu de categorias o lo que sea , de nombre pongan "menu" y tendra las dimensiones 200x500 , alineacion izquierda , margen 3 a todo y de relleno pongan 5,10,5,10

Como en la imagen :



* Cambien el texto por defecto por "Menu"

Ahora para crear lo mas importante que es el body vamos a tener que crear otro div nuevo con el nombre de "body" con las dimensiones 566x500 , alineacion izquierda , margen 3 a todo , y de relleno solo pongan el primero que seria 5 los demas lo dejan en blanco.

Como en la imagen :



* Cambien el texto por defecto por "Body"

Ahora para crear la parte de afiliados vamos a crear otro div con el nombre de "otromenu" , las dimensiones serian de 200x500 , alineacion izquierda , margen 3 para todo y de relleno 5,10,5,10

Como en la imagen :



* Cambien el texto por defecto por "OtroMenu"

Despues de eso ahora vamos al div final que es el footer , entonces creamos otro div con el nombre de "footer" con las dimensiones 1024x100 , margen 3 a todos menos al inferior que sera 10 , como relleno ponemos 5,10,5,10 y tambien le ponemos alineacion izquierda.

Como en la imagen :



* Cambien el texto por defecto por "Footer"

Ahora comenzamos con el codigo CSS , primero vamos a la pestaña de style.css y en la parte del codigo cambien en las etiquetas banner,box,menu,body,otromenu y footer el "height" por "min-height" esto nos va a ayudar que cuando el texto sobrepase el div , el div se alargara.

Despues agregamos el siguiente codigo al archivo CSS para poner una imagen de fondo :
Código: [ Debe registrarse para ver este enlace ]
body {
	background:transparent url("images/fondo1.jpg") repeat scroll 0 0;
	color:white;
	font-family:helvetica,arial,sans-serif;
	font-size:14px;
	text-align:center;
}
En las etiquetas banner,box,footer agreguen el siguiente codigo para darle bordes a los div y una imagen de fondo :
Código: [ Debe registrarse para ver este enlace ]
	background-image:url("images/fondo2.jpg");
	background-color:#000;
	border: 3px dashed #00FFFF;
Si hacemos F12 para ver como nos queda la pagina se nos deberia ver algo asi en el navegador :



Ahora agregamos el siguiente codigo al archivo CSS , para poder agregar el cuadro en el que estaran las categorias,posts y los afiliados :
Código: [ Debe registrarse para ver este enlace ]
.categorias {
	color:white;
	border: 3px dashed #00FFFF;
	width:200px;
	word-wrap: break-word;
}

.post {
	background-image:url("images/fondo2.jpg");
	background-color:#000;
	color:white;
	border: 3px dashed #00FFFF;
	margin-bottom:10px;
	width:560px;
	word-wrap: break-word;
}

Despues de eso agregamos el siguiente codigo entre las etiquetas "menu" del archivo PHP que vendria a ser las "Categorias" :
Código: [ Debe registrarse para ver este enlace ]
<div class="categorias">
<h3>Categorias</h3>
  Link1<br />
  Link2<br />
  Link3<br />
  Link4<br />
  Link5<br />
  Link6<br />
  Link7<br />
  Link8<br />
  Link9<br />
  Link10<br />
  <br />
</div>
Ahora vamos a por los afiliados , vamos a agregar el siguiente codigo entre las etiquetas "otromenu" en el codigo del archivo PHP :
Código: [ Debe registrarse para ver este enlace ]
<div class="categorias">
<h3>Afiliados</h3>
  Link1<br />
  Link2<br />
  Link3<br />
  Link4<br />
  Link5<br />
  Link6<br />
  Link7<br />
  Link8<br />
  Link9<br />
  Link10<br />
  <br />
</div>
Despues vamos a agregar el siguiente codigo entre las etiquetas "body" para colocar noticias de ejemplo en el archivo PHP :
Código: [ Debe registrarse para ver este enlace ]
<div class="post">
<h3>Noticia1</h3>
<p>Contenido de Noticia1</p>
</div>

<div class="post">
<h3>Noticia2</h3>
<p>Contenido de Noticia2</p>
</div>


<div class="post">
<h3>Noticia3</h3>
<p>Contenido de Noticia3</p>
</div>


<div class="post">
<h3>Noticia4</h3>
<p>Contenido de Noticia4</p>
</div>


<div class="post">
<h3>Noticia5</h3>
<p>Contenido de Noticia5</p>
</div>


<div class="post">
<h3>Noticia6</h3>
<p>Contenido de Noticia6</p>
</div>
Todo el codigo HTML del archivo PHP nos deberia haber quedado algo asi :
Código: [ Debe registrarse para ver este enlace ]
<!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=utf-8" />
<title>Plantilla</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<center>
<div class="container">
  <div class="banner">Banner</div>
  <div class="box">
    <div class="menu">
    <div class="categorias">
<h3>Categorias</h3>
  Link1<br />
  Link2<br />
  Link3<br />
  Link4<br />
  Link5<br />
  Link6<br />
  Link7<br />
  Link8<br />
  Link9<br />
  Link10<br />
  <br />
</div>
    </div>
    <div class="body">
<div class="post">
<h3>Noticia1</h3>
<p>Contenido de Noticia1</p>
</div>

<div class="post">
<h3>Noticia2</h3>
<p>Contenido de Noticia2</p>
</div>


<div class="post">
<h3>Noticia3</h3>
<p>Contenido de Noticia3</p>
</div>


<div class="post">
<h3>Noticia4</h3>
<p>Contenido de Noticia4</p>
</div>


<div class="post">
<h3>Noticia5</h3>
<p>Contenido de Noticia5</p>
</div>


<div class="post">
<h3>Noticia6</h3>
<p>Contenido de Noticia6</p>
</div>
    </div>
    <div class="otromenu">
<div class="categorias">
<h3>Afiliados</h3>
  Link1<br />
  Link2<br />
  Link3<br />
  Link4<br />
  Link5<br />
  Link6<br />
  Link7<br />
  Link8<br />
  Link9<br />
  Link10<br />
  <br />
</div>
    </div>
  </div>
  <div class="footer">Footer</div>
</div>
</center>
</body>
</html>
Si hicieron todo bien la pagina les deberia haber quedado algo como esto :



Eso seria todo por ahora en el diseño.

0x02 : Creacion un logo estilo GTA

Para crear un logo estilo GTA en Photoshop deben instalar primero la fuente necesaria del siguiente [ Debe registrarse para ver este enlace ] , para instalar la fuente descargado solo arrastran y copian los archivos del comprimido en el directorio "c:/windows/fonts de Windows" , despues de eso cargamos Photoshop y seguimos los siguiente pasos :

Creamos un proyecto con las dimensiones 995x108 y fondo transparente como en la siguiente imagen :



Una vez creado ponganle de fondo una imagen cualquiera en mi caso recorto una imagen con paint y lo copio en el proyecto quedando algo asi :



Despues hacemos click en la opcion "Texto horizontal" y seleccionamos el tipo de fuente "Pricedown" , tamaño de letra 80 pt y tipo de color #ffffcc , entonces una vez hecho esto agregamos el texto "Probando" con la herramienta "Texto horizontal" seleccionada , todo deberia verse algo asi :



Ahora hacemos click derecho en la capa llamada "PROBANDO" que es el texto creado y hacemos click en "Opciones de Fusion" , entonces activamos el estilo "Trazo" , de tamaño pongan 3 y pongan de color #000000 , entonces hagan click en "OK" y les deberia quedar algo asi :





Ahora tenemos que seleccionar la "Capa 1" para ir despues a "Edicion->Contornear" , ponemos de anchura 8px y de color #ffffcc , le damos a "OK" y se deberia ver algo asi :





Como detalle final sino les gusta la posicion del texto pueden mover el texto al centro o como mas les guste , en mi caso queda asi :



Para terminar guardamos el proyecto como "png" y volvemos a la plantilla creada con Dream y nos vamos al div "banner" , borramos el texto "Banner" y insertamos el logo creado con Photoshop , para eso nos vamos a "Insertar->Imagen" y ponemos en la ventana que nos abre la ruta de la imagen.

Nos deberia quedar algo asi :



0x03 : Creacion de un footer animado

Cargamos el programa "Anim-FX" y llenamos los campos de la siguiente forma :

Text 1 : TEST 1
2 : TEST 2
3 : TEST 3
4 : TEST 4
5 : TEST 5

Tipo de efecto : flash

Tamaño de letra : 145
Color de letra : El color es celeste claro que vendria a ser 52FEFD

Se les deberia ver algo asi :



Ahora cargamos el GifCam y hacemos click en "Rec" sobre la zona de la animacion que quieren grabar.
Despues de terminar de grabar hacemos click en "Stop" y despues en "Save" para despues grabar el gif donde quieran

Una vez terminado todo nos vamos al proyecto de dream y en el div footer borramos el texto "Footer" y insertamos el gif animado , para eso nos vamos a "Insertar->Imagen" y ponemos en la ventana que nos abre la ruta del gif.

Se les deberia ver algo asi :



Eso seria todo el footer animado.

0x04 : Creacion de botones en Fireworks

Para crear un boton en Fireworks primer cargamos el programa y hacemos click en crear un nuevo "Documento de Fireworks (PNG)" con las dimensiones de 100x50 y de colo de lienzo "transparente".

Les deberia quedar asi :



Una vez hecho esto vamos al cuadro de herramientas y seleccionamos "Rectangulo redondeado" de la herramienta "Rectangulo" que se encuentra en la seccion "Vector".
Ya seleccionado creamos un rectangulo redondeado en la zona de trabajo del color que quieran , para ponerle un estilo primero seleccionen el rectangulo creado y despues seleccionen el estilo que quieran en el cuadro de herramientas derecho llamado "Activos->Estilos" quedando todo asi :







En mi caso elegi el estilo mas parecido a Tron y desactivo el filtro "Sombra" porque no me gustaba como quedaba , los filtros estan en la parte de abajo del programa y se puede ver cuando estan aplicando el estilo.

Como ven ya tenemos la forma del boton , ahora vamos a ponerle texto , entonces seleccionamos la herramienta "herramienta de texto" para escribir "click" sobre el boton redondeado con el color que quieran , pueden mover el texto de posicion con la "herramienta puntero" si no les gusta como quedo.

Les deberia quedar algo asi , yo en mi caso elegi letra blanca :



Para terminar vamos a "Archivo->Guardar como" y guardamos el boton con el nombre que quieran , el formato que tendra sera de PNG.

Para usarlo en la plantilla que creamos con Dream vamos al div "otromenu" , borramos los links de ejemplo y pongan el siguiente codigo entre los div :
Código: [ Debe registrarse para ver este enlace ]
<a href="http://www.petardas.com"><img src="images/click.png"></a><br />
Recuerden que el boton creado tiene que estar en una carpeta llamada images sino nunca se va a encontrar el boton.

Cambien petardas por el link que quieran y cambien click.png por el verdadero nombre y ruta del boton.

En mi caso use tres veces esa linea de codigo como ejemplo.

Les deberia quedar algo asi :





Y en el navegador se deberia ver asi :



Eso seria todo con los botones.

0x05 : Creacion de un menu desplegable

Bueno para hacer esto volvemos a la plantilla inicial con Dream y borramos los links de ejemplo que estan la seccion de categorias justamente en el div "menu" y agregamos un <br/> antes del </div> y otro despues del <h3> de categorias , y para terminar insertamos un menu vertical de la siguiente forma :

Insertar->Spry->Barra de menus de Spry y en la ventana que aparece seleccionamos "Vertical".

Deberiamos ver algo asi :



Primero vamos hacer click en el menu creado y desde ahi cambiar los textos de todos los "elementos" por "test" , cambien tanto en la columna 1 o en la columna 2 si es que se desplega otro menu a partir de ese.

Despues para poner un vinculo solo lo hacen desde la casilla correspondiente que esta abajo de la de "texto" , en mi caso solo voy a poner un link y va a ser en el "test2"

Deberian ver algo asi :



Ahora vamos a tunear el menu con colores raros con las siguientes pasos :

Para empezar seleccionamos el menu vertical y desde la seccion de "Estilos CSS" hacemos click en "Actual" para despues seleccionar y hacer doble click en "border"



Ahora vamos a la categoria "Borde" , en Estilo seleccionamos "doble" para todos , ancho 3 para todos y de color #2EFEF7 para todos.

Deberia quedar asi :



Despues vamos a "Estilos CSS" y despues a "Todo" para despues desplegar SpryMenuBarVertical.css.

Seleccionamos y hacemos doble click en "ul.MenuBarVertical a" para ir a la categoria "Tipo" y cambiar el color de la letra por celeste claro , ahora nos vamos a la categoria "Fondo" ponemos el color de fondo negro y para terminar ponemos la imagen de fondo "normal.jpg" con la opcion de "no repetir"

Quedando asi :







Ahora hacemos lo mismo con el "ul" que esta abajo del anterior solo que la fuente la dejan como esta y la imagen de fondo va ser el fondo "hover.jpg" con la opcion de "no repetir".







Como menu final se les deberia ver algo asi :



Eso seria todo en el menu.

0x06 : Creacion un panel de administracion

Para empezar activemos el XAMPP o Easy PHP , despues creen las siguientes clases PHP en el directorio donde esta la pagina :

login_now.php
Código: [ Debe registrarse para ver este enlace ]
<?php

/*

Class : LoginNow

(c) Doddy Hackman 2015

*/

class LoginNow
{
    
    private $host;
    private $db;
    private $user;
    private $pass;
    private $tabla;
    private $columna1;
    private $columna2;
    private $usereal;
    private $passreal;
    private $campouser;
    private $campopass;
    private $cookiename;
    
    public function campos($campouser, $campopass)
    {
        if (isset($_POST[$campouser])) {
            $this->campouser = $_POST[$campouser];
            $this->campopass = md5($_POST[$campopass]);
        } else {
            $this->campouser = $campouser;
            $this->campopass = $campopass;
        }
    }
    
    public function database($host, $dbuser, $dbpass, $db, $tabla, $columna1, $columna2)
    {
        mysql_connect($host, $dbuser, $dbpass);
        mysql_select_db($db);
        $que = mysql_query("SELECT * FROM " . $tabla);
        while ($test = mysql_fetch_array($que)) {
            if ($this->campouser == $test[$columna1] and $this->campopass == $test[password]) {
                $this->usereal  = $test[$columna1];
                $this->passreal = $test[$columna2];
                return true;
            }
        }
    }
    
    public function secure($user, $pass)
    {
        if ($this->campouser == $user and $this->campopass == $pass) {
            $this->usereal  = $user;
            $this->passreal = $pass;
            return true;
        } else {
            return false;
        }
    }
    
    public function cookienow($cookiename)
    {
        setcookie($cookiename, base64_encode($this->usereal . "@" . $this->passreal));
    }
    
}

?>
noticion.php
Código: [ Debe registrarse para ver este enlace ]
<?php

/*

PHP Class : Noticion 1.0

(C) Doddy Hackman 2015

*/


class noticion
{
    
    private $db;
    
    public function datos($host, $user, $pass, $db)
    {
        
        $this->db = $db;
        
        if (@mysql_connect($host, $user, $pass)) {
            if (@mysql_select_db($db)) {
                return true;
            }
        }
    }
    
    public function crear_categoria($nuevacategoria)
    {
        
        $todo1 = "create table categoria_$nuevacategoria (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
titulo VARCHAR(255) NOT NULL,
contenido TEXT NOT NULL,
fecha VARCHAR(255) NOT NULL,
PRIMARY KEY (id));
";
        
        $todo2 = "create table comentarios_$nuevacategoria (
id_noticia int(10),
id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje TEXT NOT NULL,
apodo VARCHAR(255) NOT NULL,
fecha VARCHAR(255) NOT NULL,
PRIMARY KEY (id_comentario));
";
        
        if (@mysql_query($todo1)) {
            if (@mysql_query($todo2)) {
                return true;
            }
        }
        
    }
    
    public function eliminar_categoria($eliminarcategoria)
    {
        
        if (@mysql_query("DROP TABLE categoria_$eliminarcategoria")) {
            if (@mysql_query("DROP TABLE comentarios_$eliminarcategoria")) {
                return true;
            }
            
        }
    }
    
    
    public function eliminar($id, $categoria)
    {
        if (is_numeric($id)) {
            if (@mysql_query("DELETE FROM categoria_$categoria where id='$id'")) {
                return true;
            }
        }
    }
    
    public function nueva_noticia($x_titulo, $x_contenido, $x_fecha, $categoria)
    {
        $sumo = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
        
        $s = mysql_fetch_row($sumo);
        
        foreach ($s as $d) {
            $x_id = $d + 1;
        }
        if (@mysql_query("INSERT INTO categoria_$categoria(id,titulo,contenido,fecha)values('$x_id','$x_titulo','$x_contenido','$x_fecha')")) {
            return true;
        }
    }
    
    public function ver_este($id, $categoria)
    {
        if (is_numeric($id)) {
            $total = array();
            if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria WHERE id='$id'")) {
                while ($ver = @mysql_fetch_array($que)) {
                    return array(
                        $ver[0],
                        $ver[1],
                        $ver[2],
                        $ver[3]
                    );
                }
            }
        }
    }
    
    public function listar_categorias()
    {
        
        $found = array();
        
        if ($re = @mysql_query("show tables from " . $this->db)) {
            
            while ($dat = mysql_fetch_row($re)) {
                $separo = split("_", $dat[0]);
                array_push($found, $separo[1]);
            }
            return array(
                $found
            );
        }
        
    }
    
    public function ver_todo($categoria)
    {
        $total = array();
        if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria")) {
            while ($ver = @mysql_fetch_array($que)) {
                array_push($total, $ver);
            }
            return array(
                $total
            );
        }
    }
    
    public function mod($categoria, $id, $tit, $con, $fech)
    {
        if (@mysql_query("UPDATE categoria_$categoria SET id='$id',titulo='$tit',contenido='$con',fecha='$fech' where id='$id'")) {
            return true;
        }
    }
    
    public function crear_comentario($categoria, $id_noticia, $fecha, $apodo, $mensaje)
    {
        
        $sumo = mysql_query("SELECT MAX(id_comentario) FROM comentarios_$categoria");
        
        $s = mysql_fetch_row($sumo);
        
        foreach ($s as $d) {
            $x_id = $d + 1;
        }
        
        if (mysql_query("INSERT INTO comentarios_$categoria(fecha,apodo,mensaje,id_noticia,id_comentario)values('$fecha','$apodo','$mensaje','$id_noticia','$x_id')")) {
            return true;
        }
        
    }
    
    public function mod_comentario($categoria, $id, $fecha, $apodo, $contenido)
    {
        if (@mysql_query("UPDATE comentarios_$categoria SET id_comentario='$id',fecha='$fecha',apodo='$apodo',mensaje='$contenido' where id_comentario='$id'")) {
            return true;
        }
    }
    
    public function ver_comentarios($categoria, $id)
    {
        $todo = array();
        if ($ver = @mysql_query("SELECT id_noticia,id_comentario,apodo,mensaje,fecha FROM comentarios_$categoria")) {
            while ($que = @mysql_fetch_array($ver)) {
                if ($que[0] == 1) {
                    array_push($todo, $que);
                }
            }
            return array(
                $todo
            );
        }
        
    }
    
    
    public function borrar_comentario($categoria, $id)
    {
        if (is_numeric($id)) {
            if (@mysql_query("DELETE FROM comentarios_$categoria where id_comentario='$id'")) {
                return true;
            }
        }
    }
    
    
    public function cantidad_posts($categoria)
    {
        $valor    = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
        $cantidad = mysql_fetch_row($valor);
        return $cantidad[0];
    }
    
    
    public function cerrar()
    {
        if (mysql_close()) {
            return true;
        }
    }
    
}

// The End ?

?>
Ahora creen el siguiente codigo llamado admin.php :
Código: [ Debe registrarse para ver este enlace ]
<?php

include("login_now.php"); // LLamamos al archivo LoginNow.php
include("noticion.php"); // Llamamos al archivo noticion.php

$username = "admin"; // Declaramos el usuario
$password = "21232f297a57a5a743894a0e4a801fc3"; // Declaramos el password "admin" en md5

$host_mysql  = "localhost"; // Establecemos el host mysql
$user_mysql  = "root"; //Establecemos el usuario mysql
$pass_mysql  = ""; // Establecemos el password mysql
$db_mysql    = "noticias"; // Establecemos la BD Mysql
$tabla_mysql = "test"; // Declaramos el nombre de la tabla que contendra las noticias

$categoria = "test"; // Declaramos la categoria de las noticias

if (isset($_COOKIE['test'])) { // Si existe el cookie test ...
    $comprobar = base64_decode($_COOKIE['test']); // Decodificamos sub contenido que esta en base64 y guardamos su contenido en la variable $comprobar
    $parte     = preg_split("/@/", $comprobar); // Dividimos el usuario y el password que estan en entre @
    $cookie    = new LoginNow; // Creamos el objeto de la clase LoginNow
    $cookie->campos($parte[0], $parte[1]); // Establecemos los valores del usuario y el password que estan en la variable $parte
    if ($cookie->secure($username, $password)) { // Verificamos con los valores globales que sean realmente los mismos passwords
        
        $noticia = New noticion; // Creamos el objeto noticion
        $noticia->datos($host_mysql, $user_mysql, $pass_mysql, $db_mysql); // Establecemos los datos Mysql
        
        if (mysql_num_rows(mysql_query("show tables like 'categoria_$tabla_mysql'"))) { // Verificamos si existe la categoria
            
            echo "
<title>Administrador</title>
<br><h1><center>Administrador</center></h1><br>
";
            
            list($noticias) = $noticia->ver_todo($categoria); // Cargamos la lista de noticias
            
            echo "<center><table border=1>";
            
            foreach ($noticias as $ver) { // Listamos la lista de noticias
                echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[1]) . "</td><td>" . htmlentities($ver[3]) . "</td><tr>"; // Mostramos el ID,Titulo y Fecha
            }
            echo "</table></center><br>";
            
            echo "
<center>
<form action='' method=POST>
Titulo : <input type=text name=titulo value=titulo><br><br>
Contenido : <input type=text name=contenido value=test><br><br>
<input type=submit name=publicar value=Publicar>
</form>
</center>
";
            
            if (isset($_POST['publicar'])) {
                
                if ($noticia->nueva_noticia(addslashes($_POST['titulo']), addslashes($_POST['contenido']), addslashes(date('Y-m-d')), $categoria)) { // Creamos la noticia ...
                    echo "<center>Noticia Subida</center>";
                } else {
                    echo "<center>Error</center>";
                }
            }
            
        } else {
            $noticia->crear_categoria($categoria); // Creamos la categoria sino existe
            echo "Tabla creada , reinicie la pagina";
        }
        
        $noticia->cerrar();
        
    }
} else {
    
    echo "
<title>Login</title>
<br><h1><center>Login</center></h1><br>
<center>
<form action='' method=POST>
Usuario : <input type=text name=usuario><br>
Password : <input type=password name=password><br><br>
<input type=submit name=login value=Entrar><br>
</form>
</center>
";
    
    if (isset($_POST['login'])) {
        
        $login1 = new LoginNow; // Creamos el objeto de la calse LoginNow 
        $login1->campos("usuario", "password"); // Establecemos los campos html del formulario donde estan el usuario y el password
        if ($login1->secure($username, $password)) { // Verificamos que sean los mismos que los globales
            $login1->cookienow("test"); // Creamos una cookie llamada "test"
            echo "<center>Bienvenido administrador</center>";
        } else {
            echo "<center>Error en el inicio de sesion</center>";
        }
    }
    
}

?>
Primero modifiquen los datos mysql por los suyos en el admin.php despues entren con el user y pass : "admin" , deberian ver esto :



Una vez logeados :



Ahora creen las noticias que quieran , yo en mi caso voy a publicar 5 sucesivamente con "titulo" y "test".

Despues de eso mi panel se vera asi :



Ahora cargamos la plantilla creada y usada anteriormente con Dream para ir al div "body" y borrar todo lo que contiene para copiar el siguiente codigo en PHP :
Código: [ Debe registrarse para ver este enlace ]
<?php

include("noticion.php"); // Llamamos al archivo noticion.php

$host_mysql  = "localhost"; // Establecemos el host mysql
$user_mysql  = "root"; //Establecemos el usuario mysql
$pass_mysql  = ""; // Establecemos el password mysql
$db_mysql    = "noticias"; // Establecemos la BD Mysql
$tabla_mysql = "test"; // Declaramos el nombre de la tabla que contendra las noticias

$categoria = "test"; // Declaramos la categoria de las noticias

$noticia = New noticion; // Creamos el objeto noticion
$noticia->datos($host_mysql, $user_mysql, $pass_mysql, $db_mysql); // Establecemos los datos Mysql

list($noticias) = $noticia->ver_todo($categoria); // Cargamos la lista de noticias

foreach ($noticias as $ver) { // Listamos la lista de noticias
    echo "<div class='post'>
<h3>" . htmlentities($ver[1]) . "</h3> 
<p>" . htmlentities($ver[2]) . "</p>
</div>";
}

?> 
Los dos codigos estan identados y comentados para que puedan entender.

Deberian ver algo como esto :



Y el resultado de la pagina con el sistema de noticias seria :



Eso seria todo.

--========--
The End ?
--========--

[ Debe registrarse para ver este enlace ].

Version en VideoTutoriales :













Cualquier error o sugerencia diganla para mejorar.