GESTION DE MEMBRES

younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 11 oct. 2006 à 11:43
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 11 oct. 2006 à 17:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39886-gestion-de-membres

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
11 oct. 2006 à 17:29
Je rajouterais que SELECT * est effectivement mauvais pour les performance (oblige mysql à lister les champs avant de les renvoyer) mais surement pas pour la maintenance... c'est plutot le contraire... .. .

@ tchaOo°
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
11 oct. 2006 à 17:27
webdeb... non c'est le contraire... on utilise toujours mysql_real_escape_string() et si magic_quotes est activé on fait un stripslashes avant de le passer dans mysql_real_escape_string()... .. !

D'ailleurs magic_quotes est tellement inéfficace qu'ils prévoient de le supprimer dans PHP6... .. . :oP

@ tchaOo°
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
11 oct. 2006 à 16:17
Webdeb > "On ne fait pas de SELECT *, c'est mauvais pour les performances et pour la maintenance du code. On liste les champs (même si c'est long)."

Soit pragmatique dans tes commentaies, tu gagneras surement plus en ecoute...

kankrelune > "J'ais pas testé mais en vrac je dirais..."
Qu'est-ce que ce doit etre quand tu t'y mets a fond ... :p

gloomy64 > "J'ai fait se code parce qu'on me l'as demander, je l'ai fait le plus simple possible et désolès si le code existe déjà"
Si tu sais que ton code existe deja, qu'il n'apporte rien de neuf, qu'en plus tu ne le fais apparement pas de gaite de coeur, quel est l'interet de le poster alors ?
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
11 oct. 2006 à 16:03
Powa toutes les fautes....

Kankrelune, le mysql_real_escape_string n'est pas à faire à chaque fois. Il faut le faire uniquement si magic_quotes_gpc() est à ON dans le php.ini; sinon tu échappes manuellement avec addslashess().

On ne fait pas de SELECT *, c'est mauvais pour les performances et pour la maintenance du code. On liste les champs (même si c'est long).
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
11 oct. 2006 à 12:55
Salut...

J'ais pas testé mais en vrac je dirais...

ligne 11-12 ?><?php inutile

ligne 13 $action est définis nul part

ligne 15 include("inc/config.php"); fichier non fournis même si on se doute de ce qu'il y a dedans

ligne 19 $sql = 'SELECT * FROM nom_de_la_table WHERE nom_du_champs="'.$_POST['name'].'" ';

RAAAAH pas bon... aucun controle du contenu de $_POST['name'] en deux temps trois mouvement un pirate peut te faire sauter ta base de données... toujours utiliser mysql_real_escape_string() pour echapper les charactères sensibles des chaines de charactères... .. .

ligne 24 $login = mysql_fetch_array($req);

et si l'utilisateur à mal tapé sont login de que mysql ne retourne aucun enregistrement... donc...

if(mysql_num_rows($req) === 0)
/* on ne fait pas de comparaison on réaffiche direct le formulaire */
ligne 27 $login[user] et $login[login] user et login ne sont pas des constantes donc $login['user'] et $login['login']

ligne 27 toujours $name et $password ne sont pas définis

ligne 30 echo'<form method="post" action="'.$page_name.'.php">

$page_name est inutile <form method="post" action="?">

c'est un détail mais les champs de formulaires doivent se terminer par un / donc...

et non pas

ligne 27 $name == $login[user] est inutile vu que le nom est forcement bon sinon mysql ne l'aurait pas trouvé...

ligne 27 tu t'es trompé si le pass est bon tu réaffiche le formulaire

Problème de structure je ne suis pas sur que deux formulaire soient utile... autant faire le traitement... s'il y a un problème tu rempli une variable $message (préalablement définnie à vide) avec le message et afficher le formulaire en fin de page avec la variable $message... et s'il n'y a pas de problème tu affiche le contenu ou tu redirige... le problème de ton code c'est qu'il n'y a aucun stockage d'information en session... si je réactualise ma page ou que je change de page il faudra que je me réidentifis... .. .

Bref la base est là mais il y a pas mal de modifications à faire... je met 4/10... .. .

@ tchaOo°
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
11 oct. 2006 à 11:43
T as pas donné une explication de ton application !!!!!
elle fait quoi exacement ?
Merci