Foros del Web » Programando para Internet » PHP »

guardar variables

Estas en el tema de guardar variables en el foro de PHP en Foros del Web. wenas tengo este formulario Código: <form action="pruebas/comentario.php" method="post"> Tu nick: <input type="text" name="nombre" /> Comentario:<br> <textarea name="comentario" rows="10" cols="60"></textarea><br> <input type="submit" value="Enviar"/> </form> y este ...
  #1 (permalink)  
Antiguo 17/04/2008, 08:08
 
Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
guardar variables

wenas tengo este formulario
Código:
<form action="pruebas/comentario.php" method="post">
Tu nick:
<input type="text" name="nombre" />
Comentario:<br>
<textarea name="comentario" rows="10" cols="60"></textarea><br>
<input type="submit" value="Enviar"/>
</form>
y este codigo para recivir:
Código:
<?php
echo "$_POST[nombre] escribió<br>";
echo "$_POST[comentario]";
?>
me gustaria saber si ay alguna manera de guardar ese formulario y añadirlo a la web destino. no se si me explico, qerria colocar todos los resultados del formulario en un documento.

Mi problema es q no teno base de datos, abria alguna solucion?
Gracias
  #2 (permalink)  
Antiguo 17/04/2008, 08:39
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Re: guardar variables

un fichero txt o.o

o uno binario :)

imaginate, q tendrias un fichero tipo:

FULANITO:
ey! como mola, no?
FULANITA:
ya ves!

Asiq, para "generar" los comentarios, vas leyendo del fichero, la linea impar = autor, la par = comentario... y para añadir, abres el fichero por el final, y añades autor + comentario

Má o menos así lo haria yo
  #3 (permalink)  
Antiguo 17/04/2008, 08:44
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Re: guardar variables

Hola.
Podés guardarlo en un archivo de texto, e imprimir los datos luego de manera sencilla utilizando foreach. Te explico:

Vamos a guardar los datos en un formato, como puede ser el siguiente:
Código:
nombre|comentario\n
Bien, guardar los datos es sencillo:
Código PHP:
$f fopen("comentarios.txt","a");
fwrite($f,$_POST["nombre"]."|".$_POST["comentario"]."\n");
fclose($f); 
Para leerlos luego, usamos una combinación de file(), foreach() y explode():
Código PHP:
$f file("comentarios.txt");
foreach(
$f as $linea) {
    
// $linea tiene una línea del archivo
    
$partes explode("|",$linea);
    
$nombre $partes[0];
    
$comentario $partes[1];
    echo 
"<b>Nombre:</b> $nombre<br />$comentario<hr />\n";

Ahora, el archivo comentarios.txt debe existir en el directorio correspondiente, tener permisos 655 por lo menos si es Linux, y no debe estar en blanco, porque de lo contrario el primer comentario que envíes fallará.

Lo único que quedaría por hacer, que te lo dejo para vos, (además de probarlo pues lo escribí directamente aquí) es mejorarlo tal vez en estos puntos:
Limpiar el nombre y el comentario para que no nos arruine el formato del archivo. Los caracteres | y salto de linea harán un buen lío, asi que hay que reemplazarlos por alguna cadena y después volver a reemplazar esas cadenas por el caracter original antes de imprimirlos en la página.
Reemplazar los saltos de línea dentro de la linea por <br /> para que se vean como saltos de línea en la página.
Para que no se pueda leer el archivo vía web podés cambiar la extensión a .php y añadirle en la primera línea <?PHP die(); ?>, y luego al leer el archivo saltear esa línea.

Espero que te sirva,
exitos.
  #4 (permalink)  
Antiguo 17/04/2008, 10:57
 
Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Re: guardar variables

muxas gracias eres weno.
no se si me e equivoco pero el bucle abria q cerrarlo no?

Saludos y muxas gracias

edito, solventado con un } q lo cerraba.(es q no lo vi al copiar :P)
ya va mu bien, estoy pereccionandolo, muxas muxas gracias ^^

Última edición por Ofiucus; 17/04/2008 a las 11:29
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 09:00.