Foros del Web » Programando para Internet » PHP »

ayuda con Web Services PHP + NuSoap

Estas en el tema de ayuda con Web Services PHP + NuSoap en el foro de PHP en Foros del Web. Hola amigos del foro, tengo este problemita nose en que parte del codigo este mal pero bueno talves alguien pueda percatarse del error, yo no ...
  #1 (permalink)  
Antiguo 27/05/2010, 10:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 16
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación ayuda con Web Services PHP + NuSoap

Hola amigos del foro, tengo este problemita
nose en que parte del codigo este mal pero bueno talves alguien pueda percatarse del error, yo no veo el error !!

les cuento el problema, tengo un archivo form_add.php, el cual es un formulario donde ingreso datos como: nombre de usuario, password, nombre, apellidos, correo, pais y ciudad. Los datos llegan hasta la funcion insertar, es mas su pongo return $tab_usuario (nombre de usuario), me muestra lo que ingrese, pero cuando establesco la conexion con la Base de datos no retorna ningun error, sin embargo no inserta nada

server.php
Código PHP:
Ver original
  1. <?php
  2.     require_once("lib/nusoap.php");
  3.     $server = new soap_server;
  4.     //$server->register('multiplica');
  5.     $server->register('inserta');
  6.    
  7.         function multiplica($num_i, $num_f){
  8.            
  9.             $res = $num_i * $num_f;
  10.             return $res;       
  11.         }
  12.        
  13.         function inserta($tab_usuario, $tab_pass, $tab_nombres, $tab_paterno_mat, $tab_correo, $tab_pais, $tab_ciudad){
  14.                                            
  15.                 $link = mysql_connect("localhost","root","");
  16.                 mysql_select_db("moodle",$link);
  17.                
  18.  
  19.                 mysql_query("INSERT INTO mdl_user (username,password) VALUES ('".$tab_usuario."','".$tab_pass."')",$link);
  20.                
  21.                 $my_error = mysql_error($link);
  22.                 if(!empty($my_error) {
  23.                
  24.                     $res = "Ha habido un error al insertar los valores. $my_error";
  25.                     return $res;               
  26.                 }else{             
  27.                     $res = "Los datos han sido introducidos satisfactoriamente";
  28.                     return $res;               
  29.                 }
  30.                
  31.                 //return $tab_usuario;
  32.             }
  33.    
  34.     $server->service($HTTP_RAW_POST_DATA);
  35. ?>

cliente.php
Código PHP:
Ver original
  1. <?php
  2.     require_once("lib/nusoap.php");
  3.     extract ($_REQUEST, EXTR_OVERWRITE);
  4.     // en XAMMP usar  [new nusoap_client ]
  5.     //$soapclient = new nusoap_client('http://localhost:8080/practica_php/servidor/server.php');
  6.     $soapclient = new nusoap_client ('http://localhost:8080/webservices_php/practica_php/servidor/server.php');
  7.  
  8.     echo $soapclient->call('inserta', array('usuario'=>$tab_usuario, 'tab_pass'=>$tab_pass, 'tab_nombres'=>$tab_nombres, 'tab_paterno_mat'=>$tab_paterno_mat, 'tab_correo'=>$tab_correo, 'tab_pais'=>$tab_pais, 'tab_ciudad'=>$tab_ciudad));
  9.    
  10. ?>
  #2 (permalink)  
Antiguo 27/05/2010, 13:02
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: ayuda con Web Services PHP + NuSoap

La verdad no sé si habrá una diferencia entre hacer algo con NuSoap o sin este, ya que nunca lo he usado, pero a simple vista, te puedo mencionar 2 cosas :

1.-
Código PHP:
Ver original
  1. $my_error = mysql_error($link);

Esa línea deberías quitarle el $link, ya que esta variable corresponde a la línea de mysql_connect, así que si hay errores o no en el ingreso ( mysql_query ) no te lo notificará. Si le quitas el $link, por defecto retornará los errores de la última función mysql que encuentre.

2.- En esta parte del código, veo que a todas las keys y values le pones el prefijo 'tab_', excepto a la primera :

Código PHP:
Ver original
  1. $soapclient->call('inserta', array('usuario'=>$tab_usuario, 'tab_pass'=>$tab_pass, 'tab_nombres'=>$tab_nombres, 'tab_paterno_mat'=>$tab_paterno_mat, 'tab_correo'=>$tab_correo, 'tab_pais'=>$tab_pais, 'tab_ciudad'=>$tab_ciudad));

Fíjate que 'usuario' no tiene el prefijo 'tab_', así que podría ser un problema... supongo... .

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 30/05/2010, 06:51
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: ayuda con Web Services PHP + NuSoap

Hola
El inconveniente esta en la línea 22 de server.php, pues tienes esto:

Código PHP:
Ver original
  1. if(!empty($my_error) {

Si te fijas, te hace falta un parentesis, debe quedar así

Código PHP:
Ver original
  1. if(!empty($my_error)) {

Ya con eso debería insertar
Saludos

Etiquetas: nusoap, services
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 02:58.