par
devlop78 » 10 juin 2011, 03:36
Quel est le problème ? ca me parait plutot logique ... Ce que j'ai du mal à comprendre en plus, c'est comment peux-tu développer en "MVC" (je vois controlleur, vue, etc) alors que ce code est un vrai désastre. Même moi quand je bâcle mon travail, ça ne ressemble pas à ça.
Donc, pour être constructif :
- La connexion à la base de données n'a rien à faire dans un controleur particulier. C'est à placer sur une page supérieure.
- Si t'as connexion n'est pas établie, ça ne sert à rien de continuer, le else qui suit pollue ainsi la visibilité.
- L'extension mysql est dépassé et les connexions persistantes sont à utiliser avec savoir
- C'est une affaire de goût, mais si tu n'es pas à l'aise avec le langage, mieux vaut utiliser des variables qui ont un nom avec un sens (pourquoi $m ?), surtout dans un code plutot procédural et long comme celui là.
- faire un isset() et ne déclarer une variable qui si le isset réussi te fera obtenir une NOTICE quand tu voudras y accéder. Une possibilité est d'attribuer une valeur nulle par défaut, mais c'est pas non plus la meilleure solution, c'est une question de contexte. Par exemple ici, il vaut mieux pas.
- Tu utilises un tableau. Il vaut mieux déclarer ton tableau avant. Donc $id=array(). En plus tu n'auras plus ta NOTICE.
- si ta condition peut tenir sur une ligne, c'est mieux. Là c'est plus une question de lisibilité.
- header("Vue/affiche_erreur1.php"); n'est pas un header valide. Pour rediriger c'est 'location', entre autres.
Après le reste, il faudrait voir le contexte. Si ta classe model ne vérifie pas les données, $_SESSION['login']=$_POST['pseudo']; pourra entraîner une NOTICE et de sérieux problèmes par la suite ($_SESSION['login'] prendra la valeur null).
Quel est le problème ? ca me parait plutot logique ... Ce que j'ai du mal à comprendre en plus, c'est comment peux-tu développer en "MVC" (je vois controlleur, vue, etc) alors que ce code est un vrai désastre. Même moi quand je bâcle mon travail, ça ne ressemble pas à ça.
Donc, pour être constructif :
- La connexion à la base de données n'a rien à faire dans un controleur particulier. C'est à placer sur une page supérieure.
- Si t'as connexion n'est pas établie, ça ne sert à rien de continuer, le else qui suit pollue ainsi la visibilité.
- L'extension mysql est dépassé et les connexions persistantes sont à utiliser avec savoir
- C'est une affaire de goût, mais si tu n'es pas à l'aise avec le langage, mieux vaut utiliser des variables qui ont un nom avec un sens (pourquoi $m ?), surtout dans un code plutot procédural et long comme celui là.
- faire un isset() et ne déclarer une variable qui si le isset réussi te fera obtenir une NOTICE quand tu voudras y accéder. Une possibilité est d'attribuer une valeur nulle par défaut, mais c'est pas non plus la meilleure solution, c'est une question de contexte. Par exemple ici, il vaut mieux pas.
- Tu utilises un tableau. Il vaut mieux déclarer ton tableau avant. Donc $id=array(). En plus tu n'auras plus ta NOTICE.
- si ta condition peut tenir sur une ligne, c'est mieux. Là c'est plus une question de lisibilité.
- header("Vue/affiche_erreur1.php"); n'est pas un header valide. Pour rediriger c'est 'location', entre autres.
Après le reste, il faudrait voir le contexte. Si ta classe model ne vérifie pas les données, $_SESSION['login']=$_POST['pseudo']; pourra entraîner une NOTICE et de sérieux problèmes par la suite ($_SESSION['login'] prendra la valeur null).