Cita:
Iniciado por Triby
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<?php
include 'conn.php';
$username = $_POST['username'];
$password = $_POST['password'];
$queryResult=$connect->query("SELECT * FROM MyTable WHERE username = '$username' AND password = '$password'");
while($fetchData=$queryResult->fetch_assoc()){
$result[]=$fetchData;
}
?>
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[{"id":"1","username":"pepito","password":"123456","level":"principiante"}]
[{"id":"1","username":"lolita","password":"abcdef","level":"experto"}]
LOGIN
Código PHP:
Ver originalFuture<List> _login() async {
final response = await http.post("localhost/login.php", body: {
"username": user.text,
"password": pass.text,
});
var datauser = json.decode(response.body);
if(datauser.length==0){
setState(() {
msg="Error Login";
});
}else{
if(datauser[0]['level']=='experto'){
Navigator.pushReplacementNamed(context, '/PaginaExperto');
}else if(datauser[0]['level']=='principiante'){
Navigator.pushReplacementNamed(context, '/PaginaPrincipiante');
}
setState(() {
username= datauser[0]['username'];
});
}
return datauser;
}