Bonjour,

A 16min 43s, je rencontre un problème lors de la réactulisation de la page index.php?p=login. En effet, il me déclare ces deux erreurs :

( ! ) Notice: Undefined index: username in F:\ProgramFiles\UwAmp\www\aion\pages\users\login.php on line 7
( ! ) Notice: Undefined index: password in F:\ProgramFiles\UwAmp\www\aion\pages\users\login.php on line 7

<?php

if(!empty($_POST)){

    $auth = new \Core\Auth\DBAuth(App::getInstance()->getDb());

    if($auth->login($_POST['username'], $_POST['password'])){

        die('Connecte');

    }else{

        die('Pas connecte');

    }

}

$form = new \Core\HTML\BootstrapForm($_POST);

?>

<form method="post">

    <?= $form->input('username', 'Nom d\'utilisateur'); ?>
    <?= $form->input('password', 'Mot de passe', ['type' => 'password']); ?>
    <button class="btn btn-primary">Envoyer</button>

</form>

De ce fait le die('Pas connecte) et le seul à apparaitre et je ne vois vraiment pas où se situe le problème. J'ai même repris la vidéo depuis le départ et j'en suis revenu au même résultat.

Merci de votre aide et Je souhaite à tous les membres de cette belle communauté une bonne année 2016.

3 réponses


Bonsoir.
L'erreur veut tout simplement dire que les index username et password du formulaire posté, ne sont pas définis, tu devrais ajouter dans ta première condition, qu'ils doivent être définis pour passer la condition.
Le formulaire doit être posté sans que les deux champs soient renseignés.
Après ta condition, fais un var_dump de la variable $_POST.
Au passage, quand tu crées un formulaire, il faut définir l'attribut action, même si c'est la page courante :

<form method="post" action="">

Il vaut mieux que tu prennes l'habitude de définir l'attribut action, car quand tu vas utiliser un autre fichier pour traiter un formulaire ou que tu vas utiliser la structure MVC, tu vas souvent faire l'oubli et avoir des erreurs.

Salut,

D'abord, sympa le pseudo, ça fait référence à Behemoth non ?
Ensuite pour ton souci, @Lartak a mis le doigt dessus : il te faut vérifier si tes variables sont définies avec la fonction PHP isset().

nergal71
Auteur

Salut tout d'abord merci de vous pencher sur mon cas. Oui çà fait référence au chanteur de Behemoth, un des groupes que j'apprécie tout particulièrement. Pour en revenir au code je pense que je dois avoir une erreur en amont de ma page login. Je vais donc revoir mes autres fichiers et je tiendrais au courant.