Foros del Web » Creando para Internet » Flash y Actionscript »

Formulario- Flash-PHP

Estas en el tema de Formulario- Flash-PHP en el foro de Flash y Actionscript en Foros del Web. He hecho una Web que trabaja con base de datos MySQL. Los formularios que introducen los datos a la base de datos estan hechos en ...
  #1 (permalink)  
Antiguo 26/01/2006, 05:12
Avatar de marijos  
Fecha de Ingreso: mayo-2004
Ubicación: Madrid
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
Formulario- Flash-PHP

He hecho una Web que trabaja con base de datos MySQL. Los formularios que introducen los datos a la base de datos estan hechos en php con este código:
{
$consulta="INSERT INTO artículos (NOMBRE, EDAD, APELLIDOS, ARTÍCULO, EMAIL, FECHA) VALUES ('$nombre', '$contrasena', '$apellidos', '$direccion', '$dni',NOW() )";
mysql_query($consulta,$conexion) or die ("No se ha podido realizar la inserción del artículo en la base de datos. Quizá se ha dejado algún campo por rellenar");
echo "Se añadido un nuevo artículo a la base de datos<br><br>";
echo "<a href=\"index.php\">VOLVER A LA P&Aacute;GINA PRINCIPAL</a>";

Mi pregunta es si esto se puede hacer con flash o tiene que ser irremediablemente con un archivo.php y en este caso, si sólo puede ser con php, hay alguna forma de hacer el formulario con flash y que envíe las variavles al archivo.php para que desde aqui se inntroduzcan a la base de datos, ¿Cómo sería?
Muchas gracias, un saludo.
  #2 (permalink)  
Antiguo 26/01/2006, 05:31
Avatar de Parzival  
Fecha de Ingreso: junio-2004
Ubicación: Vive en el foro
Mensajes: 190
Antigüedad: 19 años, 10 meses
Puntos: 2
Mírate la ayuda de LoadVars, sirve para "cargar" variables desde un archivo, pero claro, también se las puedes pasar mediante GET, así que el archivo php puede leer los datos del formulario enviado por flash y luego comunicarse con la base de datos.
  #3 (permalink)  
Antiguo 26/01/2006, 07:15
Avatar de marijos  
Fecha de Ingreso: mayo-2004
Ubicación: Madrid
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
¿Y cómo sería el código para enviar las variables desde el formulario de flash al archivo.php el cual introducirá los contenidos en la base de datos ejemplo: procesardatos.php?
Muchas gracias, un saludo.
  #4 (permalink)  
Antiguo 26/01/2006, 08:25
Avatar de Parzival  
Fecha de Ingreso: junio-2004
Ubicación: Vive en el foro
Mensajes: 190
Antigüedad: 19 años, 10 meses
Puntos: 2
Código:
var cargador_lv:LoadVars = new LoadVars();
cargador_lv.onLoad = function(exito) {
if (exito) {
if this.devuelto == 1
{//si se envia avisa al usuario que se ha enviado}
else
{//si no se envia avisalo también}
}
else { //problema con la conexión
}
}
cargador_lv.loadVars("procesardatos.php?nombre="+nombre.text+"&contrasena="+contrasena.text); // etc
El código del archivo php es
Código:
<?php
$consulta="INSERT INTO artículos (NOMBRE, EDAD, APELLIDOS, ARTÍCULO, EMAIL, FECHA) VALUES ('$nombre', '$contrasena', '$apellidos', '$direccion', '$dni',NOW() )";
if(mysql_query($consulta,$conexion))
print "devuelto=1"; //enviado
else
print "devuelto=0"; //no enviado
?>
  #5 (permalink)  
Antiguo 26/01/2006, 16:32
Avatar de marijos  
Fecha de Ingreso: mayo-2004
Ubicación: Madrid
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
Gracias Parcival, pero una pregunta, el primero de los codigos que has puesto ¿es para el archivo flash? por lo tanto seria el mismo q contiene el formulario no?donde tendria que ponerlo exactamente?? muchas gracias de nuevo!
  #6 (permalink)  
Antiguo 26/01/2006, 23:29
Avatar de Developmex  
Fecha de Ingreso: julio-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
De acuerdo Hola a mi me funciono así . . .

Espero que te sirva este code, esta bien explicadito

salu2


En flash crea un archivo, crea un fotograma en una linea de tiempo, ahí crea:

Un campo de introduccion de texto (al seleccionarlo , en las propiedades hay un campo que se llama var: ahi le pones el nombre de variable: nombre



Ademas crea un boton y seleccionalo, ahi entra a las acciones y escribes:

on (release) {
enviar();
}

Encima de ese fotograma donde tenemos todo lo anterior, crea otra linea de tiempo y un fotograma clave(exactamente encima), y en el fotograma ingresa la siguiente función en el panel de Acciones:

//Funcion para envia el contenido delos campos de texto
function enviar() {
enviar = new LoadVars();
//Si no te jala en flash 8 o en mx2004 cambai esta linea por:
//var enviar = new LoadVars();
enviar.nombre = nombre; //enviar.nombre es variable del flash
enviar.score = score; // es como se va mandar la variable al php

enviar.send("score.php", this, "POST");
enviar.send = function(success) {
this.gotoAndStop(2);
};
}


Ahora debemos crear un segundo fotograma en la linea de tiempo dodne esta el boton y el campod e introducciond e texto, estoe s con la finalidad de que nos funcione correctamente, pues en la funcion que ingresamos en el fotograma hay una linea que hace referencia a que despues de enviar los parametros a php, se salte al fotograma 2 y es exactamente aqui:

this.gotoAndStop(2);

Hay que tener en cuenta que a cada fotograma en cualquier linea de tiempo le vamos a poner un stop(); pues esto detendra cada pantalla de nuesta pelicula...

Bueno hasta aquí ya conseguimos elaborar el show con flash, ahora vamos con el php:


Este debe llamarse score.php
-------------------------------------------------------------------------

<?php
$db_conexion= mysql_connect("localhost","nombre_de_usuario", "password") or die("No se pudo conectar a la base ");

mysql_select_db("nombre_de_la_base");

//Aqui cachamos las variables enviadas desde el campo de texto de flash
$nombre = $_POST['nombre'];



$Query = "INSERT into nombre_de_la_base values ('$nombre')";

$insertar = mysql_query($Query) or die ("no inserto");

?>





Suerte, este code me costo unos buenos dolores de cabeza, pero me funciono a la perfeccion, salu2.
  #7 (permalink)  
Antiguo 28/01/2006, 01:04
Avatar de keegan  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 584
Antigüedad: 19 años, 7 meses
Puntos: 0
mandame un mail a [email protected] y te envio un ejemplo con los .fla y .php
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 23:13.