Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Valida pero no hay respuesta desde el archivo php

Primeramente, muchas gracias por el curso. Me ha servido de mucho, he desarrollado mas por mi cuenta. En el transcurso tuve un ligero problemilla: Valida pero no hay respuesta desde 'inc/ login.php' cuando lo hago desde un celular o tablet, pero desde la PC funciona con normalidad.
De antemado gracias. :D
function Inicio_ajax(Usuario,Pass1)
{
	if (limpiar(Usuario)!='' && limpiar(Pass1)!='') 
	{
		//validar
			$.ajax({
				type:'POST',
				url: urlweb +'inc/login.php',
				cache: false,
				data: $('#formInicio').serialize(),
				success: function(respuesta){
					   respuesta = $.trim(respuesta);
					if (respuesta=='correcto'){
						location.reload(true);
					}
					if(respuesta=='incorrecto'){
						$('#registro-error').fadeIn(500);
		$('#registro-mensaje').text('Login y/o contraseña incorrectos.');
					}

				}
			}); 
		
	}
	else
	{
		$('#registro-error').fadeIn(500);
		$('#registro-mensaje').text('Complete los campos');
	}
}

Editado
0
Puntos
1165
Visitas
14
Resp
Por JoCar hace 82 meses
Principiante
Respuesta #1
hola, si te funciona en pc pero no en celular es por que tienes que usar un navegador compatible con ajax en tu celo, has probado con chrome?

saludos
0
Puntos
Por alber hace 82 meses
Administrador
Respuesta #2
He probado con las ultimas versiones de Chrome y Firefox en Android 6.0 y por alguna razon valida cuando no pongo datos, pero cuando ya pongo los datos correctos(cuando pasa la validacion) no hay respuesta.
0
Puntos
Por JoCar hace 82 meses
Principiante
Respuesta #3
vale si no hay respuesta es por que estas teniendo un error en php en el fichero inc/login.php, abre la network y lee la respuesta del fichero y me pones lo que te dice
0
Puntos
Por alber hace 82 meses
Administrador
Respuesta #4
Captura
supongo que ya sabes como se consigue hacer eso, tienes que hacer que ocurra tu error teniendo la network abierta y despues hacer clic encima del fichero
0
Puntos
Por alber hace 82 meses
Administrador
Respuesta #5
aunque claro ahora que lo pienso en el pc no vas a poder ver nada, haz una cosa quita esta linea de tu función temporalmente:
location.reload(true);
y después de eso haz la prueba que te eh dicho en pc, así podras ver que responde
0
Puntos
Por alber hace 82 meses
Administrador
Respuesta #6
2017-05-29_10-43-28

Desde la PC todo super.
0
Puntos
Por JoCar hace 82 meses
Principiante
Respuesta #7
WhatsApp Image 2017-05-29 at 10

En el celu se queda asi
0
Puntos
Por JoCar hace 82 meses
Principiante
Respuesta #8
y como lo estas probando en el celular si tienes el proyecto en localhost??
0
Puntos
Por alber hace 82 meses
Administrador
Respuesta #9
He configurado el apache para que me deje entrar desde el IP de la compu, como web service.
0
Puntos
Por JoCar hace 82 meses
Principiante
Respuesta #10
WhatsApp Image 2017-05-29 at 10
Estos datos, el nombre del ambiente y el estado (ejemplo: baño 2, activado) son datos rescatados de la BD en mysql con el siguiente codigo:

dispositivos.php
<h1>Dispositivos</h1>
		<div class="fila">
			<?php for($x = 0; $x < $cantidad_dispositivo; $x++) { ?>

			<form onsubmit="return false" class="formulario" id="formDispositivo" >
				<div class="columna columna-m-3 columna-g-2 columna-s-4" style="text-align: center;">
					<div class="fila">
						<div class="columna columna-m-6 columna-g-6 columna-s-6">
							<div class="formulario-grupo" >
								<input type="submit" value="on" class="boton boton-verde" onclick="actualizarDispositivo_ajax(<?php echo $idDispositivo[$x]; ?> , 1)"> 
							</div>
						</div>
						<div class="columna columna-m-6 columna-g-6 columna-s-6">
							<div class="formulario-grupo" >
								<input type="submit" value="off" class="boton boton-rojo" onclick="actualizarDispositivo_ajax(<?php echo $idDispositivo[$x]; ?>, 0);">
							</div>
						</div>
					</div>

					<div class="fila">
						<div class="columna" style="width: 100%; text-align: center;" >

							<div class="formulario-grupo" id=<?php echo 'registro-error'.$idDispositivo[$x];?> >
								<div style="text-align: center;"><?php echo $Nombre[$x]; ?> </div>
								<div class="<?php if ($Estado[$x]==0) {
									echo 'alerta alerta-pequenia alerta-rojo';
								}
								else{
									echo 'alerta alerta-pequenia alerta-verde';
								} ?>"
								id=<?php echo 'registro-mensaje'.$idDispositivo[$x]; ?>  ><?php if ($Estado[$x]==0) {
									echo "Apagado";
								}
								else{
									echo "Activado";
								} ?> </div>
							</div>

						</div>
					</div>

				</div>
			</form>
<?php   } ?>
in/dispositivo.php
$menu='dispositivos';
//if (!isset($_POST['idDispositivo'])) exit;
//CONSULTA A LA BASE DE DATOS
$accion_dispositivo ="SELECT estado,nombre, idDispositivo FROM dispositivo order by idDispositivo";
$consulta_dispositivo =mysqli_query($conexion,$accion_dispositivo );
//mysqli_data_seek ($result, FormatearCadena($_POST['idDispositivo'], 'int'));

//Cantidad de registros
$cantidad_dispositivo =mysqli_num_rows($consulta_dispositivo);
if (!$consulta_dispositivo) { // add this check.
    die('Invalid query: ' . mysql_error());
}
//Sacar datos con $datos;
if ($cantidad_dispositivo > 0)  
        {  
          
                     while ($fila=mysqli_fetch_assoc($consulta_dispositivo)) {
                      	  $Estado[]=$fila['estado'];
                      	  
                      	  $Nombre[]=$fila['nombre'];
                      	  $idDispositivo[]=$fila['idDispositivo'];
                      }
        } 


mysqli_free_result($consulta_dispositivo);

Adjunto esto por que sin pasar por ajax esta leyendo los datos de la BD con normalidad desde mi celu. Pero en login, y los botones para actualizar los estados (ON y OFF) que pasan por AJAX no funcionan desde un dispositivo movil.
0
Puntos
Por JoCar hace 82 meses
Principiante
Respuesta #11
el problema es que desde el celu no puedes mirar la network, lo mas seguro es que no tengas ningún problema si no que al tener una configuración media rara para entrar con el celu te bloquea algún fichero por el tema de permisos.

no te rayes y ya lo pruebas cuando lo subas a un hosting, recuerda que una vez en tu hosting tienes que cambiar la url absuluta de tu fichero js/efectos.js por que la mayoría de veces el problema viene de ahí:
var urlWeb='http://localhost/tuproyecto/';
por:
var urlWeb='http://tudominio.com/';
salu2
1
Puntos
Por alber hace 82 meses
Administrador
Respuesta #12
WhatsApp Image 2017-05-29 at 10
De lujo!! (que estupidez la mia).
Hay un chingo de paginas que buscan solucion a este problema. Voy a mandar el link.
Muchas gracias, estoy aprendiendo mucho con los tutos.
1
Puntos
Por JoCar hace 82 meses
Principiante
Respuesta #13
claro como puedes ver, estas accediendo con una ruta distinta a http://localhost/tucarpeta, es por eso que no te funciona xd

salu2
0
Puntos
Por alber hace 82 meses
Administrador
Respuesta #14
cierro tema, para otra duda que tengas abre otro nuevo amigo ;)
1
Puntos
Por alber hace 82 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate