Guardar datos desde flash en un .txt
4 seguidores
Otra duda más con flash...
Tengo un formulario que solo tiene dos campos, nombre y email, pues necesito que cuando se de al boton enviar estos datos se guarden en un .txt .... pero se tienen que poder meter muchas personas que se guardarian ene el mismo .txt generando una lista de este tipo:
Julian Perez
julian@free.com
Paco Lopez
pacolo@desde.net
...... GRACIAS¡¡¡¡
tumas
Hola
Se que este tema está "muerto" desde hace demasiado tiempo, pero es justo lo que necesito y era para no crear un nuevo tema con el "mismo titulo". Si los admins creen oportuno que cree un nuevo hilo que me lo digan y encantado lo hago. :)
Bien la cosa es que necesito crear una especie de "concurso" en Flash, sería un concurso de preguntas y entre los que contesten correctamente todas las preguntas se va a sortear un premio.
El objetivo es por una parte recopilar datos de los clientes de la web y por otro lado guardar las respuestas de las preguntas para posteriormente poder hacer el sorteo.
La idea era en el Flash mediante un formulario en la primera pantalla pedir datos del participante (nombre, e-mail, población, etc.) y luego en las próximas 5 las preguntas tipo test, una vez contestado todo, guardar los datos en un .txt y enviar un correo electrónico al participante con un "gracias" o incluso con los datos que ha aportado y sus respuestas.
En un principio iba ha hacerlo más simple, simplemente que recopilar los datos y enviarlos por e-mail a mi i al "jugador", pues ya tenia hecho de hace unos 3 años un formulario de contacto que más o menos hacia eso, pero no se porque ahora no funciona del todo bien...
Entonces buscando como arreglarlo me he topado con este tema y creo que este nuevo planteamiento sería mejor y sobretodo más practico a la hora de después tener los datos y hacer el sorteo.
He intentado de hacer lo que plantea el compañero XrV pero no me acaba de funcionar, solo que me responde "undefined" por lo que algo hago mal pero no se el que... :(
Para que se tenga en cuenta mis conocimientos en PHP son muy muy básicos por no decir nulos ya aunque el Flash lo manejo, ya hace bastante tiempo que no lo uso por lo que estoy algo "torpe"...
A ver si me podéis echar un cable, os lo agradecería mucho. Mil gracias!!
xrv
jejeje, ok ok, ya dirás algo :)
ketodico
oooooooooooooooo... que bueno que bueno.... tendras tu chapita no lo dudes... pero los que me las haces tienen que estar de vacaciones o algo y no me dicen na los muy...... MARDITOS¡¡¡
MIL GRACIAS¡¡¡¡¡¡
xrv
necesitamos 3 archivos:
1- datos.txt (con permisos de escritura)
2- guardaDatos.php (con el contenido que pongo más abajo)
3- un flash que mande los datos al PHP (tb pongo el AS más abajo)
Editamos el archivo guardaDatos.php (por darle un nombre, oiga) y le metemos toda esta parrafada:
<code>
<?
//si la petición es por POST guardamos los datos en el archivo
if($REQUEST_METHOD=="POST"){
//definimos la variable con el nombre del archivo
$archivo = "datos.txt";
//definimos las variables que vamos a guardar en $archivo
$nombre = $_POST[nombre];
$email = $_POST[email];
$contenido="Nombre: $nombre\nEmail: $email\n";
// Miramos si el archivo tiene permisos de escritura
if (is_writable($archivo)) {
//si el archivo tiene permisos de escritura hacemos esto:
//abrimos el archivo en modo "append" (escribir contenido al final de todo del archivo)
if (!$ketodiko = fopen($archivo, 'a')) {
die("&resultado=no se puede abrir $archivo &");
}
//añadimos el texto que queremos dentro del archivo
//y miramos si lo hace bien o mal (con el === FALSE vemos si devuelve error o que)
if (fwrite($ketodiko, $contenido) === FALSE) {
die("&resultado=no se puede añadir el texto a $archivo &");
}
//si todo se ha hecho bien devolvemos un "OK"
echo "&resultado=se han guardado bien los datos.&";
//cerramos el archivo
fclose($ketodiko);
}else{
//si no tiene permisos de escritura hacemos esto:
echo "&resultado=$archivo no tiene permisos de escritura&";
}
}else{
//si la petición no es por post, mostramos el contenido del archivo (con una simple redirección)
header("Location:datos.txt");
}
?>
</code>
luego en el flash creamos una función que nos mandará los datos de un formulario al archivo php. un ejemplo sería esto:
<code>
function mandaDatos(){
//mandamos estas dos variables
var nombre=nombre.text;
var email=email.text;
//creamos un objeto loadvars
mandar=new LoadVars();
//le definimos las variables que queremos mandar
mandar.nombre=nombre; //MUY IMPORTANTE, fijate que mandar.nombre tiene el mismo nombre que en el PHP tenemos $_POST[nombre]
mandar.email=email; //MUY IMPORTANTE (lo mismo de arriba): $_POST[email]
//una vez se hayan mandado - procesado y recivido los datos se lanza este metodo:
mandar.onLoad=function(){
//definimos el texto de un campo de texto dinamico con lo que nos devuelve el php
salida.text=this.resultado;
//resultado es la variable que devolvemos con el php:
// die("&resultado=no se puede abrir $archivo &");
// por ejemplo.
}
//y finalmente mandamos los datos a guardaDatos.php via post
//mandando como objeto el mismo objeto loadvars (mandar)
mandar.sendAndLoad("guardaDatos.php",mandar,"POST");
}
</code>
para ejecutarlo puedes usar un botón que tenga como actionscript:
<code>
on(press){
mandaDatos();
}
</code>
NOTA: el sistema este del botón es anticuado pero weno, no tengo tiempo y me toy escaqueando del curro 2 minutos (rapido rapido rapido)
Si te fijas en el php he puesto que pase lo que pase te devuelva una variable "resultado" con el resultado de la operación, eso lo usamos en el flash para ver si se ha hecho bien o no (porque como todo corre escondido del cliente, el no ve si hay error o no ... )
no he probado nada del código pero tiene que funcionar (bug y fallos son bienvenidos).
ala, saludossss y quiero mi chapa de ketodiko!!! :P
ketodico
ein???... se me ha olvidao decir que yo de progarmación muy pokito :D :D... entiendo lo que me dices pero no se como poner el codigo en flash ni lo qu etengo que poner.... si teneis algun ejemplo o algo yo me peleo con el él i alfinal lo sacaré....
GRACIAS MAJETES¡¡¡
turuto
yo lo que haria seria un php que abriese un archivo de texto, escribiese lo que fuese y lo cerrase
luego, otro tema, el formato de lo que se escribe usaria XML, pues si lo guardas con variabkes tipo nombre1=pakito&mail1=pakito@pakito.com&nombre2=manolo&mail2=manolo@hotmail.com.... luego cuando vuevas a leer el flash no sabes cuantos elementos hay y tendrias que incluir una variable total
en cambio si se hace con xml pues es mas facil pues flash reconoce el numero de nodos