как получить данные от 000webhost - PullRequest
0 голосов
/ 05 апреля 2020

привет, я сейчас начинаю разрабатывать приложение 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
                                 )),
                                  ],
                                ),

                          ],
                        ),
                      ),
                    ),
                    ),


              ]
            ),
        );
  }
}

Я попытался запустить код флаттера, но он не смог получить данные из него, вот скриншот ниже (не обращайте внимания на ошибку переполнения, я могу это исправить)

unable to fetch

1 Ответ

0 голосов
/ 05 апреля 2020

Вы отправляете запрос GET (var response = await http.get(), но вы читаете данные из переменной $_POST в consultprofile.php.

. Вызовите либо await http.post, либо прочитайте переменную $_GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...