Guardar contenido de formularios en txt (Con php?)

Iniciado por Dracomega, 26 Mayo 2010, 17:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Dracomega

Buenas!! ;D
He estado buscando la forma de que en una pagina con formularios, al darle al Send la informacion escrita se guardase en un txt dentro del servidor.... pero no he conseguido hacerlo funcionar (Sera por inutil... xD)
Se algo de html, pero de php ni idea...
La duda es la siguiente...:

<html>
<head>
<title>Guardar datos de formulario en un archivo de texto</title>
</head>
<body>
<form action="X" method="post">
Nombre: <input type="text" name="nombre"  /><br />
Pass: <input type="password" name="pass"  /><br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>


¿Donde esta la X iria la ruta del archivo php?
En el caso de que la ponga... trata de ejecutarse... y el navegador supongo que no es capaz de soportarlo...

Creo que el php tendria que llevar lo siguiente:
<?
if(isset($_POST['nombre'],$_POST['apellidos'])){
#se abre el fichero en modo lectura y escritura.
$archivo = fopen("datos.txt","a+");
#se crea uan variable con los datos a introducir. \r\n genera un salto de linea
$cadena = "Nombre: ".$_POST['nombre'].".\r\nPass: ".$_POST['pass'].".\r\n\r\n";
fputs($archivo,$cadena);
#se cierra el fichero
fclose($archivo);
}
?>


Si me equivocado en algo... decirmelo T_T que soy bastante novato..
Muchas gracias de antemano

~ Yoya ~

y si no hay permiso de escritura en ese directorio?
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Dracomega

Se supone que esto es a nivel local.... en teoria si habria permiso no?

~ Yoya ~

trata de mirar si tienes permiso de escritura o puedes verificar si el archivo se a creado....
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Dracomega

Es que la verdad no tengo ni idea de php.... si me puedes explicar como se hace paso a paso... T_T Te lo agradeceria... xD

N4X

si es sobre windows seguro tienes permisos...

en la X va POST si...

salta algún error en el script?

porque si no es así lo que pasa es que el if no se cumple..

Código (php) [Seleccionar]

if(isset($_POST['nombre'],$_POST['apellidos'])){

...
} else {
//en caso de fallo:
echo "Nombre: ". $_POST['nombre']. "Apellido: ". $_POST['apellidos'];
}


Piensa que no es lo mismo ' ' que ` ´

Dracomega

Pero... no es eso..
A ver, el script no da error ni nada, simplemente no hace absolutamente nada..
A nivel local (Es decir tener el *.html y *.php en el disco duro sin un servicio)no ejecuta el codigo php... no entiendo bien por que...
Subiendolo mediante ftp a un servidor, si lo ejecuta, pero no crea el archivo ni hace nada de nada...
Lo que no se, si es necesario habilitar algun servicio que gestione el php... que es lo unico que no entiendo, ya que tema codigos no creo que sea el problema..
Gracias

~ Yoya ~

Creia que ya podias hacerlo pero bueno xD.

Este es el codigo, le agrege algo mas...
Código (php) [Seleccionar]
<?php
$var1 
'juan';
$var2 '123456';
#se abre el fichero en modo lectura y escritura.
$archivo fopen("datos.txt","a+");
#se crea uan variable con los datos a introducir. \r\n genera un salto de linea
$cadena "Nombre: ".$var1.".\r\nPass: ".$var2.".\r\n\r\n";
if(
fputs($archivo,$cadena) == TRUE){echo "Se a creado con exito el archivo";}else {echo "No se pudo crear el archivo";}#Si la funcion fputs da TRUE, se ejecuta el if y si no entra el else...
#se cierra el fichero
fclose($archivo);
exit;
?>


A mi me respondio:
No se pudo crear el archivo

Entonce mire aver los permiso que tenia sobre el directorio y el archivo y pase a cambiarlo, con este comando (Linux):
$ ls -l&& ls -l ejemplos/ && chmod -vR 777 ejemplos/
total 8
drwxr-xr-x 2 yoya     yoya     4096 2010-05-28 15:05 ejemplos
-rwxrwxrwx 1 www-data www-data   20 2010-05-27 17:22 index.php
total 4
-rw-r--r-- 1 yoya yoya 434 2010-05-28 15:05 a.php
el modo de «ejemplos/» cambia a 0777 (rwxrwxrwx)
el modo de «ejemplos/a.php» cambia a 0777 (rwxrwxrwx)


Y ejecute el script de nuevo y se ejecuto el script correctamente...
Se a creado con exito el archivo
$ ls -l ejemplos/ && cat ejemplos/datos.txt
total 8
-rwxrwxrwx 1 yoya     yoya     434 2010-05-28 15:05 a.php
-rw-r--r-- 1 www-data www-data  32 2010-05-28 15:06 datos.txt
Nombre: juan.
Pass: 123456.


Saludos...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Dracomega

Vale way gracias xD Me estaba yo haciendo demasiadas pajas mentales...(Estaba confundiendo con sql...) mientras te desesperaba xD

Me crea el archivo ^^ con el contenido de las variables... ahora lo unico....
Que no se como asignar a la variable el contenio del formulario... :-(

Los anteriores codigos no me funcionan...

Ya tranquilo que despues de esto, me estudiare el php antes de incordiar a la gente xDDD

Un saludo ^^

KrossPock

Cita de: Dracomega en 29 Mayo 2010, 00:47 AM
Que no se como asignar a la variable el contenio del formulario... :-(

$var1= $_POST['nombre'];
$var2= $_POST['apellido'];


eso?