Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MODULE DE NEWS EN PHP MYSQL + COMMENTAIRES PHP MYSQL


Information sur la source

Catégorie :SQL Classé sous : php, mysql, news, commentaires Niveau : Débutant Date de création : 02/06/2008 Date de mise à jour : 24/01/2009 14:25:30 Vu / téléchargé: 6 866 / 642

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Voici un module de news codé par mes soins

Ceci est mon premier module de news, et posté ici !

Ceci est un module de news codé en PHP utilisant MySQL, les commentaires sont inclus.

Vous aurez besoin de :
-Une Base de données MySQL
-De créer deux tables (voir source)
-De modifier tout les fichiers pour les infos de connexion a MySQL
-De voir si sa marche ;)
 

Source

  • --
  • -- Structure de la table `news`
  • --
  • CREATE TABLE IF NOT EXISTS `news` (
  • `id` tinyint(3) NOT NULL AUTO_INCREMENT,
  • `titre` varchar(255) COLLATE utf8_bin NOT NULL,
  • `contenu` text COLLATE utf8_bin NOT NULL,
  • `timestamp` bigint(20) NOT NULL,
  • `pseudo` text COLLATE utf8_bin NOT NULL,
  • KEY `id` (`id`)
  • ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin DELAY_KEY_WRITE=1 COMMENT='news pour site' AUTO_INCREMENT=1 ;
  • --
  • -- Structure de la table `commentaires`
  • --
  • CREATE TABLE IF NOT EXISTS `commentaires` (
  • `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID commentaire',
  • `pseudo` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'pseudo du post',
  • `message` text COLLATE utf8_bin NOT NULL COMMENT 'message du post',
  • `idnews` int(11) NOT NULL COMMENT 'news correspond',
  • `timestamp` bigint(20) NOT NULL COMMENT 'heure du post',
  • KEY `id` (`id`)
  • ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='commentaires pour module de news' AUTO_INCREMENT=1 ;
--
-- Structure de la table `news`
--

CREATE TABLE IF NOT EXISTS `news` (
  `id` tinyint(3) NOT NULL AUTO_INCREMENT,
  `titre` varchar(255) COLLATE utf8_bin NOT NULL,
  `contenu` text COLLATE utf8_bin NOT NULL,
  `timestamp` bigint(20) NOT NULL,
  `pseudo` text COLLATE utf8_bin NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin DELAY_KEY_WRITE=1 COMMENT='news pour site' AUTO_INCREMENT=1 ;

--
-- Structure de la table `commentaires`
--

CREATE TABLE IF NOT EXISTS `commentaires` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID commentaire',
  `pseudo` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'pseudo du post',
  `message` text COLLATE utf8_bin NOT NULL COMMENT 'message du post',
  `idnews` int(11) NOT NULL COMMENT 'news correspond',
  `timestamp` bigint(20) NOT NULL COMMENT 'heure du post',
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='commentaires pour module de news' AUTO_INCREMENT=1 ;

Conclusion

Un code simple, qui conviendra parfaitement.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

09 juin 2008 19:46:19 :
Modification de toutes les pages. Desormait, un seul fichier a modifier et sa marche ! Array est devenu assoc ^^ Modification des auto-increment dans le lisez moi.txt Modification du code HTML dans le INDEX.PHP, un seul tableau est BASTA. Pour toute remarques, commentaires ^^
24 janvier 2009 14:23:47 :
Une petite Mise a jour. J'ai mis a jour quelques problèmes. Normalement, il ne devrait plus y avoir de "gros" problèmes, j'ai alleger un peu le code en enlevant des balises <?php ?> qui servaient a rien. -Mise a jour du Lisez_Moi.txt -Mise a jour des codes
24 janvier 2009 14:25:30 :
Une petite Mise a jour. J'ai mis a jour quelques problèmes. Normalement, il ne devrait plus y avoir de "gros" problèmes, j'ai alleger un peu le code en enlevant des balises <?php ?> qui servaient a rien. -Mise a jour du Lisez_Moi.txt -Mise a jour des codes

Commentaires et avis

signaler à un administrateur
Commentaire de tiwy57 le 02/06/2008 21:06:04

Je poste un Commentaiore juste pour savoir si il y en a un !

signaler à un administrateur
Commentaire de coucou747 le 03/06/2008 05:00:15

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.

signaler à un administrateur
Commentaire de webdeb le 03/06/2008 11:54:02 5/10

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

++

signaler à un administrateur
Commentaire de jadu le 09/06/2008 18:02:43

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 !

signaler à un administrateur
Commentaire de tiwy57 le 09/06/2008 19:23:03

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 !

signaler à un administrateur
Commentaire de jadu le 09/06/2008 20:02:24

OK, merci !

Je serais averti par mail !  

Bon courage !

signaler à un administrateur
Commentaire de tiwy57 le 13/11/2008 14:48:42

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 !

signaler à un administrateur
Commentaire de tiwy57 le 24/01/2009 14:27:10

Une simple mise a jour, mais j'ai posté deux fois désolé -_-

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Probléme avec GET_PAGE [ par matrixscript59 ] donc voicie mon probléme quand je regarde les commentaire de mais news  il veut pas me affiché la page 2 ou 3 etc... quand je clic sur 2 il me envoye problème php/mysql [ par nicomilville ] Bonjour j'ai une page qui doit normalement m'afficher le contenu de ma table "news" mais ça ne marche pas !!!Dans ma table "news" il y a 4 champs : "i tableau php [ par pronostic ] Bonjour, je souhaite savoir comment affichier les données ci après sous forme de tableauMerci d'avance     &lt;?php       include ('mysql_connect.ph Formulaire php mysql [ par renouveaux ] Je suis en train de realiser un formulaire de reservation, gerer par un admin, et j'ai un petit soucis.j'ai une page nommée fiche.php, qui reprend des Souci pour un affichage multipage [ par smitchel ] Salut tout le monde, voila j'ai essayer de créer un systeme de news avec un affichage multipage (pas terminé encore) dans l'ensemble j'ai reussi a fai Genérer des graph php a partir de MYSQL? [ par El_Diablo666 ] Salut, Je cherche a générer des graph php (camembére, batton, courbe,...) a partir d'une table MYSQL déja existante...! en réalité, je réalise un an XML dynamique avec php [ par kingsaiz ] voila je fais un xml à la volée avec une page php Resultat du xml avec mon code php &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;photoalbum&gt; &l php + mysql lecture d'une base [ par c3dr1q ] Bonjour à tous,Je ne m'y connais pas vraiment en PHP mais devant reprendre le script d'un ancien collègue je me bute sur php et mysql.J'ai une base My php et sql [ par fatatra ] bonjour;j'essaie de rentrer des données dans ma bases a partir d'un formulaire.Ce queje fais c'est que je recupére les variable 'post' pour les mettre Super débutant MSQLi [ par ydu ] Bonjour tout le monde,Avant tout je tiens a vous préciser, je suis un SD "Super Débutant". En effet, je me suis fourni PHP &amp; Mysql pour les nuls.M


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.