Maison  >  Questions et réponses  >  le corps du texte

Exception non gérée : FormatException : Caractère inattendu (au caractère 1) E/flutter (6084) : <br /> E/futter (6084) : ^

fichier php :

$email=$_POST['email'];

    $passworda=$_POST['passworda'];

$sql="SELECT * FROM user WHERE email='".$email."'AND passworda='".$password."' ";
$result=mysqli_query($db,$sql);
$count=mysqli_num_rows($result);
if($count>=1){
echo json_encode("success");
}
else
{
echo json_encode("error");
}

Page de connexion Flutter :

class Login extends StatelessWidget {
  TextEditingController email = TextEditingController();
  TextEditingController password = TextEditingController();

  Future login(BuildContext cont) async {
    if (email.text == "" || password.text == "") {
      Fluttertoast.showToast(
        msg: "please complete!",
        toastLength: Toast.LENGTH_SHORT,
        gravity: ToastGravity.CENTER,
        fontSize: 16.0,
      );
    } else {
      var url = "http://192.168.43.150/v1_flutter/lib/php/connection.php";
      var response = await http.post(Uri.parse(url), body: {
        "email": email.text,
        "pass": password.text,
      }, headers: {"Accept":"applicarion/json"});
      var data = jsonDecode(response.body);

      if (data == "success") {
        Navigator.pop(cont);
        Navigator.pushNamed(cont, "/registre");
      } else {
        Fluttertoast.showToast(
          msg: "The user and password does not exist!",
          toastLength: Toast.LENGTH_SHORT,
          gravity: ToastGravity.CENTER,
          fontSize: 16.0,
        );
      }
    }}

Console :

E/flutter (6084) : [Erreur : flutter/lib/ui/ui_dart_state.cc(198)] Exception non gérée : FormatException : caractère inattendu (à Caractère 1) E/Flutter (6084) :

E/Flutter(6084) :^ E/Flutter(6084) : E/Flutter(6084) : #0 _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1383:5) E/Flutter(6084) : #1 _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1250:9) E/Flutter(6084) : #2 _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:915:22) E/Flutter(6084) : #3 _parseJson (dart:convert-patch/convert_patch.dart:35:10) E/Flutter (6084) : #4 JsonDecoder.convert (dart:convert/json.dart:612:36) E/Flutter (6084) : #5 JsonCodec.decode (dart:convert/json.dart:216:41) E/Flutter (6084) : #6 jsonDecode (dart:convert/json.dart:155:10) E/Flutter (6084) : #7 Login.login (package:mes_v1/pages/Authentification/login.dart:25:18) E/Flutter(6084) : E/Flutter (6084) :

P粉891237912P粉891237912230 Il y a quelques jours453

répondre à tous(1)je répondrai

  • P粉244730625

    P粉2447306252024-03-27 00:10:26

    Votre code semble sujet aux erreurs, mais concentrez-vous sur votre problème : l'exception semble claire et l'analyse de votre réponse est interrompue. (Je dirais également que vous devriez envelopper votre code avec try/catch pour éviter toute rupture de code et détecter correctement les problèmes).

    Laissez-nous résoudre votre problème :

    var data = jsonDecode(response.body);

    Cela convertira votre chaîne (response.body) en json, ce qui signifie dataMap ou List< /code> (où dynamique est une carte ou une autre liste imbriquée), donc ce qui suit n'a aucun sens

    if(数据==“成功”){if(data=="succès"){

    Maintenant, jetons un œil à votre code php :

    echo json_encode("成功");echo json_encode("succès");

    Je ne suis pas un expert en php, mais d'après la documentation, il devrait être utilisé comme ceci :

    $response = array("result" => "Success");
    echo json_encode($response);

    Revenons maintenant à votre code de fléchette :

    var success = false;
        try{
    
          final baseUrl = "http://192.168.43.150"; // Use final wherever you can
          final url = "$baseUrl/v1_flutter/lib/php/connection.php"; // Improving flexibility
    
          final body = {
            "email": email.text,
            "pass": password.text,
          }; // Decouple in variables for readability
    
          final headers = {"Accept":"application/json"}; // Fix typo
    
          final response = await http.post(Uri.parse(url), body: body, headers: headers);
          final data = jsonDecode(response.body);
          success = data["result"] == "Success";
       } catch(e) {
          print("Catched an error!");
          print(e);
          success = false;
       }
    
       if(success) {
       ...

    répondre
    0
  • Annulerrépondre