comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Guia] Creacion de una pagina con BD

  • 0 Respuestas
  • 1080 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Enero 23, 2015, 12:52:05 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 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: HTML5
  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: HTML5
  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: HTML5
  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: HTML5
  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: HTML5
  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: HTML5
  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: HTML5
  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. <center>
  9. <div class="container">
  10.   <div class="banner">Banner</div>
  11.   <div class="box">
  12.     <div class="menu">
  13.     <div class="categorias">
  14. <h3>Categorias</h3>
  15.   Link1<br />
  16.   Link2<br />
  17.   Link3<br />
  18.   Link4<br />
  19.   Link5<br />
  20.   Link6<br />
  21.   Link7<br />
  22.   Link8<br />
  23.   Link9<br />
  24.   Link10<br />
  25.   <br />
  26. </div>
  27.     </div>
  28.     <div class="body">
  29. <div class="post">
  30. <h3>Noticia1</h3>
  31. <p>Contenido de Noticia1</p>
  32. </div>
  33.  
  34. <div class="post">
  35. <h3>Noticia2</h3>
  36. <p>Contenido de Noticia2</p>
  37. </div>
  38.  
  39.  
  40. <div class="post">
  41. <h3>Noticia3</h3>
  42. <p>Contenido de Noticia3</p>
  43. </div>
  44.  
  45.  
  46. <div class="post">
  47. <h3>Noticia4</h3>
  48. <p>Contenido de Noticia4</p>
  49. </div>
  50.  
  51.  
  52. <div class="post">
  53. <h3>Noticia5</h3>
  54. <p>Contenido de Noticia5</p>
  55. </div>
  56.  
  57.  
  58. <div class="post">
  59. <h3>Noticia6</h3>
  60. <p>Contenido de Noticia6</p>
  61. </div>
  62.     </div>
  63.     <div class="otromenu">
  64. <div class="categorias">
  65. <h3>Afiliados</h3>
  66.   Link1<br />
  67.   Link2<br />
  68.   Link3<br />
  69.   Link4<br />
  70.   Link5<br />
  71.   Link6<br />
  72.   Link7<br />
  73.   Link8<br />
  74.   Link9<br />
  75.   Link10<br />
  76.   <br />
  77. </div>
  78.     </div>
  79.   </div>
  80.   <div class="footer">Footer</div>
  81. </div>
  82. </center>
  83. </body>
  84. </html>
  85.  

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 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: HTML5
  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 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: PHP
  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: PHP
  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: PHP
  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: PHP
  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 :













Cualquier error o sugerencia diganla para mejorar.

 

¿Te gustó el post? COMPARTILO!



Programa para convertir pagina web a imagen. Web screenshot. conoces mas?

Iniciado por graphixx

Respuestas: 3
Vistas: 1689
Último mensaje Marzo 02, 2015, 11:31:44 pm
por fermino
[CSS][BASICO] Creando un container para nuestra pagina web

Iniciado por Destructor.cs

Respuestas: 0
Vistas: 1270
Último mensaje Julio 22, 2013, 09:24:57 pm
por Destructor.cs
[JavaScript][BASICO] Script ''pagina de inicio''

Iniciado por ANTRAX

Respuestas: 1
Vistas: 1130
Último mensaje Junio 09, 2011, 01:36:00 am
por th3n0lO
Cómo editar cualquier página web

Iniciado por ANTRAX

Respuestas: 8
Vistas: 3724
Último mensaje Abril 16, 2014, 05:15:22 am
por blackdrake
[PDF] 144 Libros - La guía suprema de JAVASCRIPT - NODE.JS - D3.JS - REACT

Iniciado por graphixx

Respuestas: 0
Vistas: 779
Último mensaje Septiembre 22, 2018, 01:02:12 am
por graphixx