Foros del Web » Programando para Internet » PHP »

Noticias PHP sin mysql

Estas en el tema de Noticias PHP sin mysql en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/04/2007, 01:39
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años, 7 meses
Puntos: 0
Noticias PHP sin mysql

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]
  #2 (permalink)  
Antiguo 01/04/2007, 08:44
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: Noticias PHP sin mysql

No se si vas a tener mucha suerte tirando tu codigo y esperando una solucion completa... quiza si buscas en la web de donde sacaste el script encuentres alguna especie de agregado.

De por si es medio raro el codigo, la @ delante de las asignaciones... :S
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 01/04/2007, 09:35
 
Fecha de Ingreso: febrero-2007
Mensajes: 80
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Noticias PHP sin mysql

Hola mira sinceramente, te comento mediante el sistema que lo haces no es muy fiable yo te aconsejo que te busques uno con mysql y despues si quieres ahora te dejo el codigo para que puedas hacer la busqueda desde mysql.

Aqui tienes el codigo:

<?php
include("conect_DB_ukysoft.php");
if($_GET['search']){
$noticia = $_GET['noticia'];
$query = @mysql_query("SELECT * FROM `TU_DB WHERE titulo = '$noticia'");
$data = @mysql_fetch_array($query);
?>
<form method="GET" action="">Titulo: <input type="text" name="noticia" size="20"><input type="submit" value="Buscar" name="search"></form>
<?
}
?>

Un saludo!
Juanjo de Uky Soft, SL
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




La zona horaria es GMT -6. Ahora son las 14:05.