elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Guia] Creacion de una pagina con BD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Guia] Creacion de una pagina con BD  (Leído 1,831 veces)
BigBear


Desconectado Desconectado

Mensajes: 545



Ver Perfil
[Guia] Creacion de una pagina con BD
« en: 23 Enero 2015, 16:47 pm »

[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 aca 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 sección 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
  1. body {
  2.    background:transparent url("images/fondo1.jpg") repeat scroll 0 0;
  3.    color:white;
  4.    font-family:helvetica,arial,sans-serif;
  5.    font-size:14px;
  6.    text-align:center;
  7. }
  8.  

En las etiquetas banner,box,footer agreguen el siguiente codigo para darle bordes a los div y una imagen de fondo :

Código
  1.    background-image:url("images/fondo2.jpg");
  2.    background-color:#000;
  3.    border: 3px dashed #00FFFF;
  4.  

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
  1. .categorias {
  2.    color:white;
  3.    border: 3px dashed #00FFFF;
  4.    width:200px;
  5.    word-wrap: break-word;
  6. }
  7.  
  8. .post {
  9.    background-image:url("images/fondo2.jpg");
  10.    background-color:#000;
  11.    color:white;
  12.    border: 3px dashed #00FFFF;
  13.    margin-bottom:10px;
  14.    width:560px;
  15.    word-wrap: break-word;
  16. }
  17.  


Despues de eso agregamos el siguiente codigo entre las etiquetas "menu" del archivo PHP que vendria a ser las "Categorias" :

Código
  1. <div class="categorias">
  2. <h3>Categorias</h3>
  3.  Link1<br />
  4.  Link2<br />
  5.  Link3<br />
  6.  Link4<br />
  7.  Link5<br />
  8.  Link6<br />
  9.  Link7<br />
  10.  Link8<br />
  11.  Link9<br />
  12.  Link10<br />
  13.  <br />
  14. </div>
  15.  

Ahora vamos a por los afiliados , vamos a agregar el siguiente codigo entre las etiquetas "otromenu" en el codigo del archivo PHP :

Código
  1. <div class="categorias">
  2. <h3>Afiliados</h3>
  3.  Link1<br />
  4.  Link2<br />
  5.  Link3<br />
  6.  Link4<br />
  7.  Link5<br />
  8.  Link6<br />
  9.  Link7<br />
  10.  Link8<br />
  11.  Link9<br />
  12.  Link10<br />
  13.  <br />
  14. </div>
  15.  

Despues vamos a agregar el siguiente codigo entre las etiquetas "body" para colocar noticias de ejemplo en el archivo PHP :

Código
  1. <div class="post">
  2. <h3>Noticia1</h3>
  3. <p>Contenido de Noticia1</p>
  4. </div>
  5.  
  6. <div class="post">
  7. <h3>Noticia2</h3>
  8. <p>Contenido de Noticia2</p>
  9. </div>
  10.  
  11.  
  12. <div class="post">
  13. <h3>Noticia3</h3>
  14. <p>Contenido de Noticia3</p>
  15. </div>
  16.  
  17.  
  18. <div class="post">
  19. <h3>Noticia4</h3>
  20. <p>Contenido de Noticia4</p>
  21. </div>
  22.  
  23.  
  24. <div class="post">
  25. <h3>Noticia5</h3>
  26. <p>Contenido de Noticia5</p>
  27. </div>
  28.  
  29.  
  30. <div class="post">
  31. <h3>Noticia6</h3>
  32. <p>Contenido de Noticia6</p>
  33. </div>
  34.  

Todo el codigo HTML del archivo PHP nos deberia haber quedado algo asi :

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Plantilla</title>
  5. <link href="style.css" rel="stylesheet" type="text/css" />
  6. </head>
  7.  
  8. <div class="container">
  9.  <div class="banner">Banner</div>
  10.  <div class="box">
  11.    <div class="menu">
  12.    <div class="categorias">
  13. <h3>Categorias</h3>
  14.  Link1<br />
  15.  Link2<br />
  16.  Link3<br />
  17.  Link4<br />
  18.  Link5<br />
  19.  Link6<br />
  20.  Link7<br />
  21.  Link8<br />
  22.  Link9<br />
  23.  Link10<br />
  24.  <br />
  25. </div>
  26.    </div>
  27.    <div class="body">
  28. <div class="post">
  29. <h3>Noticia1</h3>
  30. <p>Contenido de Noticia1</p>
  31. </div>
  32.  
  33. <div class="post">
  34. <h3>Noticia2</h3>
  35. <p>Contenido de Noticia2</p>
  36. </div>
  37.  
  38.  
  39. <div class="post">
  40. <h3>Noticia3</h3>
  41. <p>Contenido de Noticia3</p>
  42. </div>
  43.  
  44.  
  45. <div class="post">
  46. <h3>Noticia4</h3>
  47. <p>Contenido de Noticia4</p>
  48. </div>
  49.  
  50.  
  51. <div class="post">
  52. <h3>Noticia5</h3>
  53. <p>Contenido de Noticia5</p>
  54. </div>
  55.  
  56.  
  57. <div class="post">
  58. <h3>Noticia6</h3>
  59. <p>Contenido de Noticia6</p>
  60. </div>
  61.    </div>
  62.    <div class="otromenu">
  63. <div class="categorias">
  64. <h3>Afiliados</h3>
  65.  Link1<br />
  66.  Link2<br />
  67.  Link3<br />
  68.  Link4<br />
  69.  Link5<br />
  70.  Link6<br />
  71.  Link7<br />
  72.  Link8<br />
  73.  Link9<br />
  74.  Link10<br />
  75.  <br />
  76. </div>
  77.    </div>
  78.  </div>
  79.  <div class="footer">Footer</div>
  80. </div>
  81. </body>
  82. </html>
  83.  

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 link , 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 sección "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
  1. <a href="http://www.petardas.com"><img src="images/click.png"></a><br />
  2.  

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 sección 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 sección 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
  1. <?php
  2.  
  3. /*
  4.  
  5. Class : LoginNow
  6.  
  7. (c) Doddy Hackman 2015
  8.  
  9. */
  10.  
  11. class LoginNow
  12. {
  13.  
  14.    private $host;
  15.    private $db;
  16.    private $user;
  17.    private $pass;
  18.    private $tabla;
  19.    private $columna1;
  20.    private $columna2;
  21.    private $usereal;
  22.    private $passreal;
  23.    private $campouser;
  24.    private $campopass;
  25.    private $cookiename;
  26.  
  27.    public function campos($campouser, $campopass)
  28.    {
  29.        if (isset($_POST[$campouser])) {
  30.            $this->campouser = $_POST[$campouser];
  31.            $this->campopass = md5($_POST[$campopass]);
  32.        } else {
  33.            $this->campouser = $campouser;
  34.            $this->campopass = $campopass;
  35.        }
  36.    }
  37.  
  38.    public function database($host, $dbuser, $dbpass, $db, $tabla, $columna1, $columna2)
  39.    {
  40.        mysql_connect($host, $dbuser, $dbpass);
  41.        mysql_select_db($db);
  42.        $que = mysql_query("SELECT * FROM " . $tabla);
  43.        while ($test = mysql_fetch_array($que)) {
  44.            if ($this->campouser == $test[$columna1] and $this->campopass == $test[password]) {
  45.                $this->usereal  = $test[$columna1];
  46.                $this->passreal = $test[$columna2];
  47.                return true;
  48.            }
  49.        }
  50.    }
  51.  
  52.    public function secure($user, $pass)
  53.    {
  54.        if ($this->campouser == $user and $this->campopass == $pass) {
  55.            $this->usereal  = $user;
  56.            $this->passreal = $pass;
  57.            return true;
  58.        } else {
  59.            return false;
  60.        }
  61.    }
  62.  
  63.    public function cookienow($cookiename)
  64.    {
  65.        setcookie($cookiename, base64_encode($this->usereal . "@" . $this->passreal));
  66.    }
  67.  
  68. }
  69.  
  70. ?>
  71.  

noticion.php

Código
  1. <?php
  2.  
  3. /*
  4.  
  5. PHP Class : Noticion 1.0
  6.  
  7. (C) Doddy Hackman 2015
  8.  
  9. */
  10.  
  11.  
  12. class noticion
  13. {
  14.  
  15.    private $db;
  16.  
  17.    public function datos($host, $user, $pass, $db)
  18.    {
  19.  
  20.        $this->db = $db;
  21.  
  22.        if (@mysql_connect($host, $user, $pass)) {
  23.            if (@mysql_select_db($db)) {
  24.                return true;
  25.            }
  26.        }
  27.    }
  28.  
  29.    public function crear_categoria($nuevacategoria)
  30.    {
  31.  
  32.        $todo1 = "create table categoria_$nuevacategoria (
  33. id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  34. titulo VARCHAR(255) NOT NULL,
  35. contenido TEXT NOT NULL,
  36. fecha VARCHAR(255) NOT NULL,
  37. PRIMARY KEY (id));
  38. ";
  39.  
  40.        $todo2 = "create table comentarios_$nuevacategoria (
  41. id_noticia int(10),
  42. id_comentario int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  43. mensaje TEXT NOT NULL,
  44. apodo VARCHAR(255) NOT NULL,
  45. fecha VARCHAR(255) NOT NULL,
  46. PRIMARY KEY (id_comentario));
  47. ";
  48.  
  49.        if (@mysql_query($todo1)) {
  50.            if (@mysql_query($todo2)) {
  51.                return true;
  52.            }
  53.        }
  54.  
  55.    }
  56.  
  57.    public function eliminar_categoria($eliminarcategoria)
  58.    {
  59.  
  60.        if (@mysql_query("DROP TABLE categoria_$eliminarcategoria")) {
  61.            if (@mysql_query("DROP TABLE comentarios_$eliminarcategoria")) {
  62.                return true;
  63.            }
  64.  
  65.        }
  66.    }
  67.  
  68.  
  69.    public function eliminar($id, $categoria)
  70.    {
  71.        if (is_numeric($id)) {
  72.            if (@mysql_query("DELETE FROM categoria_$categoria where id='$id'")) {
  73.                return true;
  74.            }
  75.        }
  76.    }
  77.  
  78.    public function nueva_noticia($x_titulo, $x_contenido, $x_fecha, $categoria)
  79.    {
  80.        $sumo = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
  81.  
  82.        $s = mysql_fetch_row($sumo);
  83.  
  84.        foreach ($s as $d) {
  85.            $x_id = $d + 1;
  86.        }
  87.        if (@mysql_query("INSERT INTO categoria_$categoria(id,titulo,contenido,fecha)values('$x_id','$x_titulo','$x_contenido','$x_fecha')")) {
  88.            return true;
  89.        }
  90.    }
  91.  
  92.    public function ver_este($id, $categoria)
  93.    {
  94.        if (is_numeric($id)) {
  95.            $total = array();
  96.            if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria WHERE id='$id'")) {
  97.                while ($ver = @mysql_fetch_array($que)) {
  98.                    return array(
  99.                        $ver[0],
  100.                        $ver[1],
  101.                        $ver[2],
  102.                        $ver[3]
  103.                    );
  104.                }
  105.            }
  106.        }
  107.    }
  108.  
  109.    public function listar_categorias()
  110.    {
  111.  
  112.        $found = array();
  113.  
  114.        if ($re = @mysql_query("show tables from " . $this->db)) {
  115.  
  116.            while ($dat = mysql_fetch_row($re)) {
  117.                $separo = split("_", $dat[0]);
  118.                array_push($found, $separo[1]);
  119.            }
  120.            return array(
  121.                $found
  122.            );
  123.        }
  124.  
  125.    }
  126.  
  127.    public function ver_todo($categoria)
  128.    {
  129.        $total = array();
  130.        if ($que = @mysql_query("SELECT id,titulo,contenido,fecha FROM categoria_$categoria")) {
  131.            while ($ver = @mysql_fetch_array($que)) {
  132.                array_push($total, $ver);
  133.            }
  134.            return array(
  135.                $total
  136.            );
  137.        }
  138.    }
  139.  
  140.    public function mod($categoria, $id, $tit, $con, $fech)
  141.    {
  142.        if (@mysql_query("UPDATE categoria_$categoria SET id='$id',titulo='$tit',contenido='$con',fecha='$fech' where id='$id'")) {
  143.            return true;
  144.        }
  145.    }
  146.  
  147.    public function crear_comentario($categoria, $id_noticia, $fecha, $apodo, $mensaje)
  148.    {
  149.  
  150.        $sumo = mysql_query("SELECT MAX(id_comentario) FROM comentarios_$categoria");
  151.  
  152.        $s = mysql_fetch_row($sumo);
  153.  
  154.        foreach ($s as $d) {
  155.            $x_id = $d + 1;
  156.        }
  157.  
  158.        if (mysql_query("INSERT INTO comentarios_$categoria(fecha,apodo,mensaje,id_noticia,id_comentario)values('$fecha','$apodo','$mensaje','$id_noticia','$x_id')")) {
  159.            return true;
  160.        }
  161.  
  162.    }
  163.  
  164.    public function mod_comentario($categoria, $id, $fecha, $apodo, $contenido)
  165.    {
  166.        if (@mysql_query("UPDATE comentarios_$categoria SET id_comentario='$id',fecha='$fecha',apodo='$apodo',mensaje='$contenido' where id_comentario='$id'")) {
  167.            return true;
  168.        }
  169.    }
  170.  
  171.    public function ver_comentarios($categoria, $id)
  172.    {
  173.        $todo = array();
  174.        if ($ver = @mysql_query("SELECT id_noticia,id_comentario,apodo,mensaje,fecha FROM comentarios_$categoria")) {
  175.            while ($que = @mysql_fetch_array($ver)) {
  176.                if ($que[0] == 1) {
  177.                    array_push($todo, $que);
  178.                }
  179.            }
  180.            return array(
  181.                $todo
  182.            );
  183.        }
  184.  
  185.    }
  186.  
  187.  
  188.    public function borrar_comentario($categoria, $id)
  189.    {
  190.        if (is_numeric($id)) {
  191.            if (@mysql_query("DELETE FROM comentarios_$categoria where id_comentario='$id'")) {
  192.                return true;
  193.            }
  194.        }
  195.    }
  196.  
  197.  
  198.    public function cantidad_posts($categoria)
  199.    {
  200.        $valor    = mysql_query("SELECT MAX(id) FROM categoria_$categoria");
  201.        $cantidad = mysql_fetch_row($valor);
  202.        return $cantidad[0];
  203.    }
  204.  
  205.  
  206.    public function cerrar()
  207.    {
  208.        if (mysql_close()) {
  209.            return true;
  210.        }
  211.    }
  212.  
  213. }
  214.  
  215. // The End ?
  216.  
  217. ?>
  218.  

Ahora creen el siguiente codigo llamado admin.php :

Código
  1. <?php
  2.  
  3. include("login_now.php"); // LLamamos al archivo LoginNow.php
  4. include("noticion.php"); // Llamamos al archivo noticion.php
  5.  
  6. $username = "admin"; // Declaramos el usuario
  7. $password = "21232f297a57a5a743894a0e4a801fc3"; // Declaramos el password "admin" en md5
  8.  
  9. $host_mysql  = "localhost"; // Establecemos el host mysql
  10. $user_mysql  = "root"; //Establecemos el usuario mysql
  11. $pass_mysql  = ""; // Establecemos el password mysql
  12. $db_mysql    = "noticias"; // Establecemos la BD Mysql
  13. $tabla_mysql = "test"; // Declaramos el nombre de la tabla que contendra las noticias
  14.  
  15. $categoria = "test"; // Declaramos la categoria de las noticias
  16.  
  17. if (isset($_COOKIE['test'])) { // Si existe el cookie test ...
  18.    $comprobar = base64_decode($_COOKIE['test']); // Decodificamos sub contenido que esta en base64 y guardamos su contenido en la variable $comprobar
  19.    $parte     = preg_split("/@/", $comprobar); // Dividimos el usuario y el password que estan en entre @
  20.    $cookie    = new LoginNow; // Creamos el objeto de la clase LoginNow
  21.    $cookie->campos($parte[0], $parte[1]); // Establecemos los valores del usuario y el password que estan en la variable $parte
  22.    if ($cookie->secure($username, $password)) { // Verificamos con los valores globales que sean realmente los mismos passwords
  23.  
  24.        $noticia = New noticion; // Creamos el objeto noticion
  25.        $noticia->datos($host_mysql, $user_mysql, $pass_mysql, $db_mysql); // Establecemos los datos Mysql
  26.  
  27.        if (mysql_num_rows(mysql_query("show tables like 'categoria_$tabla_mysql'"))) { // Verificamos si existe la categoria
  28.  
  29.            echo "
  30. <title>Administrador</title>
  31. <br><h1><center>Administrador</center></h1><br>
  32. ";
  33.  
  34.            list($noticias) = $noticia->ver_todo($categoria); // Cargamos la lista de noticias
  35.  
  36.            echo "<center><table border=1>";
  37.  
  38.            foreach ($noticias as $ver) { // Listamos la lista de noticias
  39.                echo "<td>" . htmlentities($ver[0]) . "</td><td>" . htmlentities($ver[1]) . "</td><td>" . htmlentities($ver[3]) . "</td><tr>"; // Mostramos el ID,Titulo y Fecha
  40.            }
  41.            echo "</table></center><br>";
  42.  
  43.            echo "
  44. <center>
  45. <form action='' method=POST>
  46. Titulo : <input type=text name=titulo value=titulo><br><br>
  47. Contenido : <input type=text name=contenido value=test><br><br>
  48. <input type=submit name=publicar value=Publicar>
  49. </form>
  50. </center>
  51. ";
  52.  
  53.            if (isset($_POST['publicar'])) {
  54.  
  55.                if ($noticia->nueva_noticia(addslashes($_POST['titulo']), addslashes($_POST['contenido']), addslashes(date('Y-m-d')), $categoria)) { // Creamos la noticia ...
  56.                    echo "<center>Noticia Subida</center>";
  57.                } else {
  58.                    echo "<center>Error</center>";
  59.                }
  60.            }
  61.  
  62.        } else {
  63.            $noticia->crear_categoria($categoria); // Creamos la categoria sino existe
  64.            echo "Tabla creada , reinicie la pagina";
  65.        }
  66.  
  67.        $noticia->cerrar();
  68.  
  69.    }
  70. } else {
  71.  
  72.    echo "
  73. <title>Login</title>
  74. <br><h1><center>Login</center></h1><br>
  75. <center>
  76. <form action='' method=POST>
  77. Usuario : <input type=text name=usuario><br>
  78. Password : <input type=password name=password><br><br>
  79. <input type=submit name=login value=Entrar><br>
  80. </form>
  81. </center>
  82. ";
  83.  
  84.    if (isset($_POST['login'])) {
  85.  
  86.        $login1 = new LoginNow; // Creamos el objeto de la calse LoginNow
  87.        $login1->campos("usuario", "password"); // Establecemos los campos html del formulario donde estan el usuario y el password
  88.        if ($login1->secure($username, $password)) { // Verificamos que sean los mismos que los globales
  89.            $login1->cookienow("test"); // Creamos una cookie llamada "test"
  90.            echo "<center>Bienvenido administrador</center>";
  91.        } else {
  92.            echo "<center>Error en el inicio de sesion</center>";
  93.        }
  94.    }
  95.  
  96. }
  97.  
  98. ?>
  99.  

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
  1. <?php
  2.  
  3. include("noticion.php"); // Llamamos al archivo noticion.php
  4.  
  5. $host_mysql  = "localhost"; // Establecemos el host mysql
  6. $user_mysql  = "root"; //Establecemos el usuario mysql
  7. $pass_mysql  = ""; // Establecemos el password mysql
  8. $db_mysql    = "noticias"; // Establecemos la BD Mysql
  9. $tabla_mysql = "test"; // Declaramos el nombre de la tabla que contendra las noticias
  10.  
  11. $categoria = "test"; // Declaramos la categoria de las noticias
  12.  
  13. $noticia = New noticion; // Creamos el objeto noticion
  14. $noticia->datos($host_mysql, $user_mysql, $pass_mysql, $db_mysql); // Establecemos los datos Mysql
  15.  
  16. list($noticias) = $noticia->ver_todo($categoria); // Cargamos la lista de noticias
  17.  
  18. foreach ($noticias as $ver) { // Listamos la lista de noticias
  19.    echo "<div class='post'>
  20. <h3>" . htmlentities($ver[1]) . "</h3>
  21. <p>" . htmlentities($ver[2]) . "</p>
  22. </div>";
  23. }
  24.  
  25. ?>
  26.  

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 ?
--========--

Version PDF.

Version en VideoTutoriales :

https://www.youtube.com/watch?v=trrZJeyYJUQ
https://www.youtube.com/watch?v=GW-r3hOHz0Y
https://www.youtube.com/watch?v=sca5L7Lh_68
https://www.youtube.com/watch?v=y1CxJq_4ewY
https://www.youtube.com/watch?v=H-RWdyrdYwg
https://www.youtube.com/watch?v=QHE7OChFkjs

Cualquier error o sugerencia diganla para mejorar.


« Última modificación: 11 Febrero 2015, 20:51 pm por #!drvy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Creacion página web de descargas.
Desarrollo Web
Gogeto 8 4,564 Último mensaje 19 Abril 2011, 08:18 am
por 50l3r
ALGUIEN QUE ME DE UNA GUIA O PAGINA PARA CONSULTAR
Programación General
julian.97 2 2,759 Último mensaje 17 Junio 2011, 22:19 pm
por julian.97
Dudas sobre creación de pagina web o tienda 'interactiva'
Desarrollo Web
xknov 3 2,424 Último mensaje 28 Junio 2019, 21:57 pm
por FreeCellnet
[Resuelto] Creacion pagina web/red social
Desarrollo Web
farstafari 2 2,630 Último mensaje 30 Enero 2020, 10:09 am
por farstafari
Creación de Página Web
Desarrollo Web
adragon 1 2,663 Último mensaje 20 Marzo 2020, 15:54 pm
por ThunderCls
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines