MODULE DE NEWS EN PHP MYSQL + COMMENTAIRES PHP MYSQL

tiwy57 Messages postés 6 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 18 octobre 2009 - 2 juin 2008 à 21:06
mmariiee Messages postés 1 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 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.

https://codes-sources.commentcamarche.net/source/46851-module-de-news-en-php-mysql-commentaires-php-mysql

mmariiee Messages postés 1 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 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és 2 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 29 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és 6 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 18 octobre 2009
24 janv. 2009 à 14:27
Une simple mise a jour, mais j'ai posté deux fois désolé -_-
tiwy57 Messages postés 6 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 18 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és 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
9 juin 2008 à 20:02
OK, merci !

Je serais averti par mail !

Bon courage !
tiwy57 Messages postés 6 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 18 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és 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 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és 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
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'];
?>

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...

++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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és 6 Date d'inscription mardi 12 décembre 2000 Statut Membre Dernière intervention 18 octobre 2009
2 juin 2008 à 21:06
Je poste un Commentaiore juste pour savoir si il y en a un !
Rejoignez-nous