Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Roc668 en 13 Diciembre 2009, 13:39 pm



Título: comparar y eliminar datos de un fichero
Publicado por: Roc668 en 13 Diciembre 2009, 13:39 pm
Hola.
Tengo una especie de formulario que guarda datos en un fichero txt y despues muestra los datos en otra pagina.
Tengo 2 problemillas:
por ejemplo tras escribir varios datos en el fichero me gustaria por ejemplo comparar uno de ellos con los que ya esten guardados y si coinciden que me muestre el mensaje de que ya esta dicho dato introducido. Lo he intentado con la funcio strcmp pero no lo consigo.

Tambien quisiera que de los datos que introduzco pudiera decir "quiero borrar tal dato del archivo", lo unico que se me ocurre es emplear w en modo escritura pero esto me borraria todo lo que tengo en el fichero, me sobreescribe.

Esta es la primera parte del formulario que me permite introducir los datos:


<div id="form">
<form method="post" action="problema_beta_2_3.php" target="principal">
<div><label for="n">Numero:</label> <input type="text" id="n" name="n" /></div>
<div><label for="nombre">Nombre:</label> <input type="text" id="nombre" name="nombre" /></div>
<div><label for="ide">ide:</label> <input type="text" id="ide" name="ide" /></div>
<div><input type="submit" value="Enviar" /></div>
</form>

Y esto es el codigo php que me escribe los datos en el fichero:

<?php

$nombre = $_POST['nombre'];
$ide = $_POST['ide'];
$n = $_POST['n'];
if ($n<0 or $n>32){
echo "Introduzca un numero entre 1 y 32";
} else {
if ($nombre == "" or $ide == "" or $n== "" ) {
echo "One or more required fields were not completed. Intentalo de nuevo. <br /><br />";
} else {
$oldinfo = file_get_contents("data.txt");
$guestbookdata = fopen("data.txt", "w+");
fwrite($guestbookdata, "<br><br><strong>Problema Nº</strong> $n </div><br>\n \n");
fwrite($guestbookdata, "<strong>Problema ocupado por:</strong> $nombre </div><br>\n \n");
fwrite($guestbookdata, "<strong>Ide alumno:</strong> $ide </div><br><BR>\n \n");
fwrite($guestbookdata, "$oldinfo");
fclose($guestbookdata);
readfile("data.txt");
}
}
?>

De las 3 variables importantes, me interesa comparar y borrar las 3 , pero supongo que con comparar una de ellas basta para saltar el mensaje de que " ya esta escrita" (comparando) o de borrar, por ejemplo "n" que es un numero


¿alguien me puede dar una ayudita?


Título: Re: comparar y eliminar datos de un fichero
Publicado por: Maox en 13 Diciembre 2009, 17:43 pm
veo que te estas complicando mucho, y si utilizas un csv que es lo mas parecido a una base dedatos plana... asi podras manejar mas facil los datos; es  solo una opinion para que la tengas en cuenta :)

/delete