Android - Problema Colombia Hosting

 
Vista:
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 07/02/2017 20:34:47
Buen día para todos,

Compañeros foreros tengo una curiosa situación con el servicio de Colombia Hosting.

https://www.colombiahosting.com.co/

En el cual un cliente tiene hospedado su pagina web y funciona normal, para mi cliente estoy desarrollando una app y esta implementa un Login, desde mediado de enero empece el proyecto y realice pruebas de logueo sin problemas, pero en la ultima semana de enero tengo el siguiente problema.

Ingreso con el usuario y password correctos e ingresa sin problema, salgo de la app e ingreso nuevamente esta vez con un usuario incorrecto y de igual forma me permite el ingreso, ahora ingreso cualquier texto en el usuario y en el password e ingreso normal.

Dejo pasar un tiempo e ingreso nuevamente en la app pero esta vez empiezo con un usuario y password incorrectos y me niega el ingreso correctamente, ahora me salgo de la app e ingreso nuevamente ahora con un usuario y password correctos y me niega el ingreso también.

El Web Service lo estoy haciendo con la librería Volley de Google mediante el uso de archivos php.

Llegue a pensar que el problema podía ser una linea de código en Android Studio o en los php y los revise de principio a fin y los probé en localhost con XAMPP sin problema alguno.

Para descartar me cree una cuenta free en https://www.hostinger.es/ y subí los mismos php al servidor free y cree la base de datos con los mismo campos y estructura, realice las pruebas y en Hostinger funciona perfecto la app, realiza el login de manera correcta permitiendo el ingreso solo de los usuarios registrados.

Este inconveniente es algo muy desconcertante la verdad, le escribí a soporte técnico de Colombia Hosting y la respuesta que obtuve es que sus servidores no estan optimizados para aplicaciones móviles, que si funcionaba normal la siguiera usando y si tenia problemas les indicara cual es el problema para hacer ajustes en sus servidores.

La verdad ya les explique el inconveniente pero no se que mas pueda afectar este proceso.

Si alguien tiene o se le ha presentado un inconveniente como este le agradezco me comparta su experiencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Problema Colombia Hosting

Publicado por Sergio (7 intervenciones) el 07/02/2017 21:05:20
hola amigo, puede que se deba a tus variables de sesion... verifica si al cerrar secion en tu aplicacion las estas destruyendo ... podrias revisar tambien el tiempo de conexion que le estas dando a cada sesion... eso es con base a que te logeas bien y luego con cualquier cosa entras...

ahora bien en el otro caso que empiezas erroneo y aun que metas datos correctos no logea... puede que si sea problema de tu codigo android...

para descartar los archivos de php nuevos que estes usando, te recomendaria que verifiques en otro host, ya que dices que tienes cuenta en hostinger...

seria bueno que colocaras codigos para ver que estas haciendo o bien crea puntos de interrupcion para que verifiques que los datos estan pasando como se debe...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 07/02/2017 21:31:28
Buen día para todos,

Sergio, lo que me desconcierta es porque los mismos archivos y la misma base de datos funcionan correctamente en Hostiger.es y con Xampp.

Te comparto el código del archivo php de logueo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
 
	//Variables de conexion
	include_once 'DbConnect.php';
 
	$db = new DbConnect();
	$conexion = $conn;
 
 
	//Validamos si se ha recibido datos
	if (isset($_POST['user']) && isset($_POST['password'])) {
 
		global $conexion;
 
		//Declaramos las variables que recibimos
		$usuario = $_POST['user'];
		$password = $_POST['password'];
		$fecha = $_POST['fecha'];
		$hora = $_POST['hora'];
		$numero = 0;
 
 
		$sql = $conexion->query("SELECT * FROM android_usuarios WHERE usuario='".$usuario."' AND tipo_usuario = 1");
 
		$numero = $sql->num_rows;
 
		if ($numero > 0){
 
			$resul = mysqli_fetch_array($sql);
 
			$conductor = $resul['id_conductor'];
			$user = $resul['usuario'];
			$pass = $resul['password'];
 
 
			if ($usuario === $user and md5($password) === $pass){
 
				$sql2 = $conexion->query("SELECT t1.id, t1.nombres, t1.apellidos, t2.placa FROM android_conductores t1, android_volquetas t2 wHERE t1.id='".$conductor."' and t1.vehiculo=t2.id");
 
				while ($row = $sql2->fetch_array(MYSQLI_NUM)) {
 
					echo json_encode($row);
				}
 
				$sql3 = "Insert into android_usuarios_ingresos (usuario, fecha_ingreso, hora_ingreso) Values ('".$conductor."', '".$fecha."', '".$hora."')";
 
				$result = $conexion->query($sql3);
			}
 
		}
 
		}else{
 
		echo "Por favor ingrese sus datos";
 
	}
?>

Agradezco tu amable colaboración.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Francisco (357 intervenciones) el 07/02/2017 21:42:20
if (isset($_POST['user']) && isset($_POST['password'])) {

//Entrara siempre

}

if (isset($_POST['user'])=='usuario' && isset($_POST['password'])=='pasword') {

//Entrara si $_POST['user'])== usuario y $_POST['password'])==pasword

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 07/02/2017 21:48:59
Buen día para todos,

Francisco, Agradezco mucho tu amable colaboración, la linea que indicas con el isset la uso para validar si las variables contienen datos.

1
2
//Validamos si se ha recibido datos
if (isset($_POST['user']) && isset($_POST['password'])) {

Luego en la linea de abajo hago la validación del usuario y la contraseña.

1
if ($usuario === $user and md5($password) === $pass){


Espero me colaboren para ver si encontramos el posible problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema Colombia Hosting

Publicado por Sergio (7 intervenciones) el 07/02/2017 22:01:31
en efecto como dice francisco, la linea del If
//Validamos si se ha recibido datos
if (isset($_POST['user']) && isset($_POST['password'])) {

siempre dejara pasar, ya que el isset no compara si esta o no vacio, pero de que viene, viene....

te recomendaria eliminar ese if... yo lo veo de mas, lo unico que puede pasar si es que viene vacio un dato es que tu sql obtenga un null, en esta seccion

$sql = $conexion->query("SELECT * FROM android_usuarios WHERE usuario='".$usuario."' AND tipo_usuario = 1");

$numero = $sql->num_rows;

if ($numero > 0){

con el if numero considero que ya tendrias un login un poco mas exacto, o bien puedes buscar un sistema de sesiones para php, ya con eso mejorarias muuuucho el sistema web...

ahora bien, retomando el tema de Android, este se debe de vasar en lecturas rapidas en php ya que practicamente es un servicio web, yo tome idea de hacer algo similar con este tuto

http://android-morefast.blogspot.com/2016/05/llenar-spinner-en-android-desde-una.html

con eso yo me simplifique bastante, espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 07/02/2017 22:16:49
Buen día para todos,

Sergio, Si claro totalmente de acuerdo con tu apreciación con la variable $numero estoy obteniendo el numero de filas afectadas y mediante el if estoy validando ese resultado, ahora te comparto el codigo en Android que utilizo con la libreria Volley.

Como digo lo que me sorprende del caso es porque en Hostinger no tengo problemas y son los mismos archivos y la misma bd.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
private void logueo() {
 
    //:::Creamos nuestro ProgressDialog
    mDialog = new ProgressDialog(MainActivity.this, R.style.AppCompatAlertDialogStyle);
    mDialog.setMessage("Validando Usuario...");
    mDialog.setCancelable(false);
    mDialog.show();
 
    strq = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
 
                @Override
                public void onResponse(String response) {
 
                    //:::Cerramos nuestro ProgressDialog
                    if (mDialog.isShowing()) {
                        mDialog.dismiss();
                    }
 
                    if (response.length() > 0) {
                        try {
                            JSONArray ja = new JSONArray(response);
                            //Log.i("sizejson",""+ja.length());
                            id_user = (ja.getString(0));
                            nombres = (ja.getString(1));
                            apellidos = (ja.getString(2));
 
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
 
                    }
 
                    if (id_user.length() > 0) {
 
                        Toast msn = Toast.makeText(ctx, "Bienvenido", Toast.LENGTH_SHORT);
                        msn.setGravity(Gravity.CENTER_HORIZONTAL, Gravity.CENTER_VERTICAL, 0);
                        msn.show();
 
                        //:::Abrimos el activity Menu
                        Intent menu = new Intent(ctx, MenuActivity.class);
                        menu.putExtra("id_user", id_user);
                        menu.putExtra("nombres ", nombres);
                        menu.putExtra("apellidos", apellidos);
                        startActivity(menu);
 
                        //:::Cerramos este activity
                        finish();
                    } else {
 
                        Toast msn = Toast.makeText(ctx, "Usuario o Contraseña incorrecto", Toast.LENGTH_SHORT);
                        msn.setGravity(Gravity.CENTER_HORIZONTAL, Gravity.CENTER_VERTICAL, 0);
                        msn.show();
 
                    }
 
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d("error_servidor", error.toString());
        }
    }) {
        @Override
        protected Map<String, String> getParams() {
            Map<String, String> parametros = new HashMap<>();
 
            parametros.put("user", user.getText().toString());
            parametros.put("password", pass.getText().toString());
            parametros.put("fecha", fecha);
            parametros.put("hora", hora);
 
            return parametros;
        }
    };
 
    rqt.add(strq);
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema Colombia Hosting

Publicado por Sergio (7 intervenciones) el 07/02/2017 22:36:56
Todo lo veo de buena manera, ahora bien si tu App Android si funciona bien en hostinger y en xampp, sin ninguno de los errores descritos, puede que sea configuracion del servidor en si, ve si puedes modificar accesos en el host de cliente, y por cierto estaba viendo que la conexion nunca se cierra en tu archivo php... seria bueno que la liberes, quien quita que eso sea lo que te esta saturando en el host del cliente...

por hoy me retiro, pero estare al tanto si te puedo ayudar el dia de mañana.. exitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 07/02/2017 22:59:31
Buen día para todos,

Sergio, mil gracias por tu tiempo y colaboración, te comento que efectivamente en Hostinger y con Xampp funciona 100% bien pero con el hosting de Colombia Hosting tengo ese problema, tomare contacto nuevamente con ellos y estaré publicando la respuesta.

Ya implemente el cierre de la conexión pero nada sigue igual.

Gracias nuevamente por tu colaboración.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 08/02/2017 22:53:03
Buen día para todos,

Compañeros, les comento que ya he descartado que el problema sea del hosting esto con la ayuda del programa Postman que recomiendo para probar peticiones request HTTP tanto POST como GET y mas, lo pueden bajar de aca.

https://www.getpostman.com/


Ahora el problema que observo es que una vez hecho el ingreso me sigue repitiendo los mismo valores.

Es como si quedaran almacenados en una cache y siempre toma los valores del ultimo ingreso.

Alguien le ha pasado algo parecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 09/02/2017 21:18:17
Buen día para todos,

Compañeros, les comento que he descartado totalmente que el problema sea del hosting o de los php, el problema lo tiene la librería Volley debido a que la pagina a la que hago la petición tiene certificado SSL es decir https mientras que Volley esta optimizado para http.

Lamentablemente no he encontrado solución todavía, como el servicio de hosting queda descartado como problema abriré un nuevo tema para Volley.


Espero haber sido de ayuda.

Que tengan buen día,

El conocimiento siempre debe ser compartido, para que entre todos aprendamos un poco mas...

Mas ejemplos acá...

https://aprendamosdeprogramacion.wordpress.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edward
Val: 53
Bronce
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Problema Colombia Hosting

Publicado por Edward (21 intervenciones) el 16/02/2017 01:00:38
Buen día para todos,

Compañeros tristemente tengo que decir que el problema si ha sido con el hosting.

Conté con la colaboración de un amigo que me ha facilitado hacer pruebas en su cuenta de hosting paga y el resultado ha sido exitoso.

Termine las pruebas con servicio local mediante Xammp, en remoto con cuenta de Hostinger y con cuenta de WebColombia servicio pago todas exitosas.

Lamentablemente no se que paso con Colombia Hosting pero probé con la conexión MySQLi y MySQL de php y no hubo forma de recibir una respuesta correcta del servidor.

Espero haber sido de ayuda.

Que tengan buen día,

El conocimiento siempre debe ser compartido, para que entre todos aprendamos un poco mas...

Mas ejemplos acá...

https://aprendamosdeprogramacion.wordpress.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Problema ColombiaHosting - Solución :)

Publicado por Julian (1 intervención) el 02/06/2017 22:51:20
Hola Edgar,

El inconveniente es generado por el sistema de cache de apache, esto no es malo, en algunos proveedores se encuentra activo por defecto, algunos cachean el contenido html/htm/js y css , al parecer el request que realizas desde el app esta siendo tomado como un html , el problema se puede solucionar a nivel de la cuenta de hosting/servidor con un archivo .htaccess en la raíz de tu cuenta o a nivel de app:

Opción 1: A nivel de Hosting, crear el siguiente .htaccess en tu cuenta (ejemplo /home/edward/public_html/.htaccess) y listo :)

1
2
3
4
5
6
7
8
9
10
ExpiresActive off
<filesMatch "\.(html|htm|js|css)$">
  FileETag None
  <ifModule mod_headers.c>
     Header unset ETag
     Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
     Header set Pragma "no-cache"
     Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
  </ifModule>
</filesMatch>

De esta forma las solicitudes que sean interpretadas como html no seran cacheadas, y la app realizara cada request de forma correcta.

Opción 2: A nivel de APP, cuando creas el objeto es necesario indicar que no se utilizara cache para el request y adicionalmente definir el header del POST a enviar para que se comporte como JSON o el formato deseado.


Saludos,

Julian Quintero
ColombiaHosting
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar