Activa las notificaciones push PhoneGap Spain

Foro

Home Forums Frameworks y librerías Ionic Error al acceder a MYSQL a traves de PHP

This topic contains 8 replies, has 3 voices, and was last updated by  SoruK 6 meses .

Viendo 9 respuestas - de la 1 a 9 (de 9 en total)
  • Error al acceder a MYSQL a traves de PHP

    Intervenciones
  • AntoniFT 
    Participant

    Saludos a todos

    Estoy realizando una APP hibrida con ionic, realizo consultas a MYSql a través de consultas php alojadas en un servidor externo.

    Todo funciona correctamente si ejecuto la app en un navegador, el problema lo tengo al generar APK e instalarla en mi movil.

    Algunas temas leidos hablaban de las listas blancas, añadi a mi php
    header(‘Access-Control-Allow-Origin: *’);

    tambien lei que se tenian que dar permisos en AndroidManifest.xml, por defecto esta asi:
    <?xml version=’1.0′ encoding=’utf-8′?>
    <manifest android:hardwareAccelerated=”true”
    android:versionCode=”1″
    android:versionName=”0.0.1″
    package=”com.ionicframework.owl364246″
    xmlns:android=”http://schemas.android.com/apk/res/android”>
    <supports-screens android:anyDensity=”true”
    android:largeScreens=”true”
    android:normalScreens=”true”
    android:resizeable=”true”
    android:smallScreens=”true”
    android:xlargeScreens=”true” />

    <uses-permission android:name=”android.permission.INTERNET” />
    <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
    <uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” />

    <application android:hardwareAccelerated=”true” android:icon=”@drawable/icon” android:label=”@string/app_name” android:supportsRtl=”true”>
    <activity android:configChanges=”orientation|keyboardHidden|keyboard|screenSize|locale” android:label=”@string/activity_name” android:launchMode=”singleTop” android:name=”MainActivity” android:theme=”@android:style/Theme.Black.NoTitleBar” android:windowSoftInputMode=”adjustResize”>
    <intent-filter android:label=”@string/launcher_name”>
    <action android:name=”android.intent.action.MAIN” />
    <category android:name=”android.intent.category.LAUNCHER” />
    </intent-filter>
    </activity>
    </application>
    <uses-sdk android:minSdkVersion=”10″ android:targetSdkVersion=”22″ />
    </manifest>

    bien, sigue sin funcionarme, por si es de ayuda, hago un alert con el status y me sale codigo de error 0.

    Estoy desesperado y necesito solucionar este tema, gracias a todos de antemano


    Aeon
    Aeon 
    Participant

    cual es tu código de petición ajax= quizá hay este el error


    AntoniFT 
    Participant

    crees que sea eso, en un navegador funciona bien

    el codigo es:

    starApp.controller(‘GetCategorias’, function($scope, $http) {

    $http.get(‘http://www.perspectiva-developer.com/owl-app-php/proves.php’)

    .success(function(data, status, headers, config) {
    $scope.categorias = data;
    //console.log(‘Success’, resp);
    console.log(data);
    alert(“ok: “+status);
    })
    .error(function(data, status, headers, config) {
    // log error
    alert(“error: “+status);
    console.error(‘ERR’, err);
    });

    })

    php:

    header(‘content-type: application/json; charset=utf-8′);
    //en caso de json en vez de jsonp habría que habilitar CORS:
    header(‘Access-Control-Allow-Origin: *’);
    //header(‘Access-Control-Allow-Headers: Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With’);
    //header(‘Access-Control-Allow-Methods: GET, PUT, POST’);
    //header(‘Access-Control-Allow-Headers: Authorization, Content-Type, X-Requested-With’);

    $dbhost=”mysql.hostinger.es”;
    $dbuser=nom_user;
    $dbpass=pass;
    $dbname=name_bd;

    //***************************************

    $link = mysql_connect($dbhost, $dbuser, $dbpass);

    mysql_select_db($dbname, $link);

    $query = “SELECT a.* FROM categorias_menus as a WHERE a.baja_categoria_menu=0″;
    $categorias=mysql_query($query);

    $row_categorias = array();
    while ($row = mysql_fetch_assoc($categorias)) {
    $row_categorias[] = $row;
    }

    //codificamos en json:
    $json = json_encode($row_categorias);

    echo $json;

    //CERRAR CONEXION
    mysql_close($link);

    http://www.perspectiva-developer.com/owl-app-php/proves.php, creo que devuelve lo esperado, es asi?


    Aeon
    Aeon 
    Participant

    tienes razon el codigo se ve bien
    prueba incluyendo
    1.  <access origin="*" />
    en tu config.xml, recuerdo que una vez tenia el mismo problema y con eso se arreglo


    AntoniFT 
    Participant

    esa linea de código ya la tengo en el config.xml del APP

    me da que tal vez algo no ande bien en AndroidManifest.xml

    no se, ya no se donde mirar, alguna sugerencia mas?, gracias


    Aeon
    Aeon 
    Participant

    entonces creo que no puedo ayudarte, necesitas de alguien que trabaje con eclipse u otro, yo solo trabajo con el build de phonegap y no lleva mas que el config.xml para configurar los plugins y permisos


    AntoniFT 
    Participant

    Bueno después de mucho buscar y leer di con la solución

    era tan fácil como cargar el plugin whiteliste de cordova

    Gracias a todos por vuestra ayuda


    Aeon
    Aeon 
    Participant

    que bien que lo resolvieras :wink:


    SoruK 
    Participant

    Ha pasado tiempo pero gracias AntoniFT me has solucionado mi problema


Viendo 9 respuestas - de la 1 a 9 (de 9 en total)

You must be logged in to reply to this topic.