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

ActionScript(Flash)+PHP+MySQL... Ayuda !!

Estas en el tema de ActionScript(Flash)+PHP+MySQL... Ayuda !! en el foro de Flash y Actionscript en Foros del Web. hola a todos !! aquí mi problema, tengo algunos días tratando de insertar registros en una base de datos de MySQL desde Flash con conexión ...
  #1 (permalink)  
Antiguo 25/09/2009, 14:31
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta ActionScript(Flash)+PHP+MySQL... Ayuda !!

hola a todos !!
aquí mi problema, tengo algunos días tratando de insertar registros en una base de datos de MySQL desde Flash con conexión en PHP, mi problema es que al momento de clickear el botón "insertar" en flash, si manda el regístro, en la base de datos MySQL me aparece que hay un registro, sólo qué en los campos de la base de datos (nombre, apellido, email) no me aparece la informacion tecleada desde la aplicacion de flash, me aparece el regristro solo, sin informacion, supongo que es error de la conexion en PHP.. aquí les dejo los códigos que he estado haciendo.. espero me puedan ayudar con este problema, de antemano muchas gracias !!..

Código en ActionScript: todo este código esta dentro del botón "insertar"

on(press)
{
var almacen = new LoadVars();
almacen.nombre = nombre;
almacen.apellido = apellido;
almacen.email = email;
almacen.onLoad = function()
{
trace("FIN DE ALTA");
};
almacen.sendAndLoad(_root.pat+"datos.php" + almacen, "POST");
}


Código en PHP:

<?PHP
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$conexion=mysql_connect("localhost","Hector","hect or");
mysql_select_db("prueba1",$conexion);
$agrega = mysql_query("INSERT INTO datos (nombre, apellido, email)
VALUES ('$nombre', '$apellido', '$email')",$conexion);
?>


Base de Datos:
Nombre: prueba1
Tablas: datos
Campos: nombre, apellido, email



Saludos..OC7
  #2 (permalink)  
Antiguo 26/09/2009, 15:02
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola
Pues creo que supones mal
Intenta cambiar tu almacen.sendAndLoad por este
almacen.sendAndLoad(_root.pat+"datos.php",almacen, "POST");
y prueba, nos comentas
Saludos
  #3 (permalink)  
Antiguo 29/09/2009, 14:21
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

hola, muchas gracias..!!
ya cheqé e hice lo que me dijiste, cambie mi linea por la tuya y en flash me sale este error:

FIN DE ALTA
Error opening URL 'file:///C|/wamp/www/tutoriales/3/undefineddatos.php'

al ver el "FIN DE ALTA" del trace quiero pensar que si hace lo pedido, pero el problema me parece que va ser en el PHP, ya que al momento de abrirlo desde el path mi localhost me salen estos errores:

Notice: Undefined index: nombre in C:\wamp\www\tutoriales\3\datos.php on line 2
Notice: Undefined index: apellido in C:\wamp\www\tutoriales\3\datos.php on line 3
Notice: Undefined index: email in C:\wamp\www\tutoriales\3\datos.php on line 4

y esto sumado al error en el ouput del flash, quiero pensar que el problema esta en el PHP..

bueno, espero me puedas ayudar.. de antemano muchas gracias !!

Saludos..OC7
  #4 (permalink)  
Antiguo 29/09/2009, 16:36
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola
Pues yo sigo defendiendo a php
Te pregunto varias cosas
1. El archivo swf esta dentro del www del wamp?
2. Esta el archivo php al nivel correcto respecto al pat que tienes en as?
3. Has intentado ejecutar solo el archivo php poniendo valores de prueba en las variables para que inserte?

Bueno, te pregunto todo esto porque cuando vi tu post, copie tal cual tu codigo y me funciono correctamente luego de hacer el cambio que te sugeri

Prueba y nos comentas
saludos
  #5 (permalink)  
Antiguo 30/09/2009, 15:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

hola..!!
si, de hecho ya habia hecho las 3 cosas anteriores que me propones:

el SWF esta en una carpeta llamada tutoriales que esta dentro del www del wamp;

y si.. tmb en el as tengo la ruta datos.php y tmb ya ha probado con ...//localhost/tutoriales/3/datos.php;

tmb he hecho la insercion de datos directamente de la variables del as, sin meterlas en el swf;

pero aun asi con variables o directamente metiendole desde el swf me siguen saliendo los mismos errores:

AS
FIN DE ALTA
Error opening URL 'file:///C|/wamp/www/tutoriales/3/undefineddatos.php'

PHP
Notice: Undefined index: nombre in C:\wamp\www\tutoriales\3\datos.php on line 2
Notice: Undefined index: apellido in C:\wamp\www\tutoriales\3\datos.php on line 3
Notice: Undefined index: email in C:\wamp\www\tutoriales\3\datos.php on line 4

BD
se crea el registro, pero se crean vacios..

lo unico que me hace sentir bien es que dices que contigo funciono..
espero me puedas explicar paso a paso lo que haz hecho con mi codigo, desde la creacion en flash, el php y la tabla en mysql..
y ya asi poder seguir paso a paso con mi mismo codigo para entender todo y tmb entender mi error !!

muchas gracias por todo lo anterior y espero seguir contando con tu ayuda..!!

Saludos..OC7
  #6 (permalink)  
Antiguo 30/09/2009, 20:34
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Bueno, vamos por partes

Dices que todo esta en una carpeta tutoriales, pero luego haces referencia a esta ruta

localhost/tutoriales/3/datos.php;
en cual es??

Bueno, ahora, cuando dices que has hecho insercion de datos directamente de las variables del as, es decir, ejecutas con valores ya cargados en las loadvars?

Ahora pregunto, estas siempre probando una vez compilas o luego de compilar abres el swf en el navegador??
Ahora, otra pregunta, tienes esta variable
_root.pat
Esta donde tiene valor????
Porque hice la prueba de no darle valor a esta y probar a guardar apenas compilo y ahora si veo este error

Error opening URL 'file:///C|/wamp/www/tutoriales/3/undefineddatos.php'
Y esto es porque como podras ver antes de datos.php esta la palabra undefined, y eso hace referencia a la variable _root.pat que esta sin valor y por eso dice undefined

Los errores de php no me salen a mi

Ahora, si se crea el registro, asi sea sin datos, quiere decir que php esta haciendo lo que tiene que hacer, que no le llegen valores eso es otra cosa, pero php es el bueno de la pelicula

Por ende, descartemos a php

Ahora, has lo siguiente en el codigo de actionscript
1. Asigna un valor a _root.pat , esto porque al hacer esto
Código as:
Ver original
  1. almacen.sendAndLoad(_root.pat+"datos.php",almacen, "POST");
como podras ver el va a buscar la ruta que le pongas en _root.pat y luego le suma datos.php, por eso a ti te muestra
undefineddatos.php, si quieres has esto ANTES de
almacen.sendAndLoad(_root.pat+"datos.php",almacen, "POST");
_root.pat = '';
y ya con esto este error debería solventarse, obviamente esto hara que el swf busque datos.php al mismo nivel del swf

2. Con esto, ya deberia insertar (valga la aclaración que yo estoy haciendo pruebas desde un navegador llamando al swf como si fuera una pagina web), sospecho que estas haciendo pruebas es una vez compilas, por ende si quieres seguir haciendo esas pruebas, necesitas indicarle a flash la ruta completa donde esta el php
es decir, _root.pat tendria que ser algo asi
_root.pat = 'http://localhost:8282/test/forosdelweb/tutoriales/';
para que luego al hacer esto
almacen.sendAndLoad(_root.pat+"datos.php",almacen, "POST");
quede http://localhost:8282/test/forosdelw...ales/datos.php como resultado de concatenar _root.pat con datos.php
Y haciendo esto, igualmente ya deberia insertar
Si inserta, y al ver el registro muestra undefined, es porque las variables que
se estan asignando en el loadvars no llevan valor, para eso podrias ponerles valores fijos, por ej
almacen.nombre = 'prueba'; y deberia insertar la palabra prueba y asi con todos los campos
Bueno, esas fueron las pruebas que hice recien, espero hagas las mismas y nos comentes
Saludos
  #7 (permalink)  
Antiguo 01/10/2009, 15:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola... muchas gracias !!
ya puse insertar los datos, mi problema estaba en esta linea que me dijiste;

almacen.sendAndLoad(_root.pat+"datos.php",almacen, "POST");
_root.pat = '';

ahora.. tal cual me dices, al insertar los datos desde el textArea con las variables me salen UNDEFINED,
pero al meterlos con variables fijas; almacen.nombre = 'Hector', si me sale asi en los registros,
como puedo hacer para que lo que escriba en los textArea sea lo que mande a los registros ??

de verdas muchas gracias y espero seguir contanto con tu ayuda..!!

Saludos..OC7
  #8 (permalink)  
Antiguo 01/10/2009, 17:05
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola
Bueno, pues entonces intenta con esto

almacen.nombre = _root.nombre;

si sigue sin funcionar, averigua la ruta del text poniendo esto
en el onchange del campo de texto

trace(this.name);
y luego usa eso que te imprime para asignarlo a almacen.nombre
Prueba y nos cuentas
Saludos
  #9 (permalink)  
Antiguo 01/10/2009, 19:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola..!!
ya intente con la linea esta:

almacen.nombre = _root.nombre;

y en el registro me sale esto:

Nombre:
_level0.nombre

Apellido:
_level0.apellido

Email:
_level0.email

y lo otro que me dices la verdad no se como hacerlo, pq en realidad soy novato en todo esto,
apenas tengo esta semana moviendole a todo esto, alguna otra idea que se te ocurra ??..

de antemanos muchas gracias y espero seguir contanto con tu ayuda !!

Saludos..OC7
  #10 (permalink)  
Antiguo 01/10/2009, 21:30
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola
Bueno, entonces agrega esto

almacen.nombre = _root.nombre.text;
Saludos
  #11 (permalink)  
Antiguo 06/10/2009, 15:26
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola !!

muchisisisisismas gracias, ya quedó la parte de la insercción, de verdad te lo agradezcO !!
ahora quisiera ver si me puedes ayudar a qué en la misma aplicación poner un botón de:
BORRAR DATOS.. y que este borre algún dato existente de la misma base de datos;
de antemano muchas gracias y espero seguir contando con tu ayuda !!

Saludos..OC7
  #12 (permalink)  
Antiguo 06/10/2009, 20:17
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola
Pues ya tienes lo que necesitas, lo que ahora necesitas
modificar es el archivo php, es más, podrías usar el mismo

Te recomendaria entonces hacer algo así

Agregar en almacen una variable más (para ambos botones),
asi

almacen.operacion = insertar; //boton que ya tienes
o
almacen.operacion = eliminar;// nuevo boton

y que ambos envien datos al archivo php que ya tienes,
y en ese archivo harias un if, y si el valor de
operacion es insertar, que haga el insert que ya tienes,
y si es eliminar que haga un delete en la base de datos

algo asi

Código PHP:
<?php
$operacion 
$_POST['operacion'];
$nombre $_POST['nombre'];
$apellido $_POST['apellido'];
$email $_POST['email'];
$conexion=mysql_connect("localhost","Hector","hect  or");
mysql_select_db("prueba1",$conexion);

if( 
$operacion == 'insertar' ){
$sql "INSERT INTO datos (nombre, apellido, email)
VALUES ('$nombre', '$apellido', '$email')"
;
}
else if( 
$operacion == 'eliminar' ){
$sql "DELETE FROM datos WHERE nombre = '$nombre'
AND apellido = '$apellido' AND email = '$email'"
;
}
$resultado mysql_query($sql,$conexion);
?>
Suerte
  #13 (permalink)  
Antiguo 13/10/2009, 17:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: ActionScript(Flash)+PHP+MySQL... Ayuda !!

Hola.. !!

antes que todo perdon por no responder antes, pero ya quedó todO !!
de verdad muchas gracias por tu ayuda, al final hice en 2 archivos en php; enviar y borrar,
pero puse la sentencia del delete que me pasaste, de vdd muchas gracias por tu ayuda !!
hasta luego..!!

Saludos..OC7
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 22:48.