Cargando



Aprende a crear tu propio CMS y no morir en el intento

Completo manual para aprender a realizar tu propio CMS de calidad y bien implementado desde la bbdd y todos sus puntos vitales.


may 30 2016 11:28
Profesional

Creando módulo de configuración del CMS

 

Vamos a empezar a guardar información en nuestra base de datos. Empezamos creando un nuevo archivo llamado page-configuracion.php en el directorio admin. El código sería el siguiente:


<?php include 'header.php'; ?>
   <form class="pure-form pure-form-stacked" action="resultado_configuracion.php" method="post">
	  <fieldset>
		  <legend>Configuración</legend>
		  <label for="title">Titulo web</label>
		  <input name="title" type="text" placeholder="Titulo" value="" class="pure-input-1">
		  <label for="address">Dirección</label>
		  <input name="address" type="text" placeholder="Dirección" value="" class="pure-input-1">

		  <label for="geolocation">Geolocalización</label>
		  <input name="geolocation" type="text" placeholder="latitud,longitud" value="" class="pure-input-1">
		  <button type="submit" class="pure-button pure-button-primary">Guardar</button>
	  </fieldset>
  </form>
<?php include 'footer.php'; ?>

También creamos otro archivo llamado resultado_configuracion.php quien estará encargado de recibir la información del formulario que tenemos en page-configuracion.php, luego guardar dicha información a la base de datos e informar si todo fue guardado exitosamente o si nos generó error, dicho mensaje será visualizado en el archivo page-respuesta.php.
Código resultado_configuracion.php:
<?php
$path = dirname(__FILE__);
require_once( $path . '/../../setting/config.php');
require_once( $path . '/../../setting/mysql.php');
$mysql = new Mysql();
$sql = <<<SQL
  SELECT * FROM configuracion LIMIT 1
SQL;
$res = $mysql->search($sql);

//Vars
$title = $_POST['title'];
$address = $_POST['address'];
$geolocation = $_POST['geolocation'];
if( count($res) > 0 ){
  $sql = <<<SQL
  UPDATE configuracion SET titulo = '$title' , direccion = '$address', geolocalizacion = '$geolocation'
SQL;
}else{
  $sql = <<<SQL
  INSERT INTO configuracion (titulo, direccion, geolocalizacion) VALUES ('$title' ,'$address', '$geolocation')
SQL;
}
$response = ( $mysql->execute($sql) ) ? 'Guardado exitoso!' : 'Error al guardar configuración.';
header("Location: " . Config::URL .  "admin/page-respuesta.php?response=$response");
?>
Código de page-respuesta.php
<?php include 'header.php' ?>
   <table class="pure-table">
	 <tr>
	   <td>
		 <h4><?= $_GET['response'] ?></h4>
	   </td>
	 </tr>
	 <tr>
	   <td>
		 <a href="<?= Config::URL.'admin' ?>" class="pure-button pure-button-primary">Regresar al menú</a>
	   </td>
	 </tr>
   </table>
<?php include 'footer.php' ?>
Hagamos prueba entrando desde el menú de nuestro administrador a la opción Configuración, escribir y guardar los datos y revisamos en la tabla configuracion de la en la base de datos. Debería salirnos lo siguiente.

 

crear-propio-cms-6.jpg

 

crear-propio-cms-7.jpg

 

crear-propio-cms-8.jpg

 

Entramos nuevamente a la opción de configuración en el CMS, debemos encontrarnos que no carga la información que acabamos de guardar. Ahora lo que debemos hacer es cargar esa información en nuestro formulario. Editamos los archivos data.php y page-configuracion.php

 

Nuevo código en data.php

function cargar_datos_configuracion(){
   $mysql = new Mysql();
   $sql = <<<SQL
	 SELECT * FROM configuracion LIMIT 1
SQL;
$res = $mysql->search($sql);
   $res  = $res[0];
   return $res;
}
Page-configuracion.php queda de la siguiente forma:
<?php include 'header.php'; ?>
  <?php $res = cargar_datos_configuracion(); ?>
   <form class="pure-form pure-form-stacked" action="resultado_configuracion.php" method="post">
	  <fieldset>
		  <legend>Configuración</legend>
		  <label for="title">Titulo web</label>
		  <input name="title" type="text" placeholder="Titulo" value="<?= $res['titulo'] ?>" class="pure-input-1">
		  <label for="address">Dirección</label>
		  <input name="address" type="text" placeholder="Dirección" value="<?= $res['direccion'] ?>" class="pure-input-1">

		  <label for="geolocation">Geolocalización</label>
		  <input name="geolocation" type="text" placeholder="latitud,longitud" value="<?= $res['geolocalizacion'] ?>" class="pure-input-1">
		  <button type="submit" class="pure-button pure-button-primary">Guardar</button>
	  </fieldset>
  </form>
<?php include 'footer.php'; ?>
Ahora si refrescamos nuevamente la página de configuración debe salirnos la información que tenemos guardada en base de datos.

 

Page-configuracion.php queda de la siguiente forma.

<?php include 'header.php'; ?>
  <?php $res = cargar_datos_configuracion(); ?>
   <form class="pure-form pure-form-stacked" action="resultado_configuracion.php" method="post">
	  <fieldset>
		  <legend>Configuración</legend>
		  <label for="title">Titulo web</label>
		  <input name="title" type="text" placeholder="Titulo" value="<?= $res['titulo'] ?>" class="pure-input-1">
		  <label for="address">Dirección</label>
		  <input name="address" type="text" placeholder="Dirección" value="<?= $res['direccion'] ?>" class="pure-input-1">

		  <label for="geolocation">Geolocalización</label>
		  <input name="geolocation" type="text" placeholder="latitud,longitud" value="<?= $res['geolocalizacion'] ?>" class="pure-input-1">
		  <button type="submit" class="pure-button pure-button-primary">Guardar</button>
	  </fieldset>
  </form>
<?php include 'footer.php'; ?>
Ahora si refrescamos nuevamente la página de configuración debe salirnos la información que tenemos guardada en base de datos.

 


¿Te ayudó este Tutorial?


14 Comentarios

Muchas gracias, es un tutorial que voy a leerlo con calma. Lo he visto por encima y es super completo. Saludos.

Graciasss, he sacado unas ideas jeje

Menudo curro te has pegado, yo me embarqué en la aventura de crear mi propia web sin conocer nada de nada de programación, hice una web de anuncios clasificados sin saber , la verdad , dónde me metia, si o hubiera sabido probablemente no lo habría hecho.

 

Unas cuantas veces estuve a punto de dejarlo por que veia que se me apoderaba, lo que pasa es que llegado a un punto sería tirar todo el trabajo por la borda.

 

Lo que más me ha gustado de intentarlo es lo que se aprende sobre html, php, bases de datos, diseño, etc, aunque es un trabajo muy laborioso.

 

La web la teminé este año pasado y está en marcha, no es nada del otro mundo pero ahí está, lo que pasa es que le falta un empujoncillo, a ver si saco tiempo y puedo promocionarla un poco más.

Quien quiera hecharle un vistazo se llama ZonAnuncio, y si quereis anunciaros estais invitados, es totalmente gratuita y solo para España.

 

Un Saludo y ánimo, felicidades por el trabajo.


José Villarroel
oct 23 2016 04:38

no puedo descargar el cms, me pide loguearme, pero melogueo y me vuelve a pedir que me loguee


Aldair Floréz
nov 13 2016 00:29

La descarga no funciona ¿ sera que nos podrías compartir el código ?


Pablo Santos
nov 13 2016 17:53

La descarga no funciona ¿ sera que nos podrías compartir el código ?

 

Yo pulso en el enlace cms.zip este y me deja bajarlo. ¿Que navegador usais para descargarlo? Yo uso Chrome y sin problemas...


Pablo Santos
nov 13 2016 17:55

Por cierto que no he dicho nada, impresionante tutorial. bravo solvetic.


Aldair Floréz
nov 14 2016 05:41

Amigo cada vez que voy a descargar me pide el login, me logueo de nuevo y me sigue pidiendo logueo. y nunca lo puedo descargar, serias tan amable de enviarmelo a este correo aldairflorezacuna@gmail.com


Esterlin Perez
nov 24 2016 23:24

Buenoas el tutorial esta bastante bueno gracias de ante manos me gustaria saver como ver un listado de categoria si es posibles


Jorge Bastidas
feb 07 2017 19:14

Buenas amigo, estoy realizando un manejador de contenido siguiendo las pautas de este tutorial, ya estoy finalizando las funciones y tengo problemas con la función de analizar contenido, si hay alguna forma de contactar para mostrarte mi código y ver que problema puede tener, utilizo PHP 5.6, mi correo es jorgebastidas9@gmail.com


CristianCardona
abr 04 2017 22:40

Apenas los conocí los felicito excelente tutorial


Skullkrusher314
ago 15 2017 03:21

Hola chicos, me podiran ayudar en algo?

¿Como podria hacer una funcion para borrar un post/pagina desde el editor?

Estimados, tengo el siguiente problema. Ayuda por favor

 

Warning: require_once(C:\xampp\htdocs\cms\public/../../../setting/config.php): failed to open stream: No such file or directory in C:\xampp\htdocs\cms\public\data.php on line 3

Buenas noches, felicito al autor del tutorial ya que considero que es excelente base para empezar.

Y mi pregunta es la siguiente ¿bajo que licencia distribuyen el código?

¿Puedo usar parte del código para crear un cms "más completo" y distribuirlo?

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X