begin process at 2012 05 27 21:28:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > FORUM EN PHP + FICHIERS TEXTES ET SONDAGE + MYSQL

FORUM EN PHP + FICHIERS TEXTES ET SONDAGE + MYSQL


 Information sur la source

Note :
4 / 10 - par 6 personnes
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Classé sous :forum, php, texte, sondage Niveau :Débutant Date de création :24/12/2005 Date de mise à jour :27/12/2005 22:27:26 Vu / téléchargé :24 876 / 2 352

Auteur : syllebreton

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Le forum n'est pas prévu pour un nombre très important d'utilisateurs mais il suffit largement a un site perso qui ne gère pas le MySQL. Effectivement le forum fonctionne en grande partie par fichiers textes. Je souhaitais faire se forum avec des fichiers textes car la grande majorité des forums que l'on trouve en téléchargement ont besoin d'une base de donnée ou ne sont pas suffisamment évolué quand il fonctionnent uniquement sur fichiers textes.

Il y a tout de même une exception, les sondages sont mis en oeuvre à l'aide de MySQL car leurs gestions en fichier textes est assez complexe.

Source

  • <?php
  • //Appel de la session : il ne doit rien avoir avant ceci !
  • session_start ();
  • ?>
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • <html>
  • <head>
  • <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  • <title>Forum</title>
  • </head>
  • <body bgcolor="#FF9900">
  • <div align="center">
  • <table width="70%" border="0">
  • <tr>
  • <th scope="col"><a href="indexforum.php" target="mainFrame" title="Acceuil du forum">Accueil</a></th>
  • <th scope="col"><a href="quest.php" title="Poster un nouveau sujet">Poster un nouveau sujet</a></th>
  • <?php
  • //Appel du fichier incript.inc.php pour modifier le menu si on accede au site avec un compte admin
  • include ("../inc/inscript.inc.php")
  • ?>
  • </tr>
  • </table>
  • <!-- Corps de la page -->
  • <?php
  • // Récupération de la liste des messages
  • $fp = fopen ( "../messages/list","r" );
  • echo '<table width="90%" border="0" cellspacing="20">
  • <tr>
  • <td width="168">Sujet</td>
  • <td width="168"><center>Nombre de réponses</center></td>
  • <td width="168" align="center">Auteur</td>
  • <td width="168"> ';
  • echo $suppression ;
  • echo '</td>
  • </tr>
  • </table>';
  • while (!feof ($fp)) // tant que pas en fin de fichier
  • {
  • $lecture = fgets($fp, 4096); // stockage dans $lecture
  • $donnee=explode("*",$lecture); // parsing des données basé sur "*")
  • $combien=count($donnee); // nbre d'éléments séparés par "*"
  • for ($i=0;$i<=($combien-2);$i++)
  • {
  • $rep = fopen( '../messages/posts/'.$donnee[$i] , "r" );
  • while (!feof ($rep)) { // tant que pas en fin de fichier
  • $contenu_rep = fgets ( $rep , 4096 );
  • $donnee_rep= explode("*",$contenu_rep); // parsing des données basé sur "*")
  • $combien_rep = count($donnee_rep); // nbre d'éléments séparés par "*"
  • }
  • echo '<table width="90%" border="0" cellspacing="20">
  • <tr>
  • <td width="168">
  • <form name="form1" method="post" action="lire.php">
  • <input name="sujet" type="hidden" value="'.$donnee[$i].'">
  • <input type="submit" name="Submit" value="'.$donnee[$i].'">
  • </form>
  • <td width="168"><center>'.($combien_rep-2).'</center></td>';
  • $fp_acceuil = fopen( '../messages/acceuil/'.$donnee[$i] , "r" );
  • $contenu_acceuil = fgets ( $fp_acceuil , 4096 );
  • fclose ( $fp_acceuil );
  • echo ' <td width="168"><div align="center">'.$contenu_acceuil.'</div></td>
  • <td width="168"><div align="center">';
  • if (ereg ( $membre.'\*' , $contenu_admin )) { //Pour les adminnistrateurs un menu spécial
  • echo '<form name="form1" method="post" action="suppr_message.php">
  • <input name="sujet" type="hidden" value="'.$donnee[$i].'">
  • <input type="submit" name="Submit" value="Supprimer message">
  • </form>
  • </div>';
  • }
  • else {
  • }
  • echo ' </td>
  • </tr>
  • <table width="702" border="0">
  • <tr>
  • <td> </td>
  • <td > </td>
  • <td > </td>
  • </tr>
  • </table>
  • <tr>
  • <td> </td>
  • <td> </td>
  • <td> </td>
  • <td> </td>
  • </tr>
  • </table>';
  • }
  • }
  • fclose ($rep);
  • fclose ($fp);
  • ?>
  • </div>
  • </body>
  • </html>
<?php
//Appel de la session : il ne doit rien avoir avant ceci !
session_start ();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Forum</title>
</head>

<body bgcolor="#FF9900">

<div align="center">
<table width="70%"  border="0">
  <tr>
    <th scope="col"><a href="indexforum.php" target="mainFrame" title="Acceuil du forum">Accueil</a></th>
    <th scope="col"><a href="quest.php" title="Poster un nouveau sujet">Poster un nouveau sujet</a></th>
	<?php
	//Appel du fichier incript.inc.php pour modifier le menu si on accede au site avec un compte admin
	include ("../inc/inscript.inc.php")
	?>
  </tr>
</table>

<!-- Corps de la page -->

<?php

// Récupération de la liste des messages
$fp = fopen ( "../messages/list","r" );

echo '<table width="90%" border="0" cellspacing="20">
		 <tr>
		   <td width="168">Sujet</td>
		   <td width="168"><center>Nombre de réponses</center></td>
		   <td width="168" align="center">Auteur</td>
 		   <td width="168"> ';

echo $suppression ;
		   
echo '</td>
	  </tr>
	  </table>';

while (!feof ($fp))          	// tant que pas en fin de fichier
	{

$lecture = fgets($fp, 4096); 	// stockage dans $lecture
$donnee=explode("*",$lecture);  // parsing des données basé sur "*")

$combien=count($donnee); 		// nbre d'éléments séparés par "*"

	for ($i=0;$i<=($combien-2);$i++)
		{

$rep = fopen( '../messages/posts/'.$donnee[$i] , "r" );
while (!feof ($rep))	{          	// tant que pas en fin de fichier
$contenu_rep = fgets ( $rep , 4096 );
$donnee_rep= explode("*",$contenu_rep);  // parsing des données basé sur "*")

$combien_rep = count($donnee_rep); 		// nbre d'éléments séparés par "*"
}

echo '<table width="90%" border="0" cellspacing="20">
		  <tr>
		  <td width="168">
		  <form name="form1" method="post" action="lire.php">
          <input name="sujet" type="hidden" value="'.$donnee[$i].'">
      	  <input type="submit" name="Submit" value="'.$donnee[$i].'">
    	  </form>
		  <td width="168"><center>'.($combien_rep-2).'</center></td>';

$fp_acceuil = fopen( '../messages/acceuil/'.$donnee[$i] , "r" );
$contenu_acceuil = fgets ( $fp_acceuil , 4096 );
fclose ( $fp_acceuil );

echo '	   <td width="168"><div align="center">'.$contenu_acceuil.'</div></td>
 		   <td width="168"><div align="center">';

if (ereg ( $membre.'\*' , $contenu_admin ))	{	//Pour les adminnistrateurs un menu spécial
echo '<form name="form1" method="post" action="suppr_message.php">
	  	<input name="sujet" type="hidden" value="'.$donnee[$i].'">
	  	<input type="submit" name="Submit" value="Supprimer message">
      </form>
     </div>';
}

else	{
}
	
echo '	   </td>
 		 </tr>
		 <table width="702"  border="0">
  <tr>
    <td> </td>
    <td > </td>
    <td > </td>
  </tr>
</table>
		 <tr>
		  <td> </td>
		  <td> </td>
		  <td> </td>
		  <td> </td>
		 </tr>
	  </table>';
	
	
	}
	
}

fclose ($rep);

fclose ($fp);

?>

</div>
</body>
</html>

 Conclusion

Pour tester le forum rendez vous sur : http://sylvain29.perso.cegetel.net/myforum/

Suive z les mises a jour sur :
http://sylvain29.perso.cegetel.net/informatique/ creations/myforum.htm

Liste des bugs :

Aucun pour le moment mais l'accès à la base avec "mysql" est a vérifier. J'utilise perso l'accès "mysqli".

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

24 décembre 2005 16:58:50 :
Mise a jour du zip.
27 décembre 2005 22:27:27 :
Correction des balises <?php suivant les conseils de coucou747

 Sources du même auteur

Source avec Zip Source avec une capture CHAT AJAX ET FICHIERS

 Sources de la même categorie

INSPECTEUR DE PAGES (VÉRIFIEZ SI DES SITES AFFICHENT UN TEXT... par pablo836
Source avec Zip Source avec une capture GÉOLOCALISATION par pgl10
Source avec Zip TAPI : METTRE EN RELATION DEUX POSTES TELEPHONIQUES par ravery
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip VALIDATEUR_3WC par lezj

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FORUM PERSO EN PHP par David78390
Source avec Zip PDS-PERTINENCE par bcmfr
Source avec Zip PDS-SONDAGES par bcmfr
SONDAGE - VOTE - POLL (AVEC MYSQL) par hornet_bzz
Source avec Zip Source avec une capture SONDAGE SIMPLE - SANS BDD - CLASSE PHP - PROTECTION IP + CO... par mdall

Commentaires et avis

Commentaire de coucou747 le 24/12/2005 19:42:16 administrateur CS

salut

j'ai lu que le code présent sur cette page, il est relativement mal codé :
<?php doit être utilisé à la place de <?
tu ne fais pas de vérifications d'ouvertures ou de fermetures de fichier...
tu devrais utiliser file_get_contents à la place de tes fgets...
et sinon, tu devrais utiliser plus de CSS et moins d'attributs html

Commentaire de syllebreton le 27/12/2005 22:30:58

Merci de tes conseils.
Je vait essayer de les suivre si je trouve le temps necessaire...

Commentaire de coucou747 le 28/12/2005 14:02:09 administrateur CS

include ("../inc/inscript.inc.php")
mets des simples guillemets ici ! ils sont plus rapides d'exécution...

fclose ($rep);
fclose ($fp);

toujours pas de or die();

et ton html n'est pas propre... width="168"

Commentaire de PCPT le 18/11/2007 10:35:28 administrateur CS

merci de remonter le niveau est étant constructif !
(je parle pour les 3 commentaires que j'ai supprimé)

Commentaire de coucou747 le 18/11/2007 15:03:35 administrateur CS

...
le gros up de deux ans... tu crois vraiment qu'on se souvient de chaque post ?

Commentaire de PCPT le 18/11/2007 15:26:16 administrateur CS

j'ai pas regardé les dates ^^

Commentaire de syllebreton le 19/11/2007 16:05:01

De toute façon, ma source n'est pas vraiement bonne... Ou plutot très nulle même. C'était ma première grosse source et je n'en suis pas fier aujourd'hui ^^.

Bonne journée à tous

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment afficher le contenu d'un fichier texte dans une page? [ par truckracing ] Bonjour. Je débute tout juste dans le PHP, et j'ai déjà un pb...Je suis en train de traduire mon site (www.coursesdecamions.com) en anglais, et j'ai d Splitter un texte en nombres [ par JMGR ] Je cherche à stocker les forum déja vus par les utilisateurs d'un forum que je crée, mais je ne désire pas utiliser le cookies qui sont je trouve, com y'a personne sur ce forum :( [ par skrol29 ] Je suis suir le forum VB et PHP.Mais alors sur le forum PHP y'a rarement quelqu'un.Vous avez une autre adresse ou c'est simplement qu'il y a peu de dé Créer un forum en PHP [ par DEL ] j'aimerai créer un forum en php, si quelqu'un pourrait m'expliquer comment faire pas à pas (soyez patients ^_^), si possible par messages instantanés, forum php [ par eryk17 ] je suis en trtain de faire un forum en php mais le problem c'est que je ne sais pas afficher tous les les messages sur plusieurs pages. Par exemple qu Php, traitement de fichiers texte [ par apz ] salut a tous,qqn peut me filer une astuce sur comment traiter un fichier texte ligne par ligne et caractere par carectere avec php.Merci :)----------- textarea [ par eax ] salut!je viens poser une question qui n'a aucun rapport avec le php, mais on ne sait jamais :je voulais juste savoir comment faire pour mettre différe Forum PHP [ par nicolas66 ] J'aimerai juste savoir comment on peut faire des réponses à d'autres messages ds un forum, faudrat-il envisager d'utiliser 2 tables ? une peut etre po Prise en compte d'un cookie et rafraichissement fenêtre [ par joel64 ] bonjour,merci à celui ou celle qui me donnera la solution au problème suivant.il s'agit d'un script php de sondage qui affiche la possibilité de vote variable string en PHP [ par alainj ] Bonjour, Je récupére du texte a partir d'un champ de formulaire que je stocke dans une variable.Cette variable fait partie du texte d'un mail.lorque l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales