Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/07/2020, 00:15
pilucho
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: Resultado JSON PHP

Cita:
Iniciado por Triby Ver Mensaje
Así es como debe funcionar, pero algo tienes mal, probablemente desde el formulario, agrega tu HTML.
hola triby este es el php que uso como explique en las primeras lineas, funciona el login bien, si NO uso el WHERE, pero no distingue los level, el tema no es el HTML porque no es html es JSON con un form en flutter, el detalle es todo en el PHP, igual te dejo el código, si uso "WHERE username = '$username' AND password = '$password" me arroja el PHP solo: [ ]

Código PHP:
Ver original
  1. <?php
  2.     include 'conn.php';
  3.  
  4.     $username = $_POST['username'];
  5.     $password = $_POST['password'];
  6.  
  7.     $queryResult=$connect->query("SELECT * FROM MyTable WHERE username = '$username' AND password = '$password'");
  8.     $queryLogin = mysqli_query($connect, $queryResult);
  9.     $result = mysqli_fetch_array($queryLogin);
  10.  
  11.     $result=array();
  12.  
  13.     while($fetchData=$queryResult->fetch_assoc()){
  14.         $result[]=$fetchData;
  15.     }
  16.     echo json_encode($result);
  17. ?>
Resultado del JSON:
[ ]

Y Sin el WHERE aparece el codigo correcto asi, pero debería salir también usando el where.
Código MySQL:
Ver original
  1. [{"id":"1","username":"pepito","password":"123456","level":"principiante"}]
  2. [{"id":"1","username":"lolita","password":"abcdef","level":"experto"}]


LOGIN

Código PHP:
Ver original
  1. Future<List> _login() async {
  2.   final response = await http.post("localhost/login.php", body: {
  3.     "username": user.text,
  4.     "password": pass.text,
  5.   });
  6.  
  7.   var datauser = json.decode(response.body);
  8.  
  9.   if(datauser.length==0){
  10.     setState(() {
  11.           msg="Error Login";
  12.         });
  13.   }else{
  14.     if(datauser[0]['level']=='experto'){
  15.        Navigator.pushReplacementNamed(context, '/PaginaExperto');
  16.     }else if(datauser[0]['level']=='principiante'){
  17.       Navigator.pushReplacementNamed(context, '/PaginaPrincipiante');
  18.     }
  19.  
  20.     setState(() {
  21.           username= datauser[0]['username'];
  22.         });
  23.  
  24.   }
  25.  
  26.   return datauser;
  27. }