[PHP] Inscription - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [PHP] Inscription (/showthread.php?tid=4980) Pages :
1
2
|
RE: [PHP]Inscription - Dark-Slade - 12-07-2010 RE: [PHP]Inscription - Argorate - 12-07-2010 Je suis désolé, faudrais que j'ai le truc sous les yeux, là c'est ilisible et bizard ton machin ^^ Peut etre que qqun d'autres aura le courage de continué, mais là c'est trop tard RE: [PHP]Inscription - Sephi-Chan - 12-07-2010 Pourtant, la coloration syntaxique du forum permet de voir ce qui merde… En fait c'est juste parce que tu fais des choses un peu bizarre, comme sauter de lignes en plein commentaire. Cela me fait penser que tu ne sais pas ce que tu écris et que tu t'es contenté de faire du copier/coller.
Ici, le mot "d'identification" est balancé en plein milieu du code… Donc ça plante… Après, tu délimites une chaîne avec des guillemets simples :
Ici, PHP croit que la chaîne s'arrête au ' de "n'êtes". Il faut que tu échappes cet apostrophes (en mettant un \ devant) ou que tu utilises des double quote. Voici le code source lavé de quelques erreurs :
Ensuite, quelques choses à améliorer. Déjà, tu ne devrais pas utiliser extract. C'est très sale car ça crée des variables à la volée, donc tu pourras avoir des résultats inattendus si de telles variables existent déjà. Tu devrais utiliser $_POST['login'] au lieu de $login. Ensuite, tes requêtes. Tu fais :
Ça va vitre être le bordel et être inutilisable. Je te conseille d'adopter cette notation qui te permettra du code bien plus propre et maintenable :
Avec sprintf, le premier argument est une chaîne qui contient des marqueurs qui seront remplacés dans l'ordre des arguments suivants. Quand c'est une chaîne de caractères que tu attends, il faut mettre '%s', et quand c'est un nombre entier, tu mets %d et si c'est un nombre à virgue, tu mets %f. Pense à passer tes chaînes à la fonction mysql_real_escape_string pour éviter certaines failles. Pense à passer tes entiers à la fonction intval et tes flottants à la fonction floatval. Un autre conseil : n'utilise pas d'abréviations. Ta colonne pwd devrait s'appeler password. Et tu devrais utiliser le même mot partout pour un même usage (là tu as pwd et pass), je te conseille d'utiliser password partout. Ensuite, ta table tbl_user, ce n'est pas vraiment un bon nom : on sait que c'est une table (et tu n'en es pas encore à utiliser des vues), donc le nom users (car elle contient plusieurs users) semble plus judicieux. Enfin, pour tes erreurs, je te déconseille le or die, ça va t'emmerder le jour où tu voudras les retirer (bien que tu ne sois pas près de le faire). Voici ce que je te propose :
Ça implique de définir quelque part dans ton script (dans un fichier inclus dans chaque script, par exemple) une constante DEBUG_SQL à true comme cela :
Et le jour où tu ne veux plus ces relevés, tu la mets à false. Voilà ! Sephi-Chan RE: [PHP] Inscription - php_addict - 12-07-2010 utilise un vrai editeur de texte...au minimum notepad++ RE: [PHP] Inscription - Argorate - 12-07-2010 J'avais vu l'histoire des commentaires, mais vu qu'il semblais connaitre le systeme de " /* */" qu'il utilise a un moment, je pensais que c'était un probleme lors du copié collé sur le forum, car je pensais qu'il maitrisé au moins les commentaire :p Finalement si ce n'est que ça, c'est pas bien grave |