DEV Community

Deenan Djigbenou
Deenan Djigbenou

Posted on

how to send variables from a page to another flutter/dart

Hello I am currently trying to pass variable entries by the user during the connection step to the main page of my application, but I encounter an error and I do not know what is causing it, in my page main (gamepage) in the child of the boy I want to display the address of the controller but flutter tells me that this variable is not defined!!!!
You are my only hope

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

class register extends StatefulWidget {
  const register({super.key});

  @override
  State<register> createState() => _registerState();
}

class _registerState extends State<register> {
  final _formKey = GlobalKey<FormState>();
  final controllermail = TextEditingController();
  final controllerpassword = TextEditingController();

  Future<void> login(String mail, String password) async {
    try {
      var url = Uri.parse('https://konamicash.com/authentification_app');
      var response = await http.post(
        url,
        headers: {
          "Accept": "application/json",
          "Access-Control-Allow-Origin": "*"
        },
        body: {
          "the_mail": mail,
          "the_pasword": password,
        },
      );
      if (response.statusCode == 200) {
        var data = jsonDecode(response.body);
        print('OK: $data');
        if (data['authentification'] == 0) {
        } else {
          Navigator.push(
              context,
              PageRouteBuilder(
                pageBuilder: (context, animation, secondaryAnimation) => Gaming(
                  formKey: GlobalKey<FormState>(),
                  controlleradressemail:TextEditingController(),
                  controllermotdepasse : TextEditingController(),
                ),
              ));
        }
      }
    } catch (e) {
      print('An error occurred: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('nami'),
      ),
      body: Form(
        key: _formKey,
        child: Column(
          children: [
            Container(
              child: TextFormField(
                decoration: const InputDecoration(labelText: 'mail'),
                controller: controllermail,
              ),
            ),
            Container(
              child: TextFormField(
                decoration: const InputDecoration(labelText: 'password'),
                controller: controllerpassword,
              ),
            ),
            SizedBox(
              width: double.infinity,
              height: 50,
              child: ElevatedButton(
                onPressed: () {
                  final mail = controllermail.text;

                  final password = controllerpassword.text;

                  login(mail, password);
                },
                child: const Text('Connexion'),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Enter fullscreen mode Exit fullscreen mode

Sentry mobile image

App store rankings love fast apps - mobile vitals can help you get there

Slow startup times, UI hangs, and frozen frames frustrate users—but they’re also fixable. Mobile Vitals help you measure and understand these performance issues so you can optimize your app’s speed and responsiveness. Learn how to use them to reduce friction and improve user experience.

Read full post →

Top comments (1)

Collapse
 
deenan_djigbenou_ba0ce10e profile image
Deenan Djigbenou


```import 'package:flutter/material.dart';
import 'package:tentative_formulaire_konamicash/pages/navbar.dart';
//this is the page i want my users to be redirected and where i want to get the variables

class Gaming extends StatefulWidget {
Gaming(
{super.key,
required GlobalKey formKey,
required this.controlleradressemail,
required this.controllermotdepasse});
final TextEditingController controlleradressemail;
final TextEditingController controllermotdepasse;

@override
State createState() => _GamingState();
}

class _GamingState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: const Navbar(),
appBar: AppBar(
title: const Text('Namis.com'),
backgroundColor: Colors.pink,
),
body: const Center(
child: Text(
//here is where flutter tells me that controlleradressemail is not defined and where i //want to display the content of the variable
controlleradressemail,
style: TextStyle(fontSize: 40.0),
),
),
);
}
}





Enter fullscreen mode Exit fullscreen mode

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay