Foros del Web » Programando para Internet » PHP »

Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Estas en el tema de Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos. en el foro de PHP en Foros del Web. Hola amigos, quiero aportar un sistema de noticias que inplmentaremos en cualquier zona de nuestra web con un header; Supongamos que tenemos noticia.php y que ...
  #1 (permalink)  
Antiguo 04/01/2010, 18:56
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Mensaje Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Hola amigos, quiero aportar un sistema de noticias que inplmentaremos en cualquier zona de nuestra web con un header; Supongamos que tenemos noticia.php y que es el archivo que muestra nuestra noticia, pues con una tabla, y un poco de css hacemos lo que queramos en cuanto a diseño de y ubicacion de la noticia. En este aporte unicamente mostraré como generar, guardar y mostrar una noticia con (titulo, contenido).

1º Creamos la tabla en nuestra base de datos
Código:
Base de datos sistemanoticias
CREATE TABLE `home_not` (
  `not_ID` int(11) NOT NULL auto_increment,
  `notTitulo` varchar(255) NOT NULL,
  `notTexto` text NOT NULL,
  PRIMARY KEY  (`not_ID`)
) ENGINE=MyISAM;
Una vez creada la tabla, ya tenemos donde guardar los valores que adquirirá titulo y el contenido de nuestra noticia.
----------------------------------
2º Creamos la conexion a nuestra base de datos. db-cnx.php
Código PHP:
<?php
$db_link 
mysql_connect('localhost''usuario''contraseña');
if(!
$db_link){
    die(
'No se pudo conectar: ' mysql_error());
}
$db_selected mysql_select_db('sistemanoticias'$db_link);
if(!
$db_selected){
    die(
'No se selecciono la BD: ' mysql_error());
}
?>
en localhost para los que no sepan, sebe ir el nombre del servidor donde se aloja nuestra web (en este caso tenemos el servidor local de nuestro pc), tambien debemos sustituir los valores de contraseña y usuario.
-------------------------------------
3º Creamos el archivo que se encargará de recojer, procesar y guardar los datos de nuestra noticia en la base de datos. add-noticia.php (el nombre podría ser generar-noticia.php, o cualquier otro). Como vemos disponemos en la parte inferior de un formulario, que es a través del cual añadiremos nuestras noticias.
Código PHP:
<?php
// incluimos el archivo de conexion
include ('db-cnx.php');

// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
    
// comprobamos que el formulario no envie campos vacios
    
if(!empty($_POST['notTitulo']) && $_POST['notTexto']){
        
// creamos las variables y les asignamos los valores a insertar
        
$notTitulo $_POST['notTitulo'];
        
$notTexto $_POST['notTexto'];
        
// hacemos el INSERT en la BD
        
$sqlInsertNot mysql_query("INSERT INTO sn_noticias
                                     (notTitulo, notTexto)
                                     VALUES ('$notTitulo', '$notTexto')"
,
                                     
$db_link) or die(mysql_error());
        
// enviamos un mensaje de exito
        
echo "Los datos fueron gurdados correctamente";
    }else{
        
// si el formulario envia algun campo vacio
        // enviamos un mensaje de error
        
echo "Debe llenar todos los campos del formulario";
    }
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    <p>
    T&iacute;tulo de la Noticia<br />
    <input type="text" name="notTitulo" size="50" />
    </p>
    <p>
    Texto de la Noticia<br />
    <textarea name="notTexto" rows="10" cols="50"></textarea>
    </p>
    <p>
    </select>
    </p>
    <p>
    <input type="submit" name="enviar" value="Enviar" />
    </p>
Este archivo lo que hace basicamente es conectarse a la base de datos, e introducir los valores del form, siempre y cuando se cumplan nuestras condiciones.
------------------------------------------
Al paso 3º, osea al anterior, le podriamos dotar de mayor seguridad, pero para iniciados mejor elejir la opcion de arriba. aqui os pongo la opcion con mayor seguridad:

Código PHP:
<?php
// incluimos el archivo de conexion
include ('db-cnx.php');
$env=addslashes(trim($_POST['enviar']));
$tit=addslashes(trim($_POST['notTitulo']));
$text=addslashes(trim($_POST['notTexto']));
// recibimos el formulario
if(isset($env) && $env == 'Enviar'){
    
// comprobamos que el formulario no envie campos vacios
    
if(!empty($tit) && $text){
        
// creamos las variables y les asignamos los valores a insertar
        
$notTitulo $tit;
        
$notTexto $text;
        
// hacemos el INSERT en la BD
        
$query_esc=mysql_real_escape_string("INSERT INTO sn_noticias
                                     (notTitulo, notTexto)
                                     VALUES ('$notTitulo', '$notTexto')"
);
        
$sqlInsertNot mysql_query($query_esc,$db_link) or die(mysql_error());                                                      
        
// enviamos un mensaje de exito
        
echo "Los datos fueron gurdados correctamente";
    }else{
        
// si el formulario envia algun campo vacio
        // enviamos un mensaje de error
        
echo "Debe llenar todos los campos del formulario";
    }
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    <p>
    T&iacute;tulo de la Noticia<br />
    <input type="text" name="notTitulo" size="50" />
    </p>
    <p>
    Texto de la Noticia<br />
    <textarea name="notTexto" rows="10" cols="50"></textarea>
    </p>
    <p>
    </select>
    </p>
    <p>
    <input type="submit" name="enviar" value="Enviar" />
    </p>
-------------------------------------------
4º Creamos el archivo que recojerá los valores de la db. list-noticia.php
Código PHP:
<?php
// generamos nuestra consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias"$db_link)
                            or die(
mysql_error);
echo 
"<h1>$titulo</h1>";
// mostramos las noticias,
// usamos un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
    echo 
"<h1>$rowNot[notTitulo]</h1>";
    echo 
nl2br("$rowNot[notTexto]");
}
?>
-------------------------------------
5º por ultimo. Esto es a gusto de cada uno. Crearemos el archivo.php, que recoge o muestra nuestra noticias. Yo personalmente lo que haría es en un html simple, crear una tabla de diseño, y asignarle una hoja css a mi gusto. posteriormente incluiría este html (que es el que incluye nuestra noticia) mediante un include en nuestra web.
index.php
Código PHP:
<html>
<head>
    <title>Sistema de Noticias</title>
</head>
<body>
<?php include('db-cnx.php'); ?>
    <?php include('list-noticia.php'); ?>
</div>
</body>
</html>
Como ven es simple, pero efectivo para empezar a crear una especie de web modular paa principiantes, este por ejemplo sería un modulo de noticias jejej...
Aun no la he probado, si ven algun fallo, o no les funciona algo comentenlo y lo aclaro, o lo areglo. Un saludo a todos y Feliz año jeje
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"

Última edición por winjose; 05/01/2010 a las 07:45
  #2 (permalink)  
Antiguo 04/01/2010, 22:06
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Muy bueno el aporte, simplificado al maximo, posiblemente lo revise y lo recomiende a un par de amigos que quieren empezar con php+mysql

+Karma para ti
  #3 (permalink)  
Antiguo 04/01/2010, 22:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

opino lo mismo, muy buen trabajo!!

cabe mencionar que aunque tienes algunos errores sintácticos y ortográficos, la idea esta clarísima... pero tiene solución ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 05/01/2010, 04:50
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

segun he visto por encima.. me da ami que el paso 4º list-noticia.php tiene un error de comillas en la consulta. revisalo y me dices ;)
  #5 (permalink)  
Antiguo 05/01/2010, 06:06
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Si es cierto, como aun soy un novatillooo sin experiencia jeje no me ciño a los estándares establecidos. y lo de las comillas creo k ya esta corregido, si alguno lo prueba y no le da errores que lo comunique, yo lo probaré mas adelante. Gracias a todos amigos.
Un saludo.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #6 (permalink)  
Antiguo 05/01/2010, 06:23
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Great job !! :D

revisa esto
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto,)
VALUES ('$notTitulo', '$notTexto')"

creo que le sobra una coma después de notTexto

karma para tí
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 05/01/2010, 06:59
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Cita:
Iniciado por Hidek1 Ver Mensaje
Great job !! :D

revisa esto
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto,)
VALUES ('$notTitulo', '$notTexto')"

creo que le sobra una coma después de notTexto

karma para tí
Corregiro Hidek1 gracias ;)
+Karma para ti tambn
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #8 (permalink)  
Antiguo 05/01/2010, 07:02
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Cita:
Iniciado por winjose Ver Mensaje
Si es cierto, como aun soy un novatillooo sin experiencia jeje no me ciño a los estándares establecidos. y lo de las comillas creo k ya esta corregido, si alguno lo prueba y no le da errores que lo comunique, yo lo probaré mas adelante. Gracias a todos amigos.
Un saludo.
No te preocupes aqui estamos para ayudarnos y por cierto gracias por facilitar el aprendizaje a los mas nuevos.
  #9 (permalink)  
Antiguo 05/01/2010, 07:06
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

weno weno esta!!!

yo creo que el foro de php podria tener estas aplicaciones chicas que todos podriamos aportar algo y si se necesita usar solo se saca, tal como el validador de usuarios de cluster que mas de alguien habra usado ;D!!!
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #10 (permalink)  
Antiguo 05/01/2010, 07:08
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Para la proxima tengo listo un sistema complejo y muy, muy completo (con todos los campos necesarios para una gran web) de registro de usuarios con activacion mail, y si me veo con tiempo le añado el modulo de olvido de contraseñas jeje...
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #11 (permalink)  
Antiguo 05/01/2010, 07:11
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

en realidad como consejo, lo que mas aprecian los usuarios es un buen panel de administración.
ya que al ser para "novatos" lo ideal seria que no tuvieran que tocar nada de código

con eso te ganas el cielo de fdw xD

__________________
More about me...
~ @rhyudek1
~ Github
  #12 (permalink)  
Antiguo 05/01/2010, 07:16
 
Fecha de Ingreso: enero-2008
Ubicación: /España/Galicia
Mensajes: 928
Antigüedad: 16 años, 3 meses
Puntos: 21
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

ahora deberias fijarte en la seguridad.

si tu pones una noticia con ', o ", puede que no te funcione, deberias pasar el texto a texto plano, y al mostrarlo transformarlo.
  #13 (permalink)  
Antiguo 05/01/2010, 07:25
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Darle un poquito mas de seguridad, una version poco mas segura:

Código PHP:
Ver original
  1. <?php
  2. // incluimos el archivo de conexion
  3. include ('db-cnx.php');
  4. $env=addslashes(trim($_POST['enviar']));
  5. $tit=addslashes(trim($_POST['notTitulo']));
  6. $text=addslashes(trim($_POST['notTexto']));
  7. // recibimos el formulario
  8. if(isset($env) && $env == 'Enviar'){
  9.     // comprobamos que el formulario no envie campos vacios
  10.     if(!empty($tit) && $text){
  11.         // creamos las variables y les asignamos los valores a insertar
  12.         $notTitulo = $tit;
  13.         $notTexto = $text;
  14.         // hacemos el INSERT en la BD
  15.         $query_esc=mysql_real_escape_string("INSERT INTO sn_noticias
  16.                                     (notTitulo, notTexto)
  17.                                     VALUES ('$notTitulo', '$notTexto')");
  18.         $sqlInsertNot = mysql_query($query_esc,$db_link) or die(mysql_error());                                                      
  19.         // enviamos un mensaje de exito
  20.         echo "Los datos fueron gurdados correctamente";
  21.     }else{
  22.         // si el formulario envia algun campo vacio
  23.         // enviamos un mensaje de error
  24.         echo "Debe llenar todos los campos del formulario";
  25.     }
  26. }
  27. ?>
  28. <!-- el formulario -->
  29. <form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  30.     <p>
  31.     T&iacute;tulo de la Noticia<br />
  32.     <input type="text" name="notTitulo" size="50" />
  33.     </p>
  34.     <p>
  35.     Texto de la Noticia<br />
  36.     <textarea name="notTexto" rows="10" cols="50"></textarea>
  37.     </p>
  38.     <p>
  39.     </select>
  40.     </p>
  41.     <p>
  42.     <input type="submit" name="enviar" value="Enviar" />
  43.     </p>
  #14 (permalink)  
Antiguo 05/01/2010, 07:29
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

igual entramos a la controversia de que es mejor para un novato, algo hecho o un core donde pueda trabajar
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #15 (permalink)  
Antiguo 05/01/2010, 07:46
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

Para un novato es algo pre-fabricado, osea algo casi hecho y que él lo manipule y juege con
el codec.

bites
  #16 (permalink)  
Antiguo 05/01/2010, 07:47
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Aporte -- sistema de noticias sencillooo!!! Explicado para nobatos.

No pasa nada, lo añado al codigo, y que lo coja quien quiera, y si se es iniciado mejor cojer el codigo mas simple... Así lo dejo a gusto de cada uno
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"

Etiquetas: sitemap, aportes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:49.