Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: SoyJoaquin. en 10 de Febrero de 2010, 01:11:26 am

Título: Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 10 de Febrero de 2010, 01:11:26 am
Tutorial - Crear Sistema de Noticias en SQL
Creado y Programado por SoyJoaquin.



Buenas... En este post aprenderán a crear un sistema de noticias con este tutorial hecho por mi.
Bueno.. Para crear un sistema de noticias hay que tomar en cuenta 3 pasos básicos:

1-Conexión SQL
2-Formulario Guardar
3-Mostrar datos


Así que empezaremos paso a paso como hacerlo y empezamos con:

-Paso 1: Conexión SQL:
-1.1: Crear conexion a la SQL.

Aquí lo que tenemos que hacer es crear un simple archivo .PHP con el nombre que le quieran dar, Por ejemplo "coneccion.php". De aquí empezaremos a hacer las conexiones con la base de datos SQL.

En este caso tomaremos el texto como ejemplo de el conectar.php de los mc, ya que una conexión siempre es igual.

Código: [Seleccionar]
<?
$servidor = "Aqui Servidor";
$usuario = "Usuario de la Base de Datos";
$clave = "Contra de la Base de Datos";
$dbnombre = "Nombre de la Base de Datos";
$conecta = mysql_connect($servidor, $usuario, $clave) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
mysql_select_db($dbnombre, $conecta);
?>

Tienes que cambiar los datos  por tus datos de conexión a la SQL (Base de Datos):

Aqui Servidor (Este es el servidor de la base de datos, si usas miarroba acuérdate que su servidor es mysql.webcindario.com)

Usuario de la Base de Datos (Este es tu usuario de la base de datos, si usas miarroba recuerda que tu usuario seria por ejemplo "www.123.webcindario.com" el usuario de este servidor es 123 ¿Entiendes?)

Contra de la Base de Datos (Esta es la contraseña de tu base de datos, Si usas miarroba la contraseña seria la que colocaste en la pestaña "Preferencias" en tu administrador del sitio web)

Nombre de la Base de Datos (Es el nombre de tu base de datos SQL, Si usas miarroba recuerda que el nombre de la base de datos es el mismo que el usuario)

Reemplaza esos datos en el código y guarda el archivo en tu FTP de tu sitio web.
Nota: Recuerda mantener las " " entre el dato que colocaste.

-1.2: Código SQL.
Este código lo tienen que subir a su base de datos SQL manualmente:

Código: [Seleccionar]
CREATE TABLE `noticias` (
`id` INT auto_increment ,
`titulo` VARCHAR( 100 ) NOT NULL DEFAULT 'No Hay Titulo',
`autor` VARCHAR( 50 ) NOT NULL DEFAULT 'Desconocido',
`mensaje` VARCHAR( 1000 ) NOT NULL DEFAULT 'No Hay Mensaje',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM


-Paso 2: Formulario Guardar:
-2.1: Crear Include.

En este paso crearemos el formulario que guardara los datos de tu noticia en tu base de datos. Este paso es demasiado fácil ya que se usara mas HTML que el mismo PHP.

Para empezar el formulario crearemos un archivo .PHP en blanco con el nombre que quieran (no importa el nombre), Después en la cabecera de tu archivo PHP colocaremos un include al archivo "coneccion.php" ya que sin el no se podrían guardar los datos.

Si no sabes como hacer un include es asi:
Código: [Seleccionar]
<?
include("NOMBRE DEL ARCHIVO");
?>

Donde dice "NOMBRE DEL ARCHIVO" colocaran el nombre del archivo que le dieron a su conexión de la SQL en el paso 1. En este caso el nombre seria "coneccion.php", y quedaría así:

Código: [Seleccionar]
<?
include("coneccion.php");
?>

recuerden que es indiferente colocar "<?PHP" o "<?" ya que se reconoce de igual forma que se esta iniciando un código php. ahora sigue con el paso 2.2

-2.2: Crear HTML Formulario.

Ahora estamos en la parte mas fácil del tutorial ya que tan solo crearas un código HTML. En este paso crearas un formulario bajo el código de " <form action="" method="post"> ... </form>", en "..." iran los input o mejor dicho "Campo de texto".

En este formulario crearas 3 campos de texto o mejor 2 campos de texto y un área de texto (textarea, Campo que hace lo mismo que el input pero es mas largo para poder escribir mejor textos largos.) para que sea mejor escribir la noticia.

Los 2 campos de texto los llamaremos uno "titulo" y el otro "autor", y el textarea lo llamaremos "noticia", y claro.. ningún formulario esta completo si no tiene un botón de enviar así que para eso crearemos un botón con el nombre de "guardar" con el valor que quieran que aparezca en el botón. Así que nuestro código va así por el momento:

Código: [Seleccionar]
<form action="" method="post">

<p align="center"> <input type="text" name="titulo" size="20"></p>

<p align="center"> <input type="text" name="autor" size="20"></p>

<p align="center"><textarea rows="8" name="noticia" cols="41"></textarea></p>

<p align="center"><input type="submit" value="Guardar Noticia" name="guardar"></p>
</form>

Pero claro nadie es genio para saber donde escribir el titulo o el autor y para eso le agregaremos un texto para identificar cual es quien. Así que quedaría así:

Código: [Seleccionar]
<form action="" method="post">

<p align="center">Titulo: <input type="text" name="titulo" size="20"></p>

<p align="center">Autor: <input type="text" name="autor" size="20"></p>

<p align="center">Noticia:</p>

<p align="center"><textarea rows="8" name="noticia" cols="41"></textarea></p>

<p align="center"><input type="submit" value="Guardar Noticia" name="guardar"></p>
</form>

Recuerda que puedes editar ese código del formulario como quieras pero sin cambiarle el nombre a los botones ni quitar /editar la etiqueta <form...

Después que lo ayas editado a tu gusto nos viene quedando tan solo el pie de esta pagina. Leer paso 2.3

-2.3: Pie de pagina: Guardar los datos del formulario.
Ahora lo que aremos sera hacer el pie de la pagina de tu formulario...
Por el momento llevamos esto:

Código: [Seleccionar]
<?
include("coneccion.php");
?>
<form action="" method="post">

<p align="center">Titulo: <input type="text" name="titulo" size="20"></p>

<p align="center">Autor: <input type="text" name="autor" size="20"></p>

<p align="center">Noticia:</p>

<p align="center"><textarea rows="8" name="noticia" cols="41"></textarea></p>

<p align="center"><input type="submit" value="Guardar Noticia" name="guardar"></p>
</form>

Ahora lo que aremos sera agregar esto después de tu </form>

Código: [Seleccionar]
<?
if($_POST['guardar'] && $_POST['titulo'] && $_POST['autor'] && $_POST['noticia']){
$act = "INSERT INTO noticias (titulo,autor,mensaje) values ('".$_POST['titulo']."','".$_POST['autor']."','".$_POST['noticia']."')";
if(@mysql_query($act)){echo "<script>alert('¡Noticia Publicada!');</script>";
}}
?>

Esto indica que guardara los campos "titulo","autor" y "noticia" en la tabla "noticias" de tu SQL que creamos en el paso 1.1

Y ya tenemos nuestro formulario listo. Guardalo con el nombre que quieras en tu FTP con la extencion .php , Es decir, "tunombredearchivo.php"

-Paso 3: Mostrar Noticias:
Ya finalizando el tutorial lo que tenemos que hacer ahora es mostrar tus noticias en un archivo .PHP

Para esto creamos un archivo .php con el nombre que quieran en el que van a incluir:

Código: [Seleccionar]
<?
include("coneccion.php");
?>
<?
$noti1 = mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC limit 9") or die (mysql_error());
?>

<p align="center">
<?php
while($noti mysql_fetch_assoc($noti1)) 

  echo &
#39;<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> &#39;.htmlspecialchars($noti[&#39;titulo&#39;]).&#39;</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> &#39;.htmlspecialchars($noti[&#39;mensaje&#39;]).&#39;</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  &#39;.htmlspecialchars($noti[&#39;autor&#39;]).&#39;</font></i></td></tr></table></center></div><hr color="#000000" size="1">&#39;;

?>

</p>
Pueden modificarlo a su gusto si así lo desean.

Y Listo!
El sistema de Noticias esta hecho.
Nota: Si quieres agregarle un sistema de usuarios lo unico que tienes que hacer es colocar el sistema de usuarios en la misma carpeta que estos archivos, borrar el campo "Autor" y en el INTO en ves que cargar el '".$_POST['autor']."' vas a colocar la variable que muestra la seccion de tu usuario y debes hacer un include al archivo de tu registro de usuarios que define sierta variable.

Previas:
Escribir Noticia: http://habbopaint.webcindario.com/noticias/formulario.php
Ver Noticias: http://habbopaint.webcindario.com/noticias/ver-noticias.php

Tutorial creado y Programado por SoyJoaquin.
Espero que les aya ayudado.
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Jebusito en 10 de Febrero de 2010, 01:13:36 am
xd +1 Karma bueno si puedo

Men que extenso 10 / 10

 :star: :star: :star: :bstar: :bstar: :rstar: :rstar:
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 10 de Febrero de 2010, 01:24:35 am
xd +1 Karma bueno si puedo

Men que extenso 10 / 10

 :star: :star: :star: :bstar: :bstar: :rstar: :rstar:

Grax wn...

Nota: se me olvido poner el htmlspecialchars en las consultas...
Ya lo coloco..
xD
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Siquillote en 10 de Febrero de 2010, 13:52:50 pm
Mis felicitacione SoyJoaquín.

Con este tutorial ya no hay escusas para decir que no se hacer las cosas. Mi calificacion es 9/10.
La nota no consiste en la programación si no en que deberías poner alguna vista previa.

Gracias por aportar algo así a la comunidad de PHperos. Un karma +
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: MaNuX en 10 de Febrero de 2010, 14:06:11 pm
Todavia no lo e probado porque me gustaria antes ver una vista previa si puedes?  :P

Saludos.
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: ferri en 10 de Febrero de 2010, 14:12:52 pm
Fantástico tutorial. ¡No nos dejes de aportar nuevas aplicaciones!
Un saludo ;)
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: westwest en 10 de Febrero de 2010, 15:04:44 pm
Una vista previa de un tutorial... el colmo, que es un codigo leñe!

El tutorial esta bueno, extenso ^^

PD: Pusiste dos veces 1.1
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 10 de Febrero de 2010, 17:02:56 pm
Una vista previa de un tutorial... el colmo, que es un codigo leñe!

El tutorial esta bueno, extenso ^^

PD: Pusiste dos veces 1.1

Orita posteo vp pero...
grax x detallarte en el error xDD

y tambien acabo de ver otro que no me di cuenta y es este:


El sistema de Noticias esta hecho.
Nota: Si quieres agregarle un sistema de usuarios lo unico que tienes que hacer es colocar el sistema de usuarios en la misma carpeta que estos archivos, borrar el campo "Autor" y en el INTO en ves que cargar el '".$_POST['noticia']."' vas a colocar la variable que muestra la seccion de tu usuario y debes hacer un include al archivo de tu registro de usuarios que define sierta variable

'".$_POST['noticia']."'
sera '".$_POST['autor']."'
perdon xD
Nota: Trato de mod el tema y me tarda un monton para que despues me aparesca que no se puede conectar cn el servidor... u.u xd

Otra cosa...
Este tuto no kedara aki... mas adelante explicare como crear comentarios xD

Saludos y gracias.
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 10 de Febrero de 2010, 17:33:59 pm
Bueno... Sorry x doble post xDDD
pero.. agrege mejoras al codigo...
En la parte de guardar sql y corregi los errores de el 1.1 que se repetia 2 veses xD

bueno.. le agrege este code...

Código: [Seleccionar]
<?
if($_POST['guardar'] && $_POST['titulo'] && $_POST['autor'] && $_POST['noticia']){
$act = "INSERT INTO noticias (titulo,autor,mensaje) values ('".$_POST['titulo']."','".$_POST['autor']."','".$_POST['noticia']."')";
if(@mysql_query($act)){echo "<script>alert('¡Noticia Publicada!');</script>";
}}
?>
Para revisar si el usuario coloco todos los datos xdddd
ya que si le davas a guardar noticia sin ningun campo lleno se publicava la noti vasia xD

Bueno.. La previa es:
Escribir Noticia: http://habbopaint.webcindario.com/noticias/formulario.php
Ver Noticias: http://habbopaint.webcindario.com/noticias/ver-noticias.php
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Maico en 10 de Febrero de 2010, 17:51:01 pm
Muy bueno te daria un karma ya te lo dare kuando tengA 25 MENSAJES
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: x.mara.x en 10 de Febrero de 2010, 19:30:40 pm
esta muy bueno, aunque muy repetido :p
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 11 de Febrero de 2010, 23:20:38 pm
esta muy bueno, aunque muy repetido :p

No entendi eso :S
Como que muy repetido?
Saludos
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: MaNuX en 12 de Febrero de 2010, 15:14:35 pm
Aver si me puedes echar una mano SoyJoaquin que en el tercer paso para mostrar la noticia no me la muestra me da un error te dejo el codigo.

Código: [Seleccionar]
<?
include("conectar.php");
?>
<?
$noti1 = mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC limit 9") or die (mysql_error());
?>

<p align="center">
<?php
while($noti mysql_fetch_assoc($noti1)) 

  echo 
"<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapsecollapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> ".htmlspecialchars($noti[&#39;titulo&#39;])."</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> ".htmlspecialchars($noti[&#39;mensaje&#39;])."</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  ".htmlspecialchars($noti[&#39;autor&#39;])."</font></i></td></tr></table></center></div><hr color="#000000" size="1">";

?>

</p>

Saludos.
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: westwest en 12 de Febrero de 2010, 15:22:05 pm
Aún no sabeis lo de las comillas?
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: MaNuX en 12 de Febrero de 2010, 16:02:56 pm
Aún no sabeis lo de las comillas?

Perdona por el Spam pero ¿?
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: westwest en 12 de Febrero de 2010, 16:45:53 pm
echo "<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> ".htmlspecialchars($noti['titulo'])."</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> ".htmlspecialchars($noti['mensaje'])."</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  ".htmlspecialchars($noti['autor'])."</font></i></td></tr></table></center></div><hr color="#000000" size="1">";
... No puedes poner comillas dobles (<div align="center"> por ejemplo) dentro de un echo que usa comillas dobles!
Debería ser:
echo '<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> '.htmlspecialchars($noti['titulo']).'</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> '.htmlspecialchars($noti['mensaje']).'</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  '.htmlspecialchars($noti['autor']).'</font></i></td></tr></table></center></div><hr color="#000000" size="1">';
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: MaNuX en 12 de Febrero de 2010, 17:12:51 pm
A vale ahora te entendido xD

Gracias Westwest ;)
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Kikers en 12 de Febrero de 2010, 17:14:43 pm
Bastante bueno, Felicidades!  ;)
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 16 de Febrero de 2010, 02:43:44 am
echo "<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> ".htmlspecialchars($noti['titulo'])."</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> ".htmlspecialchars($noti['mensaje'])."</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  ".htmlspecialchars($noti['autor'])."</font></i></td></tr></table></center></div><hr color="#000000" size="1">";
... No puedes poner comillas dobles (<div align="center"> por ejemplo) dentro de un echo que usa comillas dobles!
Debería ser:
echo '<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="300" id="AutoNumber1"><tr><td><b><font size="2" face="Verdana"> '.htmlspecialchars($noti['titulo']).'</font></b></td></tr><tr><td><b><font size="1" face="Verdana"> '.htmlspecialchars($noti['mensaje']).'</font></b></td></tr><tr><td><i><font size="1" face="Verdana">Publicado por:  '.htmlspecialchars($noti['autor']).'</font></i></td></tr></table></center></div><hr color="#000000" size="1">';

gracias west, no lo habia notado, sorry xD

aunque ami no me tira error de la forma en que esta puesto :S
Saludos
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: x.mara.x en 16 de Febrero de 2010, 12:24:26 pm
No entendi eso :S
Como que muy repetido?
Saludos
Que hay ya muchos así :) pero está bien :P
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 16 de Marzo de 2010, 00:15:28 am
Que hay ya muchos así :) pero está bien :P

ahh xdddd
ya entendí xdddddddddddddddddd

Bueno... En fin luego colocare a descarga uno con login y demás..

Saludos
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: -RiPeRcOp- en 11 de Abril de 2010, 05:51:51 am
Te hago consulta, si quiero colocar para que, aparesca algo asi como paginas, es decir, en donde se ven las noticias, que se muestren 10 noticias por pagina, y si hay mas, que se pueda acceder como a un historial, o simplemente que halla un Ir a pagina de noticias 1-2-3-4 asi susesivamente, por si uno quiere ver una noticia anterior. Saludos
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Farresito en 11 de Abril de 2010, 11:50:02 am
Te doy Karma.

Tutorial muy completo, con vista previa, extenso...

No se puede pedir más, Joaquin :)

Saludos!
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Saphari en 15 de Abril de 2010, 18:17:55 pm
Esta muy bueno  el sistema de noticia amigo Te  Felicito
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Java en 10 de Febrero de 2011, 20:18:05 pm
a pesar de que esta hace mucho tiempo
que pedazo de tutorial
super bien ordenado

se agradece
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: RumbaStereo en 31 de Marzo de 2011, 16:53:21 pm
Que Buen Tuto SoyJoaquin gracias por aportarnos todo lo que sabes :) mis Felicidades ahy te va Un K +
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Katuz en 11 de Abril de 2011, 18:37:00 pm
buen tutor joaquin ya lo puse en mi pag te quedo muy bueno tio saludos y +1  :bstar:
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: McReiz en 08 de Junio de 2011, 18:06:34 pm
hay alguna forma de proteger el creador de noticias con una contraseña y un user ?
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Juanda en 08 de Junio de 2011, 18:17:47 pm
hay alguna forma de proteger el creador de noticias con una contraseña y un user ?


No revivas post con inactividad desde hace un añó.

Citar
Nota: Si quieres agregarle un sistema de usuarios lo unico que tienes que hacer es colocar el sistema de usuarios en la misma carpeta que estos archivos, borrar el campo "Autor" y en el INTO en ves que cargar el '".$_POST['autor']."' vas a colocar la variable que muestra la seccion de tu usuario y debes hacer uninclude al archivo de tu registro de usuarios que define sierta variable.

Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Physlet en 09 de Junio de 2011, 03:02:59 am
hay alguna forma de proteger el creador de noticias con una contraseña y un user ?
Por supuesto, prueba buscando en este mismo sitio sobre sistemas de usuarios o login.

No revivas post con inactividad desde hace un añó.
Perdona pero más innecesario es este post.
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Katuz en 05 de Agosto de 2011, 07:04:21 am
oye amigo se pueden publicar imagenes y si se pueden dime como pleees

Buen sistema =D :D
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: Armitxe en 06 de Octubre de 2011, 01:26:41 am
mmmmmmm
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: SoyJoaquin. en 06 de Octubre de 2011, 02:36:47 am
mmmmmmm

Tragame tierra!
--
Reportado.
Título: Re:Tutorial - Crear Sistema de Noticias en SQL
Publicado por: ebuzz en 22 de Octubre de 2011, 05:27:42 am
lo malo que la pagina ya no existe...me gustaria a ver visto el preview...peroo bbueno el codigo es lo importante...

gracias  8)