Sistema de noticias: el index y el panel de administración
En este tutorial crearemos un sistema de noticias. En esta parte examinaremos el Index y la administración del sistema
Este tutorial consta de 3 partes: La primera genera un sistema de noticias a través de un panel de administración y las muestra en orden según su fecha, la segunda parte muestra un sistema de edición y borrado de estas noticias. La tercera y última parte veremos como generar un sistema de comentarios para nuestras noticias.
Primero creamos la base de datos para las noticias:
create table noticias ( id_noticia int(4) auto_increment not null, autor varchar(255), titulo varchar(255), categoria varchar(255), fecha datetime not null, noticia blob, key(id_noticia) )
Un poco de explicación: id_noticia se incrementará cada vez que insertemos un registro desde el panel de administración (que crearemos luego) lo que nos facilitará la lectura de la noticia y asignarle sus respectivos comentarios. Lo demás está a la vista.
Ahora veremos el código a incluir en la página que llamaremos index.php (Que original ¿no?)
<html> <head> <title>Sistema de noticias</title> <? //conectamos a la base $connect=mysql_connect("servidor","nombre_de_la_base","pass")'; //Seleccionamos la base mysql_select_db("nombre_de_la_base",$connect); //hacemos las consultas $result=mysql_query("select * from noticias order by fecha Desc", $connect); $totalregistros=mysql_num_rows($result); ?> </head> <body> //Recogemos las consultas en un array y las mostramos <? while($row=mysql_fetch_array($result)) { echo '<h2>'.$row[titulo].'</h2><br><p>'.$row[articulo].'</p><br><tudiv>'.$row[autor].'|'.$row[fecha].'| '.$row[categoria].' | '<a href="ver.php?id='.$row[id_noticia].'">comentarios()</a> | <a href="editar.php?id='.$row[id_noticia].'">editar</a>';</tu div> //Hemos puesto los enlaces para "Comentarios" y "Editar" cosa que ocuparemos más adelante como se puede ver el id nos servirá para casi todo. } mysql_free_result($result) ?> </body> </html>
Nota: Se puede usar cualquier función de conversión de fechas para mostrar fecha en español y separarla de la hora. Acá no se hará por no ser el fin de este tutorial
Es hora de crear el panel de administración. En realidad es en donde generamos la noticia que luego mostrará el index. Lo llamaremos administrar.php (otro destello de creatividad). Obviaremos el código de la estructura html y nos enfocaremos en el formulario que enviará los datos
<form action="procesanoticia.php" method="post"> Título noticia:<br> <input type="text" name="titulo"><br> Autor:<br> <input type="text" name="autor"><br> Categoría:<br> <input type="text" name="categoria"><br> Escriba el articulo<br> <textarea name="articulo" cols="50" rows="10"></textarea><br> <input type="submit" value="Publicar"><br> </form>
Como vemos, este formulario envía por método POST todas las variables necesarias para el llenado de nuestra base. Dichas variables las recibe un script llamado procesanoticia.php el cual veremos a continuación:
<? //recibimos las variables enviadas por el formulario $titulo=$_POST[titulo]; $autor=$_POST[autor]; $categoria=$_POST[categoria]; $articulo=$_POST[articulo]; //conectamos a la base $connect=mysql_connect("servidor","nombre de la base","pass")'; //Seleccionamos la base mysql_select_db("nombre de la base",$connect); //insertamos los registros almacenados en las variables mysq_query("insert into noticias(titulo,autor,categoria,articulo,fecha) values('$titulo','$autor','$categoria','$articulo',NOW()",$connect) header("location: index.php"); ?>
Se llena la base con todos los parámetros recibidos del formulario. Cabe destacar que para la fecha se ocupo la funcion NOW() esta función rellena la base con la fecha y hora del servidor. La primera parte y el trabajo pesado ya está hecho. Falta que estas noticias puedan ser editatas o borradas, tema que se verá en la Segunda parte
Como se podría hacer una selección de las últimas noticas?
Me explico: En mi página principal, sólo quiero mostrar las últimas noticas (las últimas 2 ó 3), por cuestiones de diseño y de espacio (como tenéis en http://www.maestrosdelweb.com en la sección editorial, donde se muestran unas cuantas noticias y luego hay un botón: Ver más)
Bien he estado probando el comando LIMIT (que creo que existe) pero no me funciona…
Creo que debería modificar esta instrucción:
$result=mysql_query(“select * from noticias order by fecha Desc”, $connect);
pero como hacerlo??
GRACIAS
Creo que está solucionado, aunque tendré que comprobar si funciona…
$result=mysql_query(“select * from noticias order by id Desc” limit 3, $connect);
Se supone que el último ID corresponde con la última NOTICIA que quiero dar, es decir, a mayor número de ID más reciente o novedosa será la noticia… por ello he cambiado fecha por id, esta bien???
Gracias
El cambio de orden que hiciste si tiene lógica y con el limit, lo tienes correcto, pero eso debe ir adentro de las comillas, quedando:
$result=mysql_query(“select * from noticias order by id Desc limit 3”, $connect);
Te recomiendo que leas un poco sobre SQL que te ayudará a realizar consultas más avanzadas:
http://www.maestrosdelweb.com/editorial/tutsql1/
Discúlpen por la tardanza. Como dice Christian debes incluir el límit entre las comillas
$result=mysql_query(“select * from noticias order by id Desc limit 0,3”, $connect);
En cuanto a tus otras dudas que me hiciste por correo:
1.- Acá en maestros del web hay un artículo que explíca como crear un sistema de login, que perfectamente se puede mezclar con este script.
2.- Sí, el sistema acepta todas las etiquetas HTML, salvo que tu las restringas con la función striptags de PHP (muy útil para los comentarios de los visitantes). De ser así, tienes que aplicarla antes de insertar los datos en la base.
Espero que te haya ayudado en algo con mi respuesta, si tienes otra duda..ya sabes, estamos a tu dispisición.
Un Saludo.
Este Sistema Contiene Demasiados Errores… Por Favor, Antes De Publicar Un Articulo Como Este Tienen Que Probarlo Antes
Muy Mal
Además, este tutorial no se asemeja a las condiciones periodísticas necesarias para que este sistema sirva para periódicos y revistas web.
Para más información chequen bien aquí: http://www.maestrosdelweb.com/editorial/periodis/
Estoy deacuerdo en que ese tutorial tiene muchos errores y para alguien como yo que esta aprendiendo es fatal porque lejos de ayudar solo hace perder el tiempo.
Yo recomiendo este foro donde en verdad ayudan y se aprende mucho.
http://www.subflash.com/foro/index.php
Este codigo o como se llame no va llevo medio año provandolo i envima soy novato i no me entero de nada si pudierais poner otro mensaje con las correcciones iria mejor
Hola,me salta este error
Parse error: parse error in c:\apache\htdocs\noticias\procesanoticia.php on line 14
Y este es el código
< ?
//recibimos las variables enviadas por el formulario
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];
//conectamos a la base
$connect=mysql_connect(“localhost”,”root”,””)’;
//Seleccionamos la base
mysql_select_db(“Tryman”,$connect);
//insertamos los registros almacenados en las variables
mysq_query(“insert into
noticias(titulo,autor,categoria,articulo,fecha)
values(‘”.$titulo.”‘,'”.$autor.”‘,'”.$categoria.”‘,'”.$articulo.”‘,NO
W()”,$connect)”,$link) or die ( mysql_error());
header(“location: index.php”);
?>
Como verán,la linea errónea es esta
noticias(titulo,autor,categoria,articulo,fecha)
Cuál es el problema? porque no procesa los datos adecuadamente,muchísimas gracias
esto es una GRAN desastre, lo peor que vi, para empezar no es ‘blog’ sino noticias, la tabla, y tambien haría falta restringir el acceso a enviar noticias :s
Un verdadero desastre, solo errores en el código, de verdad que deberían de probar las cosas antes de ponerlas en línea.
Poner algo con tantos errores, deja mucho que desear de su autor y aun peor de los administradores del sitio.
¿Cómo puedo hacer para que los visitantes de la web envien sus noticias y el administrador tenga que aceptar o no dichas noticas para que sean publicadas en la web?
por favor para el proximo publiquen algo q este bueno porq ni porq lo revise y lo hice 3 veces, NO SIRVE, o por lo menos publiquen los errores para q nosotros los novatos aprendamos mas!!!
si quieres aprender más, leete el manual de php, amigo..
http://www.php.net/manual/es/index.php
Oye hermano, creo que es de lo peor que he visto, y eso es por la supuesta simplicidad del mismo, debia ser facil de entender pero oh sorpresa, tiene tantos errores, que uno como novatillo no sabe si es error del uno o del codigo.
En escala del 0 al 10 le pongo -5. Aplicate o respeta los espacios.
si quieres aprender más, leete el manual de php, amigo..
http://www.php.net/manual/es/index.php
Que tal roman miranda
Dime que fue lo que no te gusto del tutorial, y cual es la solucion que le darias a los errores que encontraste. Ya que si no te quedo claro o si aun tienes dudas aca te podemos ayudar.
no sean tan mal agradecidos si no tienen muchos errores pues corrijarnlos y hagan su propio foro partida d kbrones
Bueno, la verdad es que da mil errores, y si eres nuevo, pues es un desastre. La estructura está bien, pero da muchos errores de sintaxis… (p.e. en la parte del codigo que dice Saldu pone “mysq_query” donde deberia poner “mysql_query”)
Bueno, yo lo he modificado un poco a mi gusto, lo he probado y me funciona.
Os lo posteo a ver si os sirve.
La tabla de mi Base de Datos quedaría así:
La pagina que el autor llama index.php quedaría de esta forma:
Administrar.php sería algo así
Y finalmente procesanoticia.php sería así (le he quitado lo de header, porque da el tipico error de que los headers ya se han enviado y todo eso…)
Espero que os sirva de ayuda. Los cambios son pocos, ya que la estructura básica estaba bien. El problema es que había un monton de errores de sintaxis.
Un saludo!
o.O
a mi m da este fallo
Notice: Use of undefined constant titulo – assumed ‘titulo’ in c:\archivos de programa\easyphp1-8\www\procesa_noticias.php on line 3
gracias por tdo 😛
bueno pues a mi me salio un error de line2 en index.php y lo solucione asi:
a mi me funciono:
< ?
//conectamos a la base
$connect=mysql_connect(“localhost”,”alex”,”sayayin5″);
//Seleccionamos la base
mysql_select_db(“alex”,$connect);
//hacemos las consultas
$result=mysql_query(“select * from noticias order by fecha Desc”, $connect);
$totalregistros=mysql_num_rows($result);
?>
< ?
//Recogemos las consultas en un array y las mostramos
while($row=mysql_fetch_array($result))
{
echo ‘
‘.$row[titulo].’
‘.$row[actividad].’
comentarios |
editar
‘;
//Hemos puesto los enlaces para “Comentarios” y “Editar” cosa que ocuparemos más adelante como se puede ver el id nos servirá para casi todo.
}
mysql_free_result($result)
?>
en este error lo que pasa es que tienes que cambiar procesanoticias.php por proximas_procesa.php y listo
Que mal, si que mal que haya gente tan desagradecida que pueda publicar estos mensajes ofendiendo al autor de articulo. es cierto, el script tiene muchos errores, pero yo me pregunto ¿porque no averiguan acerca de los errores?, tantas paginas en internet php.net, google.com o enviar un mensaje al autor (de una manera correcta) para que ayude a solucionar los problemas.. yo creo que asi se aprende mucho mas que teniendo un codigo listo para usar.. a eso se le llama ganar experiencias, pero bueno, ese es mi comentario, particularmente yo voy a buscar los errores como lo hizo VYPER_101 y estoy seguro que aprenderé mucho mas.. saludos!
No me anda…
Hola, checa esto:
index.php
[PHP]
< ?php
error_reporting(E_ALL);
//conectamos a la base
$connect=mysql_connect(“localhost”,”root”,”mi_pass”);
//Seleccionamos la base
mysql_select_db(“noticias”,$connect);
//hacemos las consultas
$result = mysql_query(“select * from noticias order by fecha Desc”, $connect) or die (“No se pudo seleccionar la base da datos”);
$totalregistros = mysql_num_rows($result);
?>
< ?php
error_reporting(E_ALL);
//Recogemos las consultas en un array y las mostramos
while($row=mysql_fetch_array($result))
{
echo ‘
‘.$row[“titulo”].’
‘.$row[“actividad”].’
comentarios |
editar
‘;
//Hemos puesto los enlaces para “Comentarios” y “Editar” cosa que ocuparemos más adelante como se puede ver el id nos servirá para casi todo.
}
mysql_free_result($result)
?>
[/PHP]
administrar.php
[PHP]< !doctype html public "-//W3C//DTD HTML 4.01//EN">
[/PHP]
proximas_procesa.php
[PHP]< ?php
error_reporting(E_ALL);
//recibimos las variables enviadas por el formulario
$titulo=$_POST[“titulo”];
$autor=$_POST[“autor”];
$lugar=$_POST[“lugar”];
$aproximada=$_POST[“aproximada”];
$definitiva=$_POST[“definitiva”];
$actividad=$_POST[“actividad”];
//conectamos a la base
$connect=mysql_connect(“localhost”,”root” ,”41234160″);
//Seleccionamos la base
mysql_select_db(“noticias”,$connect);
//insertamos los registros almacenados en las variables
mysql_query(“insert into noticias(titulo,autor,lugar,aproximada,definitiva, actividad,fecha)
values(‘$titulo’,’$autor’,’$lugar’,’$aproximada’,’ $definitiva’,’$actividad’,NOW())”,$connect) or die ( mysql_error());
header(“Location: index.php”);
?>[/PHP]
poniendo “error_reporting(E_ALL);” al comienso vas a darte cuenta de muchos errores y vas a aprender bastante, te lo digo porque a mi me esta ayudando mucho esa pequeña linea. Los errores que encontré son que los array’s llegados por $_POST[no pueden tener esta sintaxis] sino que $_POST[“deberian escribirse asi entre comillas”]; y asi todos los arrays escalares. ese fue el unico error que le encontre amigos, nos vemos y espero que sigamos aprendiendo juntos
no puedo creer que haya gente que quiere que se le entregue todo en bandeja listo para incluir en sus webs, esto que se publico aqui es para aprender a realizar un sistema de noticias, entregando las principales cosas que se necesitan y cada uno lo va modificando y agregando cosas como por ejemplo la restriccion de usuarios etc, es cierto que hay algunos errores de sintaxis pero hay que darse el tiempo de leer el codigo y entenderlo, yo tambien soy novato y deseo aprender, es por eso que cada ejemplo que saco de internet lo reviso y trato de entenderlo y me documento bien antes de reclamar, si encuentro errores veo de que son y trato de corregirlos y cuando ya no puedo hacer nada por mi inexperiencia, ahi busco ayuda de los que saben mas pero no ando reclamando que los articulos publicados estan malos y cosas asi.
Como dije antes, este articulo es de referencia, es para aprender a realizar un sistema de noticias y trae lo basico, cada uno lo transforma, le agrega las cosas que necesite.
Eso es todo,
Sigan publicando mas cosas para seguir aprendiendo.
Saludos
Hola, el sistema me ha resultado todo bien, pero cuando quiero editar las noticias y ver los comentarios salen estos errores:
para editar.php:
Parse error: syntax error, unexpected T_VARIABLE in /home/virtual/sitio81423/www/noticias/editar.php on line 1
Para ver.php
Parse error: syntax error, unexpected T_VARIABLE in /home/virtual/sitio81423/www/noticias/ver.php on line 1
Orientenme porfavor.
No se deberian quejar tanto. Antes de meterse a hacer paginas dinamicas, aprendadn bien la sintaxis de los leguajes de programacion usuados aqui como PHP o SQL. Asi podran depurar el codigo del tutorial. Tienen que aprender no solo andar copiando…asi no es pues….
Mi mensaje iba dirigido a los usuarios quejones….
Yo tengo una pequeña duda nada mas 😀
Estoy empezando en esto del PHP y MYSQL primero agradecer a todos los que hacen posible esto: segundo:
Donde localhost, no se cambia, eso entiendo, pero “root” y “mi_pass” se supone q son el nombre de usuario de la BD y la password no?
$connect=mysql_connect(“localhost”,”root”,”mi_pass”);
Y aqui “noticias” es el nombre, de la base de datos o de la tabla?
//Seleccionamos la base
mysql_select_db(“noticias”,$connect);
Es que yo tengo un servidor gratuito para probar cosas de estas, y me sale el error de:
Access denied for user: ‘legolas@localhost’ (Using password: YES)
Saly2 y gracias
Checa si tu password está bien, o tu bd esté bien escrito, y tengas el acceso completo con ese usuario a tu base de datos.
Malisimo…!!
Ola…tengo una pequeña duda y no se solucionarla…si alguien me puede ayudar se lo agradeceria…
la cuestion es que yo segui todas las instrucciones aqui dadas, y una vez que tengo los ficheros subidos al servidor e intento ir al direcctorio: noticias/index.php me pone esto:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /www/sites/1/iespana.es/w/e/wezki/site/noticias/index.php on line 18
alguien sabe que puedo hacer?
GRACIAS
Es muy interesante la forma como nos encaminan este tipo de tutoriales. Pero lo que deseo manifestar es que al margen de los errores de redacción y/o sintaxis de los scripts, se tiene que reconocer el esfuerzo que realizan algunos colegas para preparar este material y en lugar de criticar los errores, mejor debiéramos contribuir en esclarecerlos con nustra sabiduría y ofrecer una crítica de calidad y no de destrucción y menos juzgar los contenidos teniendo en cuenta que solamente nos ponemos de meros consumidores y no aportamos nada.
Un Abrazo y felcitaciones Alejandro…
// http://www.cajamarcaopina.com //
Si tienen toda la razon es un trabajo mal hecho que no paorta nada al que ya sabe y deja muy confundido al que no sabe nada
Si funciona tienes que saber un pcoo del tema para poder dar una crítica
Weno, jejeje… si he notado algunos errorcillos en el Script… y tb veo ke esta mal eso de ke publiken un sistema sin haberlo probado antes… mas sin embargo veo mal ke se traten de comer al autor de esa forma, ya que pues nosotros no hacemos scripts y los subimos de esta manera como hizo el autor. Si los Scripts tienen errores, pero en lugar de entrar de nuevo en esta página, deberiamos de buscar las soluciones a estos errores… si en verdad quieren aprender lenguaje PHP con MySQL, entonces esta es la oportunidad perfecta para reparar estos scrpits y luego publicarlos como El sistema de Noticias de Alejandro Suazo Modificado o algo asi… por favor chicos no sean tan duros y no se quedjen de esto… busquen la solucion…
Menuda chapuza! mejor quiten esto porque lo unico que logran es liar más a los que no saben.
Oye tus intenciones de enseñar a los demas son buenas pero tiene razon el tal “No Registrado” prueba los codigos antes de publicarlos xq ningun codigo de esta pagina me ha servido bien siempre he tenido que editarlos…
amos a ver soy programador php y e de decirte que como novato no esta hecho este manial, tienes que tener unos conocimientos como yo, avanzados para saber corregir ese “monton de errores” sabes que un simple error en un while puede provocarte una lista ilimitada de errores, aprendan a hablar antes de hacerlo 😉
como puedo crear esta base de datos con phpmyadmin
Saludos a la gente k administra este site , le agradesco por publicar articulos de este tipo ..nos ayudan bastante a los k recien empezamos ..sobre los mensajes anteriores ..bueno les digo k yo me estoy guiando de este articulo para una web page k estoy haciendo y me va muy bien , a lo mejor a ustedes no les va bien ..por k son ctrl + c y ctrl + v … lean bien los codes … y analizenlos … y no se rindan ..padelante
Wenas tios hice un sistema de noticias y me rula, es cutre pero se puede modificar e ir incorporando cosas poco a poco:
Primero creamos una database:
create database prueba;
use prueba;
create table noticias (
id_prueba int(4) auto_increment not null,
titulo varchar(255),
categoria varchar(255),
titulo varchar(255),
noticia blob, key(id_prueba)
);
Luego creamos el archivo ejem07d.php para introducir las noticias:
Ejemplo de uso de bases de datos con PHP y MySQL
< include(“conex.php”);
$link=Conectarse();
$result=mysql_query(“select * from prueba”,$link);
?>
< ?php while($row=mysql_fetch_array($result)) {
printf(“
“, $row[“autor”],$row[“titulo”]);
}
mysql_free_result($result);
mysql_close($link);
?>
Luego creamos procesar.php:
< ?php
include(“conex.php”);
$link=Conectarse();
$autor=$_GET[‘autor’];
$categoria=$_GET[‘categoria’];
$titulo=$_GET[‘titulo’];
$noticia=$_GET[‘noticia’];
mysql_query(“insert into prueba (autor,categoria,titulo,noticia) values (‘$autor’,’$categoria’,’$titulo’,’$noticia’)”,$link);
header(“Location: ejem07d.php”);
?>
siguiente paso ejem07e.php:
Ejemplo de uso de bases de datos con PHP y MySQL
< ?php
include(“conex.php”);
$link=Conectarse();
$result=mysql_query(“select * from prueba”,$link);
?>
< ?php while($row = mysql_fetch_array($result)) {
printf(“
“, $row[“autor”],$row[“titulo”],$row[“id_prueba”]);
}
mysql_free_result($result);
mysql_close($link);
?>
Otro consulta.php:
Ejemplo de uso de bases de datos con PHP y MySQL
< ?php
include(“conex.php”);
$link=Conectarse();
$result=mysql_query(“select * from prueba”,$link);
?>
< ?php while($row = mysql_fetch_array($result)) {
//printf(“
“, $row[“autor”],$row[“titulo”]);
echo ‘
‘;
}
mysql_free_result($result);
mysql_close($link);
?>
otro conex.php:
< ?php
function Conectarse()
{
if (!($link=mysql_connect(“localhost”,”root”)))
{
echo “Error conectando a la base de datos.”;
exit();
}
if (!mysql_select_db(“prueba”,$link))
{
echo “Error seleccionando la base de datos.”;
exit();
}
return $link;
}
$link=Conectarse();
echo “Conexión con la base de datos conseguida.
“;
mysql_close($link); //cierra la conexion
?>
por ultimo borra.php
< ?php
include(“conex.php”);
$link=Conectarse();
$id=$_GET[‘id’];
mysql_query(“delete from prueba where id_prueba = $id”,$link);
header(“Location: ejem07e.php”);
?>
Como os dije lo comprove y me esta funcionando, lo que pasa no cree enlaces para facilitar el movimiento entre la pagina para crear noticias, borrar, ver…
Es muy cutre pero se puede modificar y eso os toca a vosotros (y a mi tambien)… es una puta mierda que no haiga tutoriales decentes pero bueno hay gente que vive de eso y le molesta que otros aprendan…
por lo que os tendreis que apañaros…
Por cierto me faltaba uno= ver.php:
< ?
//recibimos la variable id enviada en el enlace por GET
$id = $_GET[id];
//conectamos a la base
$connect = mysql_connect(“localhost”,”root”);
//Seleccionamos la base
mysql_select_db(“prueba”,$connect);
//hacemos las consultas
$result = mysql_query(“select * from prueba where id_prueba=’$id'”,$connect) or die (“No se pudo seleccionar la base da datos”);
//Una vez seleccionados los registros los mostramos para su edición
while($row=mysql_fetch_array($result))
{
printf(“
“,$row[“autor”],$row[“titulo”],$row[“categoria”],$row[“noticia”]);
}
mysql_free_result($result);
mysql_close($connect)
?>
1 el usuario y el password que usas para entrar a mysql
2 Es la base de datos
3 no se decirte el problema pero me da que pusistes mal una clave para entrar al servidor, puede que sea que te equivocastes la clave del 1…
Un saludo
Ami me a funcionado muy bien este codigo, y he aprendido mucho de el, solo que para entenderle deves de tener por lo menos minimos conocimientos de php, y no solo copiar y pegar
Tios e mejorado el codigo ya que para enviar por el metodo GEt hay un limite de caracteres y al enviar por el metodo POST hay que usar el nl2br asi que os pego un codigo k ya funciona con clave y contreseña claro
Para empezar creamos la siguiente base de datos (cuando comprendas el funcionamiento la puedes ampliar o reducir e incluir los campos donde kieras :P):
create database noticias;
create table novas (
id_prueba int(4) auto_increment not null,
titulo varchar(255),
fecha varchar(255),
notcor blob,
noticia blob, key(id_prueba)
);
PANEL DE CONTROL
< ?php
include(“conex.php”);
$link=Conectarse();
$id=$_GET[‘id’];
mysql_query(“delete from novas where id_prueba = $id”,$link);
header(“Location: novas.php”);
?>
< ?
session_start();
session_destroy();
?>
Panel de Control
< ?php
function Conectarse()
{
if (!($link=mysql_connect(“localhost”,”tuuser”,”tupass”)))
{
echo “A conexion do sistema coa nosa base de datos non foi posible. Porfavor contacte ó administrador”;
exit();
}
if (!mysql_select_db(“noticias”,$link))
{
echo “A conexion do sistema coa nosa base de datos non foi posible.”;
exit();
}
return $link;
}
$link=Conectarse();
mysql_close($link); //cierra la conexion
?>
< ?php
include("conex.php");
$link=Conectarse();
$result=mysql_query("select * from novas ORDER BY id_prueba DESC",$link);
?>
< ?php while($row = mysql_fetch_array($result)) { echo nl2br('
');
}
mysql_free_result($result);
mysql_close($link);
?>
< ?
//vemos si el usuario y contraseña es váildo
if ($_POST[“usuario”]==”yo” && $_POST[“contrasena”]==”yo”){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION[“ok”]= “1”;
header (“Location: novas.php”);
}else {
//si no existe le mando otra vez a la portada
header(“Location: acceso.php?errorusuario=1”);
}
?>
< ?include ("activa.php");?>
< ?php
include(“conex.php”);
$link=Conectarse();
$result=mysql_query(“select * from novas”,$link);
?>
Cerrar Sesion
< ?php while($row = mysql_fetch_array($result)) {
printf(“
“, $row[“fecha”],$row[“titulo”],$row[“id_prueba”]);
}
mysql_free_result($result);
mysql_close($link);
?>
< ?
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION[“ok”] != “1”) {
//si no existe, envio a la página de autentificacion
header(“Location: acceso.php”);
//ademas salgo de este script
exit();
}
?>
< ?php
include(“conex.php”);
$link=Conectarse();
$fecha=$_POST[‘fecha’];
$notcor=$_POST[‘notcor’];
$titulo=$_POST[‘titulo’];
$noticia=$_POST[‘noticia’];
mysql_query(“insert into novas (fecha,notcor,titulo,noticia) values (‘$fecha’,’$notcor’,’$titulo’,’$noticia’)”,$link);
header(“Location: novas.php”);
?>
< ?
//recibimos la variable id enviada en el enlace por GET
$id = $_GET[id];
//conectamos a la base
$connect = mysql_connect(“localhost”,”PASSW”,”USER”);
//Seleccionamos la base
mysql_select_db(“noticias”,$connect);
//hacemos las consultas
$result = mysql_query(“select * from novas where id_prueba=’$id'”,$connect) or die (“No se pudo seleccionar la base da datos”);
//Una vez seleccionados los registros los mostramos para su edición
while($row=mysql_fetch_array($result))
{
echo nl2br(‘
‘);
}
mysql_free_result($result);
mysql_close($connect)
?>
Como veis en Novas.php al principio del documento tiene asi:
< ?include ("activa.php");?>
.
.
La primera linea esta fuera del es importante dejarlo ahi ya que asi antes de visualizar el codigo comprueva si se a introducido o no la contraseña y en caso contrario no permite entrar a introducir noticias. Te envia al acceso.php.
Ademas es importante salir cerrando sesion para que no se pueda volver a entrar desde el mismo ordenador..
Un saludo
Si deseais que tenga numeración de páginas simplemente teneis que cambiar el codigo de Consulta (es el que visualiza las paginas) por este:
< ?php
include("conex.php");
$link=Conectarse();
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM novas", $link);
list($total) = mysql_fetch_row($result);
$tampag = 10;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT * FROM novas LIMIT $reg1, $tampag", $link);
?>
< ?php while($row = mysql_fetch_array($result)) {
echo '
}
mysql_free_result($result);
mysql_close($link);
/******************************************************/
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $total, $por_pagina, $enlace) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "« ";
else
$texto = "« ";
for ($i=1; $i< $actual; $i++)
$texto .= "$i ";
$texto .= "$actual ";
for ($i=$actual+1; $i< =$total_paginas; $i++)
$texto .= "$i ";
if ($actual< $total_paginas)
$texto .= "»";
else
$texto .= "»
";
return $texto;
}
echo paginar($pag, $total, $tampag, "consulta.php?pag=");
?>
Se que son un poco cutres pero es que yo soy un novato… 😛 lo importante es que el codigo funcione y aprender de el 😉
Gracias, el ultimo código me funciono a la perfección
a mi no me funciona tuve q hacerle cientos de modificaciones -.-” no es tan bueno despues de todo
// http://www.black-cheats.com //
Muy bueno!, justamente lo que estaba buscando para empezar, desde aqui solo queda perfeccionarlo…
hola la verdad no estoy muy familiarizado con esto de bases de datos pero segui el manual y pues al probarlo en el explorador me sale este error
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in c:\appserv\www\noticias\index.php on line 18
espero que me ayuden
este codigo apesta faltan cientos de “;” ademas ahi comillas que sobran no anda nada!! loco esto apesta de verdad!!! no se como pudistes poner esto en una web, la verdad un verdadero desastre
LO PEOR QUE HE VISTO SOYS VOSOTROS LOS QUE CRITICAIS, SI HAY TANTOS ERRORES, EXPLICAR QUALES, Y PARA LOS NOVATOS QUE NO OS FUNCIONE ES CULPA VUESTRA QUE NO SABEIS HACER FUNCIONAR NI EL NOTEPAD! QUEJICAS ! QUE EL ORDENADOR OS LO COMPRO VUESTRAS MADRES !
Gracias a Javito por el código, funciona a la perfección, aunque creo q lo de validarse no vale de mucho ya que se puede entrar a nova.php directamente…
Me gustaría ver donde has aplicado el código para coger ideas y comentarte algunas dudas y sugerencias. un saludo
noticia blob; que es eso ? llamas a una celda articulas y no esta creada
Esto lo ha echo alguien que sabe, pero que no se ha parado a probar si funcionaba. Mejor que corrijan este tutorial.
Hi! Very nice site! Thanks you very much! WjGbbS5pXo3iXm
Buen artículos
me este error:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\practice\index.php on line 18
por fa enq estoy errando, soy novato
hola yo tengo una radio online en mi web osea un shoucast desde el winap pero yo quiero que aparesca en la radio de la pag el nombre de la cancion que estoy tocando y que dj la esta pinchando y eso
porfis es urgente
el manual me sirvio solo para sacar la idea ya que los codigo esta asquerosos,me demore 3 horas en solucionar todos los errores solo de la primera parte, pero aun asi pienso que sirve y es para gente con autogestion ya que no todo debe llegar en bandeja, bueno lo que mas rescato del manual es el uso que se le da al campo id de las tablas .Ahora me voy a la parte 2
I have visited your site 519-times
hola mi consulta es solo existira una sola tabla