Comunidad de diseño web y desarrollo en internet online

Flash remoting y AMFPHP funciona consulta nada mas.....

Citar            
MensajeEscrito el 27 Dic 2006 12:50 pm
Buenas, estoy siguiendo los pasos del tutorial de Maikel "Bases de Datos con Flash y AMFPHP" y lo estoy probando en local.

Bien, he conseguido sin mayores problemas atacar a la Bd y consultar los datos de la tabla, pero no funciona las funciones de insertar, modificar o eliminar.

Estoy utilizando los archivos del ejemplo y la única modificación que he realizado ha sido los datos para la conexion de la Bd.

Pd.- si intento insertar un registro en blanco si que lo hace, pero como edite los campos y luego lo intente insertar, no me funciona ni me da ningun error

Ya sé que es un tema muy manido, pero agradecería mucho que alguien me pudiera echar una mano

Gracias

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 27 Dic 2006 03:50 pm
Creo que solucioné algo parecido en una ocasión con
$_REQUEST

Por Aitcar

Claber

145 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 28 Dic 2006 07:44 am
Gracias por contestar pero no sé a qué te refieres con $_REQUEST,

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 28 Dic 2006 08:42 am
Buenas de nuevo, aquí aporto (hasta donde llego) dónde radica el problema.

1.- cuando desde flash utilizo:

Código :

import mx.remoting.NetServices;
import mx.remoting.Connection;
mx.remoting.debug.NetDebug.initialize();
NetServices.setDefaultGatewayUrl("http://localhost/pp/pp/gateway.php"); 
conexion = NetServices.createGatewayConnection();

capturaRespuesta = new Object();
servicio = conexion.getService("misquerys",capturaRespuesta);

servicio.insertar("","");


La última linea llama al archivo misquerys.php donde contiene entre otro código el siguiente:

Código :

function insertar($nombre,$comentarios){
                  $nombre = utf8_encode($nombre); //<-- utf8_encode para que php entienda el escape() de flash   
               $comentarios = utf8_encode($comentarios);//<-- igual
               //creamos la cadena de nuestra sentencia(query) SQL
                  $sql= "INSERT INTO prueba (id,nombre,comentarios) VALUES ('','".$nombre."','".$comentarios."')";
               return $this->query($sql,1);//retornamos el id de nuestro registro insertado
         }
funciona bien, es decir me inserta el registro.
Pero cuando utilizo

Código :

servicio.insertar(escape(nombretxt.text)+escape(comentariostxt.text));
entonces no funciona. Aun cuando escribo esto:

Código :

servicio.insertar("escribo algo","escribo otra cosa");
sigue sin funcionar.

Me imagino que como siempre el problema será una chorradita de nada, pero soy incapaz de verla.

gracias.

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 06 Ene 2007 07:29 am
Yo tengo el mismo problema!!!! :shock: solo puedo consultar e insertar datos en blanco, todavía no puedo hacer nada para poder insertar lo que yo quiero!!! Q PASA???? :? seguro como tu dices!!! debe de ser algo sencillo pero que no nos damos cuenta!!!!

Por dislash1009

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Ene 2007 12:24 pm
intenta asi:

Código :

function insertar($nombre,$comentarios)
{
  $nombre = utf8_encode($nombre); //<-- utf8_encode para que php entienda el escape() de flash   
  $comentarios = utf8_encode($comentarios);//<-- igual
  //creamos la cadena de nuestra sentencia(query) SQL
  $sql= "INSERT INTO `prueba` (id,nombre,comentarios) VALUES (NULL,'$nombre','$comentarios')";
  return $this->query($sql,1);//retornamos el id de nuestro registro insertado
}

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 09 Ene 2007 08:06 am
Gracias por contestar Maikel pero sigue sin funcionar.

Desde los conocimientos (pocos) que tengo de PHP, tanto la funcion que has posteado como la original no le veo fallos.

La verdad, no se qué narices falla...

Y he visto que no soy el único que tiene el mismo problema.

Algo se nos escapa y no sé qué es, Y ESO ME PONE DE MUY MALA LECHE... :evil:

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 27 Ene 2007 11:07 pm
De Flash no tengo ni idea (bueno sí, se un poquito, y si que he conseguido meter datos en una tabla con Flash) , pero si me pasas el código PHP te lo reviso y te digo que puede fallar. Por cierto, para meter datos en una tabla no es necesario el Remoting ni ninguna cosa rara... Basta con enviar a PHP un par de variables.

Por reserum

33 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Ene 2007 11:13 pm
Intenta esto:
function insertar($nombre,$comentarios){
$nombre = utf8_encode($nombre); //<-- utf8_encode para que php entienda el escape() de flash
$comentarios = utf8_encode($comentarios);//<-- igual
$query = "INSERT INTO prueba SET nombre = $nombre, comentarios = $comentarios";
$mydatabase = @mysql_query($query);
return $this->query($sql,1);
}

Por supuesto, $nombre y $comentarios deben estar definidos más arriba... No se de que manera, pero si no están definidos obvio que introduzca datos en blanco.
¡Saludos!

Por reserum

33 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Ene 2007 11:15 pm
Me equivoqué en el script anterior, debería ser así:

function insertar($nombre,$comentarios){
$nombre = utf8_encode($nombre); //<-- utf8_encode para que php entienda el escape() de flash
$comentarios = utf8_encode($comentarios);//<-- igual
$sql = "INSERT INTO prueba SET nombre = $nombre, comentarios = $comentarios";
$mydatabase = @mysql_query($sql);
return $this->query($sql,1);
}

Eso sí... o al menos eso creo.

Por reserum

33 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Ene 2007 11:16 pm
Si sigue sin funcionar elimina la linea:
$mydatabase = @mysql_query($sql);

Y si inserta doble, elimina tambien esa linea.

Por reserum

33 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Ene 2007 11:19 pm
Si finalmente no funciona, el problema no está en el código PHP, éste quiero decir, si no en el del principio que dice:
servicio.insertar(escape(nombretxt.text)+escape(comentariostxt.text));
Y ese no tengo ni idea de solucionarlo porque no se de dónde viene servicio ni nada...

Por reserum

33 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Feb 2007 10:03 am
Gracias por contestar pero he estado muy liado en el curro... :evil:
Ahora que parece que me voy liberando de trabajo lo probaré y ya os cuento.

Gracias de nuevo
Ta´luego

Por perillan

100 de clabLevel



Genero:Masculino  

La Mancha profunda....

msie
Citar            
MensajeEscrito el 21 Feb 2007 05:36 pm
Hola, llevo un tiempo intentando conectarme con la BD creada pero se me queda la pantalla en: CONSULTANDO.... y de ahí no pasa.... :| He probado lo del chat y me funciona perfectamente (por si era problema de lo del gateway.php y todo eso...) no se ya que hacer... :cry: HELP!!!

Por sakataks

6 de clabLevel



Genero:Masculino  

msie

 

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