Comunidad de diseño web y desarrollo en internet online

dudas sobre AMFPHP

Citar            
MensajeEscrito el 23 Mar 2006 06:51 pm
Hola!

haber tengo un problema.Mi flash remoting en principio funciona pues he probado el holamundo y funciona correctamente.
Pero si modifico el Holamundo para llamar a un servio mio no me funciona. El codigo es el siguiente:

El Actionscript=>

Código :

import mx.remoting.NetServices; 
import mx.remoting.Connection; 
mx.remoting.debug.NetDebug.initialize();
capturaRespuesta = new Object();
capturaRespuesta.validar_Result = function(data) {
   trace("Dato recibido del servidor: "+data);
};
capturaRespuesta.onStatus = function(data) {
   trace("Ocurrio un error.");
   trace("Detalles del error: "+data.description);
};
NetServices.setDefaultGatewayUrl("http://localhost/phpFlash/remoting/gateway.php");
conn = NetServices.createGatewayConnection();
serv = conn.getService("usuario", capturaRespuesta);
serv.validar("finca","570");

-------------------------------------------------------------------------
y el usuario.php es el siguiente:

Código :

<?php
class usuarios{
   function usuarios{
   $this->methodTable=array (
         "validar"=>array(
            "description"=>"valida a un usuario",
            "access"=>"remote",
            "arguments"=>array("nombre","pass")
            )
         
      );
   }
   
   function validar($nombre,$pass){
       var encontrado=0;
      $conex=mysql_conect("localhost","root","") or die("no se puede conectar con la base de datos");
      mysql_select_db("proyecto",$conex);
      $sql="SELECT * FROM alumno";
      $res=mysql_query($sql);
      if(mysql_num_rows($res) > 0){
         while($fila = mysql_fetch_array($res)){
            if ($fila['login'] == $nombre) && ($fila['pass'] == $pass){
                    encontrado = 1;
            }
         }
      }
      if (encontrado){
         return 1;
         }
         else{ 
         return 0;
         }
   }
}
?>




En principio parace estar todo bien pero me da el siguiente error =>
Ocurrio un error.
Detalles del error: The class file {usuario} exists but could not be included. The file may have syntax errors, or includes at the top of the file cannot be resolved.


Y no se a que se debe si es casi identico a el HOlamundo. si alguien sabe como se resuelve el problema se lo agradeceria pues estoy estancado y no soy capaz de continuar.

Gracias[/code]

Por power

31 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Mar 2006 07:08 pm
nombre del archivo, nombre de la clase y nombre del constructor deben ser el mismo, en el caso del archivo solo tiene el .php demas...

serv = conn.getService("usuario", capturaRespuesta);


class usuarios{

function usuarios{


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 23 Mar 2006 09:16 pm
Gracias Maikel eres un fenomeno!

La verdad es que no me daba cuenta de eso pero me sigue dando el error.Si te entendi lo que cambie fue lo siguiente.

<?php
class usuario{
function usuario{

el resto lo deje igual.

El archivo se llama usuario.php, pero el problema persiste y no se a que se debe. es un error muy raro.

Si le puedes echar un vistazo mas te lo agradezco porque estoy haciendo el proyecto fin de carrera y no soy capaz de avanzar mas.

Un saludo y gracias

Por power

31 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Mar 2006 12:06 am
ok, primero era eso, lo vi y no segui revisando, y bueno sinceramente un error mio, porque claramente el error dice que es posible que tenga errores de sintaxis lo cual es cierto... unos que detecte son estos:
//te faltan los parentesis que engloben las dos condiciones if
if (($fila['login'] == $nombre) && ($fila['pass'] == $pass)){
$encontrado = 1; //falta el $, es una variable
}


Sigue buscando please :P

Para despejar esos errores puedes probar tu clase desde el navegador, a ver que otros errores te da ;)

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 24 Mar 2006 12:46 pm
Joder muchas gracias;

que errores mas tontos, perece mentira que sea programador.La verdad es que eres una maquina en localizar los errores.

Pero lo de ver mi clase en el navegador, a que te refieres. Como puedes ver la clase en el navegador, lo unico que sea traceandolo con el echo por que de otra manera no tengo ni idea, si me pudieras decir como lo haces......Seguro que es una tonteria pero no se me ocurre

Muchas Gracias.Sinceramente nunca habia escrito en un Foro pero veo que vale la pena

Un saludo

Por power

31 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Mar 2006 01:45 pm
la puedes ver aquí :

http://tusitio.com/remoting/browser

Suerte ;)

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 24 Mar 2006 02:28 pm
Muy interesante la verdad!

Pero una pregunta esto que hace, te genera una plantilla sobre las llamadas a las funciones pero en realidad para que vale, por que el codigo que genera le falta por ejemplo, e mi caso todo el codigo validar.Vease:
function handleValidar(re:ResultEvent)
{
//Implement custom callback code
}

Que significa esto, y como puedo ver el efecto que tiene lo que modifique aqui en el brower.

Porque ahora he corregido el usuario.php que es el siguiente:

Código :

<?php
class usuario
{
   function usuario()
   {
      $this->methodTable = array(
         "validar" => array(
            "description" => "valida a un usuario",
            "access" => "remote",
            "arguments" => array ("nombre","pass")
            )
         
      );
   }
   
   function validar($nombre,$pass)
   {
      echo "toy aqui";
       $encontrado="0";
      $conex=mysql_conect("localhost","root","") or die("no se puede conectar con la base de datos");
      mysql_select_db("proyecto",$conex);
      $sql="SELECT * FROM alumno";
      $res=mysql_query($sql);
      if(mysql_num_rows($res) > 0){
         while ($fila = mysql_fetch_array($res)){
            if (($fila['login'] == $nombre) && ($fila['pass'] == $pass)){
                    $encontrado = "1";
            }
         }
      }
      if ($encontrado == "1"){
         echo $encontrado;
         return "1";
         }
         else{ 
         echo $encontrado;
         return "0";
         }
   }
}
?>


que supuestamente no tiene ningun error (ESO CREO AUNKE VISTO LO VISTO POR MI PARTE)
y este es el actionsript:

Código :

import mx.remoting.NetServices; 
import mx.remoting.Connection; 
mx.remoting.debug.NetDebug.initialize();
capturaRespuesta = new Object();
capturaRespuesta.validar_Result = function(data) {
   trace("Dato recibido del servidor: "+data);
};
capturaRespuesta.onStatus = function(data) {
   trace("Ocurrio un error.");
   trace("Detalles del error: "+data.description);
};
NetServices.setDefaultGatewayUrl("http://localhost/phpFlash/remoting/gateway.php");
conn = NetServices.createGatewayConnection();
serv = conn.getService("usuario", capturaRespuesta);
serv.validar("filafr","7700");


Que supuestamente es igual que el de HolaMundo con los cambios pertinentes al hacer la llamada es decir:

Código :

serv = conn.getService("usuario", capturaRespuesta);
serv.validar("filafr","7700")


Pero ahora no me da ningun error pero tampoco me muestra resultado alguno.Y ya nose por donde cogerlo porque mira que lo he mirado veces.

Muchas gracias por responder, estoy aprendiendo con vosotros y con los tutoriales mucho.

Gracias MorphX.

Por power

31 de clabLevel



Genero:Masculino  

firefox

 

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