Saludos:
Necesito de su ayuda urgente, estoy usando un web service de mi universidad para hacer un login en un sistema que estoy haciendo, y me sale este error:
Fatal error: Cannot use string offset as an array in /home/.../login.php on line 59
y la linea 59 tiene esto:
$cedula = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['CEDULA'];
por lo que he investigado es a causa de PHP 5, porque en la version 4 funcionaba muy bien.
Agradeceria cualquier ayuda que me puedan brindar.
Este es el codigo completo que uso:
require_once('lib/nusoap.php');
$client = new nusoap_client('https://www.academico.espol.edu.ec/services/directorioEspol.asmx?WSDL', true);
$params = '<datosUsuario xmlns="http://academico.espol.edu.ec/webservices/"><varUser>'.$_POST['usser'].'</varUser><varContrasenia>'.$_POST['usu_password'].'</varContrasenia></datosUsuario>';
$client->setUseCurl(true);
$result = $client->call('datosUsuario',$params,'http://academico.espol.edu.ec/webservices/','http://academico.espol.edu.ec/webservices/datosUsuario');
$cedula = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['CEDULA'];
$matricula = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['MATRICULA'];
$nombre_completo = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['NOMBRE_COMPLETO'];
$nombres = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['NOMBRES'];
$apellidos = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['APELLIDOS'];
Explico un poco mas como funciona, tengo un sistema para estudiantes que deben ingresar el user y password de su cuenta de correo de la facultad, para esto la universidad tiene un web service.
El login funcionaba muy bien cuando el servidor tenia PHP 4 pero ahora tiene PHP 5 y no me funca.
Yo creo que va por el lado de la forma como le asigno la variable.
Muchas gracias por toda la ayuda.
Y al usar print_r($result) no me sale nada.... no muestra nada...
Ya le probe... le puse:
echo '----->'.var_dump($result).'<-----';
y me salio:
string(0) "" -----><-----
Quizas este usando mal la llamada al web service..