undefined index
Posté : 23 nov. 2018, 14:25
Bonjour à tous,
Je suis actuellement en formation développeur web junior et je suis sur un projet en PHP, je rencontre un problème dont je ne trouve pas de solution, j'espère que vous pourrez m'aider a m'éclairer sur le sujet.
Donc avant toute chose, je tiens a préciser que mon projet a été crée dans une architecture MVC. Je rencontre une erreur à la suite de mon formulaire qui me dit Undefined index: username Donc évidement après plusieurs recherche, j'ai pu comprendre qu'il s'agit d'une variable non defini, Hors dans mon cas, elles le sont. cependant cela provient probablement de mon archétype MVC. je vais donc vous partager une partie de mon code avec vous.
Je suis actuellement en formation développeur web junior et je suis sur un projet en PHP, je rencontre un problème dont je ne trouve pas de solution, j'espère que vous pourrez m'aider a m'éclairer sur le sujet.
Donc avant toute chose, je tiens a préciser que mon projet a été crée dans une architecture MVC. Je rencontre une erreur à la suite de mon formulaire qui me dit Undefined index: username Donc évidement après plusieurs recherche, j'ai pu comprendre qu'il s'agit d'une variable non defini, Hors dans mon cas, elles le sont. cependant cela provient probablement de mon archétype MVC. je vais donc vous partager une partie de mon code avec vous.
//Mon fichier Model/register.php
<?php
require_once("model/Manager.php");
class Registers extends Manager
{
public function reqUsername()
{
$db = $this->dbConnect();
$req = $db->prepare('SELECT id FROM users WHERE username = ?');
$req->execute([$_POST['username']]); [b]//l'erreur pointe sur cette ligne[/b]
$user = $req->fetch();
}
}
Et maintenant voici mon fichier controller<?php
// Mon fichier controller
// Chargement des classes
require_once('model/Register.php');
function register()
{
require('view/frontend/registerView.php');
$registerManager = new Registers();
$controlUser = $registerManager->reqUsername();
$controlEmail = $registerManager->reqEmail();
$controlRegister = $registerManager->reqRegister();
$errors = array();
if(!empty($_POST))
{
if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username']))
{
$errors['username'] = "Votre pseudo n'est pas valide";
} else {
$controlUser;
if ($user)
{
$errors['username'] = "Ce pseudo est déjà pris";
}
}
if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$errors['email'] = "Votre email n'est pas valide";
} else {
$controlEmail;
if ($user)
{
$errors['email'] = "Cet email est déjà pris";
}
}
if (empty($_POST['password']))
{
$errors['password'] = "Votre mot de passe n'est pas valide";
}
if ($_POST['password'] != $_POST['password_confirm'])
{
$errors['password'] = "Votre mot de passe est différent de celui de confirmation";
}
if(empty($errors))
{
$controlRegister;
}
}
}
Merci d'avance , si vous avez besoin de + d'infos comme le code de mon fichier view ou le code de mon fichier routeur n'hesitez pas