привет, я сейчас начинаю разрабатывать приложение android, используя флаттер, и я хочу получить данные из 000webhost, используя php и mysql, я уже создал базу данных, и вот мой код php чтобы получить от него данные
consultprofile. php
<?php
require_once 'connection.php';
$userid=$_POST['userid'];
$query="SELECT * FROM tbluser WHERE userid = '$userid'";
$result = mysqli_query($con,$query);
$array = array();
while ($row = mysqli_fetch_assoc($result))
{
$array[] = $row;
}
echo ($result) ?
json_encode(array("code" => 1, "result"=>$array)) :
json_encode(array("code" => 0, "message"=>"No data found"));
?>
и вот мой код флаттера:
import 'dart:convert';
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:idobloodapp/drawer/maindrawer.dart';
import 'package:http/http.dart' as http;
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
List data;
String firstname = "firstname ",
lastname = "lastname ",
gender = "gender ",
contact="contact",
address="address",
bloodtype="bloodtype",
username = "username ";
Future<String> getLogin() async {
var response = await http.get(
Uri.encodeFull(
"https://idobloodadmin.000webhostapp.com/consultprofile.php"),
headers: {"Accept": "application/json"});
setState(() {
var convertDataToJson = json.decode(response.body);
data = convertDataToJson['result'];
if (data != null) {
firstname = data[0]['firstname'];
lastname = data[0]['lastname'];
gender = data[0]['gender'];
contact = data[0]['contact'];
address=data[0]['address'];
bloodtype=data[0]['bloodtype'];
username = data[0]['username'];
}
});
print(data);
return "";
}
@override
void initState() {
super.initState();
setState(() {
getLogin();
});
}
return Scaffold(
backgroundColor: Color.fromRGBO(244, 13, 48, 1),
appBar: AppBar(
elevation:0.0,
backgroundColor: Color.fromRGBO(244, 13, 48, 1),
title: Text(
"",
style: TextStyle(color: Colors.black),
),
actions: <Widget>[
FlatButton.icon(
icon: Icon(FontAwesomeIcons.signOutAlt),
label: Text('LOGOUT'),
onPressed: () async {
},
)
], //remove drop shadow
),
drawer:MainDrawer(),
body: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children:<Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 100.0,top:7.0),
child: Row(
children: <Widget>[
CircleAvatar(
radius:50,
backgroundImage:AssetImage("asset/kitty.jpeg"),
),
Padding(
padding: const EdgeInsets.only(left:28.0),
child: Row(
children: <Widget>[
Text("$bloodtype",
style:TextStyle(fontWeight: FontWeight.bold,
fontSize: 28.0, color: Colors.white
)
),
],
),
),
],
),
),
],
),
Padding(
padding: const EdgeInsets.only(left:100.0),
child: Row(
// crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Column(
children: <Widget>[
Text("$firstname $lastname",
style:TextStyle(fontWeight: FontWeight.bold,
fontSize: 28.0, color: Colors.white
)
),
],
),
],
),
),
Padding(
padding: const EdgeInsets.only(left:100.0),
child: Row(
children: <Widget>[
Text("@ $username",
style:TextStyle(fontWeight: FontWeight.bold,
fontSize: 28.0, color: Colors.white,
),
),
],
),
),
Expanded(
child: Container(
width:double.infinity,
margin:EdgeInsets.only(top:15),
decoration:BoxDecoration(
color:Colors.white,
) ,
child: Padding(
padding: const EdgeInsets.only(top:18.0),
child: Column(
mainAxisAlignment:MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Icon(Icons.person,size: 40,color: Color.fromRGBO(244, 13, 48, 1),),
Text("$gender",style:TextStyle(
fontSize:40
)),
],
),
Row(
children: <Widget>[
Icon(Icons.contact_phone,size: 40,color: Color.fromRGBO(244, 13, 48, 1),),
Text("$contact",style:TextStyle(
fontSize:40
)),
],
),
Row(
children: <Widget>[
Icon(Icons.location_city,size: 40,color: Color.fromRGBO(244, 13, 48, 1),),
Text("$address",style:TextStyle(
fontSize:40
)),
],
),
],
),
),
),
),
]
),
);
}
}
Я попытался запустить код флаттера, но он не смог получить данные из него, вот скриншот ниже (не обращайте внимания на ошибку переполнения, я могу это исправить)
