Necesito ayuda. Tengo un código para un sistema de noticias PHP sin base de datos. El sistema esta formado por 3 archivos admin.php (que gestiona las noticias), id.php (de inicio solo incluye un 0), y noticias.php (donde se guardan las noticias)
Yo de PHP no tengo ni idea y necesito añadir a este codigo un formulario de busqueda de noticias, es decir una caja de texto en la que incluir el titulo de la noticia, si existe que acceda a ella y si no existe que de un mensaje de error.
A ver si alguien me puede ayudar.
Muchas gracias por anticipado.
este es el codigo completo de admin.php
-----------------------------------
<HTML>
<HEAD>
<TITLE>sistema de noticias simple</TITLE>
</HEAD>
<BODY>
<?
@$seccion = $_GET["seccion"]; // Variable que contiene la seccion actual
if ($seccion==""){ $seccion= "principal"; } // Si esta vacia, vamos a la seccion principal
if ($seccion=="principal"){ //Si la seccion es "principal"...
echo "Bienvenido a la administracion del ejemplo del sistema de noticias. Aquí podras agregar / borrar / modificar noticias<br><br>
----------<br>
<a href='?seccion=agregar'>Agregar noticia</a><br>
<a href='?seccion=modificar'>Modificar noticia</a><br>
<a href='?seccion=borrar'>Borrar noticia</a><br>"; //Mostramos los enlaces a las distintas secciones
}elseif ($seccion=="agregar"){ //Si la seccion es "agregar"...
@$accion= $_POST["accion"]; //Con esta variables comprobaremos si el formularo fué enviado o no
if ($accion=="ok"){
@$titulo= $_POST["titulo"]; // Recibimos el titulo
@$noticia= str_replace("
","<br />",$_POST["noticia"]); //Recibimos la noticia, y transformamos los saltos de linea en <br />
$ID= file_get_contents("id.php")+1; //Obtenemos la ID de la ultima noticia y le sumamos 1. Este numero será el identificatorio de esta noticia, con el cual podremos modificarla / borrarla
//Ahora guardaremos el contenido de la variable $ID en el archivo id.php, para que la siguiente noticia que se agregue tenga $ID+1..
$fl= fopen("id.php","w"); fwrite($fl, $ID); fclose ($fl);
//Finalmente agregamos la noticia en el fichero noticias.php
$fl= fopen("noticias.php","a"); fwrite ($fl, "$titulo|<|$noticia|<|$ID|<|
"); fclose ($fl);
echo "Noticia agregada, estas siendo redirigido a la pagina principal...
<META HTTP-EQUIV='Refresh' CONTENT='2; url=admin.php'>";
}else{
//Mostramos el formulario
echo "<form method='POST' action='admin.php?seccion=agregar'>
<input type='hidden' name='accion' value='ok'>
Titulo <input type='text' name='titulo'><br>
Noticia<br>
<textarea rows='10' cols='40' name='noticia'></textarea><br>
<input type='submit' value='Agregar'>";
}
echo "<br><br><a href='admin.php'>Volver</a>"; //Mostramos el link para volver
}elseif ($seccion=="modificar"){ //Si la seccion es "modificar"..
@$id= $_GET["id"]; //Variable que contendra el ID de la noticia a modificar (si es que se seleccionó una)
if ($id==""){ //Si no se seleccionó ninguna noticia...
//Listamos las noticias
echo "Selecciona una noticia para modificar...<br><br>";
$file= file("noticias.php");
for ($i=0;$i<count($file);$i++){
$dato= explode("|<|",$file[$i]);
$titulo= @$dato[0]; @$ID= $dato[2];
echo "<a href='admin.php?seccion=modificar&id=$ID'>$titulo</a><br>";
}
}else{ //Si, en cambio, se seleccionó una noticia...
@$accion = $_POST["accion"]; //Variable para controlar si se envió el formulario
if ($accion=="ok"){
@$titulo= $_POST["titulo"]; @$noticia= str_replace("
","<br />",$_POST["noticia"]);
//Buscamos la noticia, cuando la encontramos modificamos la linea q le corresponde a esa noticia en el fichero noticias.php
$file= file("noticias.php");
for ($i=0;$i<count($file);$i++){
$dato= explode("|<|",$file[$i]);
if (@$dato[2]==$id){
$file[$i]= "$titulo|<|$noticia|<|$id|<|
";
$fl= fopen("noticias.php","w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
}
echo "Noticia modificada, estas siendo redirigido a la pagina principal...
<META HTTP-EQUIV='Refresh' CONTENT='2; url=admin.php'>";
}else{
//Obtenemos los datos de la noticia (y convertimos los <br /> en el campo "noticia" por saltos de linea)
$file= file("noticias.php");
for ($i=0;$i<count($file);$i++){
$dato= explode("|<|",$file[$i]);
if (@$dato[2]==$id){
$titulo= @$dato[0]; @$noticia= str_replace("<br />","
",$dato[1]);
}
}
//Mostramos el formulario
echo "Ingresa los nuevos datos<br>
<form method='POST' action='admin.php?seccion=modificar&id=$id'>
<input type='hidden' name='accion' value='ok'>
Titulo <input type='text' name='titulo' value='$titulo'><br>
Noticia<br>
<textarea rows='10' cols='40' name='noticia'>$noticia</textarea><br>
<input type='submit' value='Modificar'>";
}
}
echo "<br><br><a href='admin.php'>Volver</a>"; //Mostramos el link para volver
}elseif ($seccion=="borrar"){ //Si la seccion es "borrar"..
@$id = $_GET["id"]; //Variable que contendrá la ID de la noticia seleccionada, si es que hay..
if ($id==""){ //Si no hay ninguna seleccionada...
//Listamos las noticias
echo "Selecciona una noticia para borrar...<br><br>";
$file= file("noticias.php");
for ($i=0;$i<count($file);$i++){
$dato= explode("|<|",$file[$i]);
$titulo= @$dato[0]; @$ID= $dato[2];
echo "<a href='admin.php?seccion=borrar&id=$ID'>$titulo</a><br>";
}
}else{
//Buscamos la noticia, cuando la encontramos BORRAMOS la linea q le corresponde a esa noticia en el fichero noticias.php
$file= file("noticias.php");
for ($i=0;$i<count($file);$i++){
$dato= explode("|<|",$file[$i]);
if (@$dato[2]==$id){
$file[$i]= "";
$fl= fopen("noticias.php","w");
for ($i=0;$i<count($file);$i++){
fwrite ($fl, $file[$i]);
}
fclose ($fl);
}
}
echo "Noticia borrada, estas siendo redirigido a la pagina principal...
<META HTTP-EQUIV='Refresh' CONTENT='2; url=admin.php'>";
}
echo "<br><br><a href='admin.php'>Volver</a>"; //Mostramos el link para volver
}
?>
</BODY>
-----------------------------------
martin
[email protected]