MODULE DE NEWS EN PHP MYSQL + COMMENTAIRES PHP MYSQL
tiwy57
Messages postés6Date d'inscriptionmardi 12 décembre 2000StatutMembreDernière intervention18 octobre 2009
-
2 juin 2008 à 21:06
mmariiee
Messages postés1Date d'inscriptionlundi 15 mars 2010StatutMembreDernière intervention16 mars 2010
-
16 mars 2010 à 23:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
mmariiee
Messages postés1Date d'inscriptionlundi 15 mars 2010StatutMembreDernière intervention16 mars 2010 16 mars 2010 à 23:12
Salut, je suis completement nouvelle dans le domaine du php et je ne sais pas ou mettre les fichiers sur mon site? et aussi comme il y a des index.php, ca ne pertubera pas mon autre page qui se nomme aussi ainsi?
Merci, et désolé de mon idiotie. :P
Reckahomis
Messages postés2Date d'inscriptionjeudi 3 mai 2007StatutMembreDernière intervention29 janvier 2010 29 janv. 2010 à 15:15
salut tiwy57
tu peux m'envoyer la mise a jour stp, ce code ne me foncione pas, j'ai essayé de suivre les etapes mais sant resultats
mrci
tiwy57
Messages postés6Date d'inscriptionmardi 12 décembre 2000StatutMembreDernière intervention18 octobre 2009 24 janv. 2009 à 14:27
Une simple mise a jour, mais j'ai posté deux fois désolé -_-
tiwy57
Messages postés6Date d'inscriptionmardi 12 décembre 2000StatutMembreDernière intervention18 octobre 2009 13 nov. 2008 à 14:48
Bonjour, il devrai y avoir une mise a jour sous peu, j'ai tout remanier niveau Code et Affichage des news...
J'en dirais un peu plus dès que j'aurais fini de refaires les codes !
jadu
Messages postés217Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention16 août 2018 9 juin 2008 à 20:02
OK, merci !
Je serais averti par mail !
Bon courage !
tiwy57
Messages postés6Date d'inscriptionmardi 12 décembre 2000StatutMembreDernière intervention18 octobre 2009 9 juin 2008 à 19:23
Merci de vos critiques, mais je comprend que sa vous gene (fonctions depassées... ) mais c'est mon premier module de news, il y a des choses qui va et qui n'y va pas...
jadu => Je ferai une mise a jour très bientot, je dois mettre un include sur chaque fichier pour la connexion, c'est vrai que retaper sa a chaque fois sa doit être enervant.
En tout cas, je vous tien au courant.
Merci !
jadu
Messages postés217Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention16 août 2018 9 juin 2008 à 18:02
Alors, tiwy57 , tu fais quand la mise à jour ???
;-) je rigole, mais c'est parce que ça m'intéressait mais j'ai pas envie de tout refaire !
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 3 juin 2008 à 11:54
A mon tour de commenter :
1/ On ne fait pas de SELECT * mais on liste les champs dont on a besoin
2/ A l'heure de PHP5 et bientôt PHP6, il serait grand temps d'utiliser MySQLi ou PDO plutôt que les vieilles fonctions mysql_*()
3/ Tu devrais ajouter des indexes sur les champs stratégiques de ta table (par exemple le champ "valide")
4/ mysql_fetch_assoc() est plus rapide que mysql_fetch_array();
5/ Tu peux remplacer ça :
<?php
$sql2 = mysql_query("SELECT COUNT(*) AS nb_msg FROM news");
$donnees2 = mysql_fetch_array($sql2);
$nb_msg = $donnees2['nb_msg'];
?>
6/ Pourquoi n'as-tu pas fait un fichier dans lequel tu as la connexion à la BDD ? Tu as des mysql_connect() dans chaque fichier, ce n'est pas maintenable du tout.
7/ quand on fait une redirection, on devrait mettre un chemin absolu (ex: http://www.monsite.com/mapage.php) et penser à arrêter l'exécution du script juste après par un exit;
8/ Tout est mélangé : logique métier, modèle et vue, c'est ingérable
9/ <?php echo stripslashes($_GET['titrenews']); ?> !!! Chez moi les magic_quotes_gpc sont désactivées. Donc il ne faut pas que je les échappe...
Bref y'a plein de trucs qui ne vont pas dans ton code... Il fonctionne peut-être mais il n'est pas sécurisé, pas structuré, pas optimisé et obsolète...
++
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 3 juin 2008 à 05:00
tiwy57, t'es automatiquement abonne a ta propre source.
tes sources contiennent quelques erreurs, je vais t'en lister quelques unes, ca te permetra de les corriger, et donc d'ameliorer ta source
mysql_connect("host", "Login", "Mdp");
tu devrais faire un fichier de configuration pour ca.
et tu devrais aussi verifier si tu as reussi ou non a te connecter.
$sql mysql_query("SELECT * FROM news WHERE valide '1' ORDER BY id DESC LIMIT $from,$limit_par_page")
il manque un point virgule, tu devrais utiliser les doubles quotes, et tu devrais selectionner avec un WHERE nombre BETWEEN '.$from.' AND '.($from + $limit_par_page), ta requete serait alors plus rapide.
<table width="576" border="3" cellspacing="0" cellpadding="0">
ton html est assez vieux, et ne correspond plus aux standards actuels. tu pourrais chercher a faire un peu de CSS et de Xhtml pour commencer.
sinon, imagine, tu fais un webmaster et des admins pour chaque petite partie de ton site, par exemple, ici, tu fais une categorie d'utilisateurs : newsers, qui peuvent ajouter des news, en supprimer, etc... (c'est en gros ce qu'on a sur le site du zero.)
tu dois alors proteger les pages admins de facon a ne pas y laisser de failles de securite...
$retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']);
or ici, tu as une jolie XSS
page.php?modifier_news = -1 UNION SELECT login, password FROM users;
sinon, tu pourrais utiliser des templates pour que ton script soit plus facilement adaptable.
voila, j'espere que tu pourras ameliorer ta source en suivant ces quelques conseils.
tiwy57
Messages postés6Date d'inscriptionmardi 12 décembre 2000StatutMembreDernière intervention18 octobre 2009 2 juin 2008 à 21:06
Je poste un Commentaiore juste pour savoir si il y en a un !
16 mars 2010 à 23:12
Merci, et désolé de mon idiotie. :P
29 janv. 2010 à 15:15
tu peux m'envoyer la mise a jour stp, ce code ne me foncione pas, j'ai essayé de suivre les etapes mais sant resultats
mrci
24 janv. 2009 à 14:27
13 nov. 2008 à 14:48
J'en dirais un peu plus dès que j'aurais fini de refaires les codes !
9 juin 2008 à 20:02
Je serais averti par mail !
Bon courage !
9 juin 2008 à 19:23
jadu => Je ferai une mise a jour très bientot, je dois mettre un include sur chaque fichier pour la connexion, c'est vrai que retaper sa a chaque fois sa doit être enervant.
En tout cas, je vous tien au courant.
Merci !
9 juin 2008 à 18:02
;-) je rigole, mais c'est parce que ça m'intéressait mais j'ai pas envie de tout refaire !
3 juin 2008 à 11:54
1/ On ne fait pas de SELECT * mais on liste les champs dont on a besoin
2/ A l'heure de PHP5 et bientôt PHP6, il serait grand temps d'utiliser MySQLi ou PDO plutôt que les vieilles fonctions mysql_*()
3/ Tu devrais ajouter des indexes sur les champs stratégiques de ta table (par exemple le champ "valide")
4/ mysql_fetch_assoc() est plus rapide que mysql_fetch_array();
5/ Tu peux remplacer ça :
<?php
$sql2 = mysql_query("SELECT COUNT(*) AS nb_msg FROM news");
$donnees2 = mysql_fetch_array($sql2);
$nb_msg = $donnees2['nb_msg'];
?>
Par ça :
<?php
$sql2 = mysql_query('SELECT COUNT(1) FROM news');
$donnees2 = (int) mysql_result($sql2, 0, 0);
?>
6/ Pourquoi n'as-tu pas fait un fichier dans lequel tu as la connexion à la BDD ? Tu as des mysql_connect() dans chaque fichier, ce n'est pas maintenable du tout.
7/ quand on fait une redirection, on devrait mettre un chemin absolu (ex: http://www.monsite.com/mapage.php) et penser à arrêter l'exécution du script juste après par un exit;
8/ Tout est mélangé : logique métier, modèle et vue, c'est ingérable
9/ <?php echo stripslashes($_GET['titrenews']); ?> !!! Chez moi les magic_quotes_gpc sont désactivées. Donc il ne faut pas que je les échappe...
Bref y'a plein de trucs qui ne vont pas dans ton code... Il fonctionne peut-être mais il n'est pas sécurisé, pas structuré, pas optimisé et obsolète...
++
3 juin 2008 à 05:00
tes sources contiennent quelques erreurs, je vais t'en lister quelques unes, ca te permetra de les corriger, et donc d'ameliorer ta source
mysql_connect("host", "Login", "Mdp");
tu devrais faire un fichier de configuration pour ca.
et tu devrais aussi verifier si tu as reussi ou non a te connecter.
$sql mysql_query("SELECT * FROM news WHERE valide '1' ORDER BY id DESC LIMIT $from,$limit_par_page")
il manque un point virgule, tu devrais utiliser les doubles quotes, et tu devrais selectionner avec un WHERE nombre BETWEEN '.$from.' AND '.($from + $limit_par_page), ta requete serait alors plus rapide.
<table width="576" border="3" cellspacing="0" cellpadding="0">
ton html est assez vieux, et ne correspond plus aux standards actuels. tu pourrais chercher a faire un peu de CSS et de Xhtml pour commencer.
sinon, imagine, tu fais un webmaster et des admins pour chaque petite partie de ton site, par exemple, ici, tu fais une categorie d'utilisateurs : newsers, qui peuvent ajouter des news, en supprimer, etc... (c'est en gros ce qu'on a sur le site du zero.)
tu dois alors proteger les pages admins de facon a ne pas y laisser de failles de securite...
$retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']);
or ici, tu as une jolie XSS
page.php?modifier_news = -1 UNION SELECT login, password FROM users;
sinon, tu pourrais utiliser des templates pour que ton script soit plus facilement adaptable.
voila, j'espere que tu pourras ameliorer ta source en suivant ces quelques conseils.
2 juin 2008 à 21:06