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 image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

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

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

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

Okay