Форма регистрации в флаттер дротик не работает с использованием PHP и MySQL - PullRequest
0 голосов
/ 10 января 2019

У меня есть этот код в виде PHP и MySQLi для моего приложения Flutter для регистрации:

<?php 
  $con=mysqli_connect("localhost","root","","flutterapp");
        $username=$_POST["username"];
        $password=$_POST["password"];   
        $status=$_POST["status"];
        $qry=mysqli_query($con,"insert into user (username,password,status) 
        values ('$username','$password','$status')");
       $response = array();
       echo json_encode($response);        ?>

Это также мой регистрационный код дротика Flutter:

import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

class Register extends StatefulWidget {
 @override
 _RegisterForm createState() => _RegisterForm();
 }

 class _RegisterForm extends State<Register> {
  String _radioValue;
 TextEditingController user = new TextEditingController();
 TextEditingController pass = new TextEditingController();

Future<List> register() async {
final response =
await http.post("http://myurl/flutterApp/register.php", body: {
  "username": user.text,
  "password": pass.text,

});
var datauser = json.decode(response.body);
if (datauser.length == 0) {
  setState(() {
    msg = "Register Fail";
  });
} else {
    Navigator.pushReplacementNamed(context, '/MyHomePage');
  }
   return datauser;
   }
   @override
   Widget build(BuildContext context) {
   return Scaffold(
    appBar: AppBar(
    title: Text("Create New Account"),
    ),
    body: Container(
    margin: const EdgeInsets.only(left: 20.0,top:70.0, right: 20.0),
    child: Column(
      children: <Widget>[
        TextField(
          controller: user,
          decoration: InputDecoration(hintText: 'Username'),
        ),
        TextField(
          controller: pass,
          obscureText: true,
          decoration: InputDecoration(hintText: 'Password'),
        ),
        RaisedButton(
          child: Text("Sign Up"),
          onPressed: () {
            register();
          },
        ),
       ],),),);} }

Это код, который я использую, для которого у меня возникают проблемы - имя пользователя и пароль не вставляются в базу данных, а в плюс var datauser = json.decode(response.body); выдает ошибку.

...