Comunidad de diseño web y desarrollo en internet online

Control de errores Flash-php-sql

Citar            
MensajeEscrito el 24 Nov 2004 07:21 pm
Hola a todos amigos.

Tengo un archivo en flash que lo comunico a una base de datos por medio de php.

En el caso de que haya un error con la conexion o cualquier error relativo a la base de datos, el flash no se da por enterado. Si una persona da de alta un nuevo registro y ocurre un error la persona puede pensar que se dio de alta.

Como puedo yo recoger los errores (por ejemplo el "die()" de php) y que flash lo muestre al usuario, por lo menos en texto dinamico para empezar. Despues iriamos a los alerts (con el tiempo jeje).

Otra cosita. Asi como es Java, con flash 2004, ¿no se pueden crear clases que hagan la conexion a la base de datos o algo?

Gracias amigos. :D

Por micayael

6 de clabLevel



Genero:Masculino  

Paraguay

unknown
Citar            
MensajeEscrito el 25 Nov 2004 06:02 pm
Respeto a la primera pregunta sobre el control de errores hay una manera, aunque es poco práctica y muy engorrosa. Se trata de hacer un sendAndLoad con el flash i en php almacenar los errorres en una o varias variables. Luego en el Flash recoges esas variables y si son distintas a "", muestras el error. Else, seguimos palante.

Respeto a tu pregunta, no tengo ni idea.

Por isuny000

129 de clabLevel

1 tutorial

Genero:Masculino  

Girona provincia

unknown
Citar            
MensajeEscrito el 25 Nov 2004 07:54 pm
Yo habia pensado en esa forma isuny000, pero tenia el inconveniente de que no se en que momento deberia hacer que el flash lo lea.

Yo doy de alta algo y cuanto deberia esperar para que vuelva a leer el php?? y a que tambie ndepende la la rapidez con que se haga en una maquina especifica, (creo yo)

Por micayael

6 de clabLevel



Genero:Masculino  

Paraguay

unknown
Citar            
MensajeEscrito el 25 Nov 2004 08:14 pm
Ejem, no entiendo muy bien el problema. No se puede solucionar con un onLoad en el objeto sendAndLoad?

Lo digo porque en un caso yo lo solucioné de esa forma y no daba ningun tipo de problema, aunque lo considero una chapuza. Paralelamente yo he buscado otros modos de hacerlo y no he encontrado nada más decente. Hasta aquí puedo leer.

------------------------------
Isaac Sunyer
www.web-maps.net

Por isuny000

129 de clabLevel

1 tutorial

Genero:Masculino  

Girona provincia

unknown
Citar            
MensajeEscrito el 26 Nov 2004 03:01 am
Precisamente, sea como sea, Flash recibira, sea el mensaje de confirmación o de error en el evento onLoad del objeto que recibe la respuesta de acuerdo como lo especifiques en el sendAndLoad

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 29 Nov 2004 10:40 am
MMMMmmmmm. Pero al ser onLoad ejecutaria ese envio al abrir el formulario que yo tenga para ingresar a la base de datos.

Yo nocesito un formulario y que al dar un click sobre el boto, se envien las variables al php y lo cargue en la base de datos.
Pero si me dicen que lo mismo recibe si hay un error al tratar de ingresar a la base de datos...

Por micayael

6 de clabLevel



Genero:Masculino  

Paraguay

netscape
Citar            
MensajeEscrito el 29 Nov 2004 11:44 am
No, No, hay una confusión. Segun entiendo tu tienes un formulario que envia una serie de datos a una base de datos. Si es asi, el procedimento seria el siguiente:

Primero, al evento onPress del boton submit del formulario creas un objeto sendAndLoad llamado 'conectar'

Y en conectar.onLoad es cuando recibes s hay un error o no. El evento onLoad lo debes usar con el objeto sendAndLoad, NO CON EL OBJETO FORMULARIO.

Respeto al tratamiento de errores, flash no detecta direcatmente los errores mysql. Lo que proponemos es que almacenes los errores mysql en una variable PHP, imaginemos que se llama $errores.

Entonces $errores debe tener un formato string parecido a el siguiente en caso de que se produzca realmente un error:

$errores='&error=Mysql Error: cannot insert Value bla bla bla';

des de Flash haces:
conectar = new sendAndLoad;
conectar.valor1="pepito de los palotes";
conectar.sendAndLoad("http://www.ya.net/script.php", conectar,"POST");
conectar.onLoad = function() {
if (conectar.errores!=''){
//ERROR!!!!!!!!
}
else{
//Vamos palante
}
}

Por isuny000

129 de clabLevel

1 tutorial

Genero:Masculino  

Girona provincia

firefox
Citar            
MensajeEscrito el 29 Nov 2004 08:23 pm
Es eso lo que yo pensaba. Pero fijate en algo.

Respecto a usar la varible $errores:
el flash hace su proceso y por el otro lado tambien el php hace su proceso.

El proceso del flash hace que un envio e inmediatamente despues lee la variable $errores.

Sera que el proceso del php, de ingresar a la base de datos y registrar el error en la variable se hara exactamente en medio de la intruccion de envio del flash y leer la variable de error. ??

Es decir, el flash podria enviar y leer la variable y recien ahi el php encuentra un erro y lo almacena en la variable. Me parece que no es muy seguro.

O me equivoco.???

Por micayael

6 de clabLevel



Genero:Masculino  

Paraguay

netscape
Citar            
MensajeEscrito el 30 Nov 2004 10:09 am
El sendAndLoad lee los resultados en el momento en que el script php se acaba de ejeecutar. Es decir, cuando se eacaba de escribir el string generado por PHP. Entonces, en este sentido, no sufras: es seguro. Ya te dije que yo lo he usado y funciona.

El probema principal radica en almacenar los errores en una variable. Yo lo hice así:

$handler = mysql_query($query) or die("&Error=".mysql_error());

En ese caso el error no se almacena, pero funciona. Hay maneras de almacenar los errores.

Pruebalo, y ya veras que funciona

Por isuny000

129 de clabLevel

1 tutorial

Genero:Masculino  

Girona provincia

firefox
Citar            
MensajeEscrito el 30 Nov 2004 10:24 am
ok isuny000. Muchas gracias por la ayuda. Te debo una amigo.

Por micayael

6 de clabLevel



Genero:Masculino  

Paraguay

netscape

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.