Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: CICOLO_111234 en 21 Febrero 2009, 18:41 pm



Título: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: CICOLO_111234 en 21 Febrero 2009, 18:41 pm
hola!

he logrado guardar los campos de un form en un txt, pero los añade al final del archivo. qisiera saber como hacerlo pa que lo + nuevo aparezca antes, o sea, añades por ejemplo:

prueba1

y luego

prueba2

y cuando abras el txt en vez de aparecer esto:

prueba1
prueba2

tiene q aparecer asi:

prueba2
prueba1

gracias...
salu2


Título: Re: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: NaSaRiD15 en 21 Febrero 2009, 18:44 pm
Creo que es por el modo de apertura que usas...

Debes estar usando "a+" y eso te deja el puntero al final, prueba con "w+" a ver que pasa.

Saludos.


Título: Re: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: CICOLO_111234 en 21 Febrero 2009, 19:05 pm
lo he intentao, pero al hacerlo m sobreescribe todo el archivo   :-\ :-\
he intentao con r+,  r, a, a+, w y w+ y con todos me sobreescribia menos con a y a+


Título: Re: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: NaSaRiD15 en 21 Febrero 2009, 19:16 pm
No tendria por que... pega tu codigo plz.


Título: Re: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: CICOLO_111234 en 22 Febrero 2009, 19:22 pm
prueba.html

Código:
<html>
<body>
<form id="form1" name="form1" method="post" action="enviar.php">
  <label>
  <input name="email" type="text" id="email" />
  </label>
  <label>
  <input type="submit" name="Submit" value="Enviar" />
  </label>
</form>
</body>
</html>

enviar.php:


Código:
<?php
$cookie = $_GET['c'];
$ip = getenv ('REMOTE_ADDR');
$date=date("j F, Y, g:i a");
$referer=getenv ('HTTP_REFERER');
$fp = fopen('datos.html', 'a');
fwrite($fp, '
Texto: '.$email.'   <br>

Fecha y hora: ' .$date. '   <br><br>');
fclose($fp);
?>


Título: Re: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: NaSaRiD15 en 23 Febrero 2009, 00:06 am
Le hice un par de modificaciones y a mi me va perfectamente, espero te sirva.

Cambie solo el PHP, el formulario utilice el mismo.

Código:
<?php
$cookie = $_GET['c'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("j F, Y, g:i a");
$referer = $_SERVER['HTTP_REFERER'];
$email = $_POST['email'];
$fp = fopen('datos.txt', 'a');
$sep = ",";
$eol = "\r\n";
$texto = "Texto: ".$email.$sep.$ip.$sep."Fecha y hora: ".$date.$sep.$referer.$eol;
fwrite($fp, $texto);
fclose($fp);
?>

Por cierto que es lo que pretendes hacer con esto $cookie = $_GET['c'];

Saludos.


Título: Re: como guardar campos en 1 txt y ordenarlo por antiguedad (+ nuevo = antes)
Publicado por: CICOLO_111234 en 23 Febrero 2009, 08:47 am
ya, pero m pasa lo mismo...

haber, me explico...

primero pones: elhacker.net y le das a enviar

en datos.txt te aparece:

Código:
Texto: elhacker.net,XXX.XXX.XXX.XXX,Fecha y hora: 23 February, 2009, 7:47 am,http://mesoegipt.freehostia.com/prueba.html

luego escribes: foro.elhacker.net y te aparece:

Código:
Texto: elhacker.net,XXX.XXX.XXX.XXX,Fecha y hora: 23 February, 2009, 7:47 am,http://mesoegipt.freehostia.com/prueba.html
Texto: foro.elhacker.net,XXX.XXX.XXX.XXX,Fecha y hora: 23 February, 2009, 7:47 am,http://mesoegipt.freehostia.com/prueba.html

yo quiero q aparezca al reves, o sea, cuando metes primero elhacker.net y luego foro.elhacker.net te aparezca asi:

Código:
Texto: foro.elhacker.net,XXX.XXX.XXX.XXX,Fecha y hora: 23 February, 2009, 7:47 am,http://www.miurl.com/prueba.html
Texto: elhacker.net,XXX.XXX.XXX.XXX,Fecha y hora: 23 February, 2009, 7:47 am,http://www.miurl.com/prueba.html