IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Aide pour me connecter à une application PHP


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut Aide pour me connecter à une application PHP
    Bonsoir. Je fais en ce moment un petit projet de connexion et d'inscription à une base de données. Je vous explique, j'ai une base de données sous MySQL appelé "projetetude" ou il y a deux tables "formateur" et "utilisateur".

    Dans la table "formateur", il n'y a rien encore mais par contre dans la table "utilisateur" il y a deux colonnes : "email" et "motpasse". Et dans cette table il y a un enregistrement que voici : pour l'email c'est : "admin@gmail.com" et le motpasse c'est : "test".

    L'objectif c'est qu'avec ces deux identifiants je puisse basculer sur un back-office en cliquant sur le bouton "Envoyer". Voici vueconnexion.php, la vue de connexion fait avec Foundation le framework d'interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    //session_start();
     
    include_once "controller/utilisateurConnexion.php";
    ?>
     
     
    <!DOCTYPE html>
    <html>
    <meta charset="UTF-8">
    <head>
        <title>Mes formulaires d'étude</title>
        <link rel="stylesheet" href="style/css/foundation.min.css">
        <link rel="stylesheet" href="style/css/foundation.css">
        <link rel="stylesheet" href="style/css/app.css">
        <script src="js/vendor/foundation.js"></script>
        <script src="js/vendor/foundation.min.js"></script>
        <script src="js/vendor/jquery.js"></script>
        <script src="js/vendor/what-input.js"></script>
    </head>
     
    <body>
    <h1>Mon formulaire de connexion d'étude</h1>
    <form action="controller/utilisateurConnexion.php" method="POST">
        <label for="email">
            <p>Email <input id="email" type="email" placeholder="email@email.com"/>
        </label></p>
     
        <label for="motpasse">
            <p>Mot de passe <input id="motpasse" type="password"/>
        </label></p>
     
     
    <a button type="submit" class="button large-1" name ="Envoyer"/>Envoyer</a>
    </form>
    <a href="vueinscription.php" class="button large-1 hollow" input type="submit"/>Pas inscrit, inscrivez-vous</a>
    <a href="vueoubli.php" class="button large-2 hollow" input type="submit"/>Identifiant oublié</a>
    </body>
     
    </html>
    Il y aussi le modèle me permettant de me connecter à ma base appelé accesbase.php situé dans le répertoire "modele" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
     
    class accesbase
    {
     
        function connexion()
        {
            $pdo = null;
            try {
                $pdo = new pdo ('mysql:host=127.0.0.1;dbname=projetetude', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET_NAMES_utf8"));
            } catch (PDOException $err) {
                $messageErreur = $err->getMessage();
                error_log($messageErreur, 0);
            }
            return $pdo;
        }
     
        function uConnexion($email, $motpasse)
        {
            $pdo = $this->connexion();
            if ($pdo != false) {
                $sql = "SELECT * FROM utilisateur" . "where email=:email and motpasse=:motpasse";
                $prep = $pdo->prepare($sql);
                $prep = bindParam(":email", $email, PDO::PARAM_STR);
                $prep = bindParam(":motpasse", $motpasse, PDO::PARAM_STR);
                $prep = $pdo->execute();
                $resultat = $prep->fetch();
                if ($prep->rowCount() == 1) {
                    $prep->closeCursor();
                    return $resultat;
                }
                $prep->closeCursor();
     
            }
            return null;
        }
     
        function uNouveau($email, $motpasse)
        {
            $pdo = $this->connexion();
            if ($pdo == null) {
                return false;
            }
            $register = $pdo->prepare('INSERT INTO utilisateur(email,motpasse)VALUES (:email,:motpasse)');
            $register->bindValue(':email', $email, PDO::PARAM_STR);
            $register->bindValue(':motpasse', $motpasse, PDO::PARAM_STR);
            return ($register->execute());
     
        }
     
     
    }
     
    ;
     
    ?>
    Et voici le petit fichier controlleur appelé utlisateurConnexion.php qui fait le traitement, il est situé dans le répertoire "controller":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    include_once 'modele/accesbase.php';
     
    $db = new accesbase();
    $pdo = $db->connexion();
    if($pdo!=false) {
     
        header('location:vueSIO.php');
    }
    else {
        //header('location:vueconnexionerrone.php');
    }
     
    ?>
    Le but c'est qu'en entrant dans le champ email l'émail "admin@admin.com" et dans le champ mot de passe "test" et cliquant sur le bouton "envoyer", je puisse basculer sur la vueSIO.php. Or pour l'instant, cela ne marche pas. J'attends votre contribution.
    Dernière modification par Invité ; 05/08/2016 à 09h27.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as oublié d'utiliser ta méthode uConnexion.

    Au passage ça serait plus logique que ta méthode renvoit FALSE par défaut plutôt que NULL.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bon j'ai modifier mon fichier utilisateurConnexion de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    session_start();
    include_once 'modele/accesbase.php';
     
    $db = new accesbase();
    $pdo = $db->connexion();
    $pdo = $db->uConnexion($_POST['email'], $_POST['motpasse']);
     
     
    if (isset($_POST['email']) && uConnexion($_POST['email'], $_POST['motpasse'])) {
        $_SESSION['email'] = $_POST['email'];
        header("Location:vueSIO.php"); exit;
    }
     
    ?>
    Le reste de mes fichiers codes n'ont pas bougé. Or j'ai deux erreurs qui s'affiche dans mon navigateur :

    "Notice: Undefined index: email in C:\wamp\www\miniprojetetude\controller\utilisateurConnexion.php on line 7"
    "Notice: Undefined index: motpasse in C:\wamp\www\miniprojetetude\controller\utilisateurConnexion.php on line 7"

    Après maintes modifications, je ne vois pas. Pouvez-vous m'aider ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    affichez le contenu des variables pour vérifier qu'elles contiennent bien ce que vous souhaitez

Discussions similaires

  1. [Android] [aide] pour fonctionnalité dans une application générée en ligne
    Par nickylarson59 dans le forum Mon application mobile
    Réponses: 2
    Dernier message: 03/05/2016, 12h01
  2. Débutant: aide pour commencement d'une application
    Par rick33290 dans le forum Android
    Réponses: 2
    Dernier message: 02/03/2015, 14h19
  3. Script pour sécuriser une application PHP
    Par Alcius dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 01/07/2012, 01h40
  4. raccourci pour une application php
    Par med.beji dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2010, 12h10
  5. Réponses: 5
    Dernier message: 27/06/2006, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo