Un bon ptit forum en php

Soyez le premier à donner votre avis sur cette source.

Vue 40 348 fois - Téléchargée 6 845 fois

Description

vouala, le forum est en PHP, pour modifier la charte graphique, faut mettre le nez dans le code, et pour info, je l'ai dévellopé et mi au point en 3 - 4 heures ! chui assez fier de moi

N'OUBLIEZ PAS DE MODIFIER LA LIGNE $db pour que ça sois compatible avec votre serveur MySQL

Testé sur un serveur Apache sous Win2000 (mon pc koi !) avec EasyPHP 1.5, sous IE 5.5 & Netscape 6.2.1 (perso je préfère Netscape !)

NOUVELLE VERSION, tout le forum dans 1 SEUL fichier PHP (juste 1 feuille de style externe!)
N'oubliez pas d'inspecter le code, pour adapter à votre situation (Mot de passe et autres login, notamment dans la zone d'administration)

Le foorum retourne maintenant les messages avec la mise en page entrée au moment de la frappe [retour chariots]

Source / Exemple :


Code du fichier forum.php :

<?
echo "<link rel=\"stylesheet\" href=\"forum.css\">";
echo "<body bgcolor=\"#558CAA\">";

if(empty($action))
          {
          $action=listsujet;
          }

###########################
#                                                        #
#          Forum PHP                              #
#                                                        #
#                    Copyright © 2001          #
#                                                        #
#                                        Lissyx       #
#                                                        #
###########################

$db = mysql_connect("SERVEUR MYSQL","LogIn MySQL","Mot De Passe MySQL");
mysql_select_db("Base MySQL",$db);

if($action=='listsujet')
          {
          if(empty($start))
                    {
                    $start=0;
                    }
          if(empty($stop))
                    {
                    $stop=10;
                    }

          $Subj = mysql_query("SELECT * FROM sujets ORDER By DateHeure Desc LIMIT $start,$stop");

          $Ress = mysql_numrows($Subj);

          if($Ress!='0')
                    {

                    ?>
                    <center>
                    <table bgcolor="#5263de" border="0" width="80%" cellpadding="4" cellspacing="0" style="border-width:1; border-top-color:white; border-right-color:black; border-bottom-color:black; border-left-color:white; border-style:solid;">
                    <tr>
                                 <td width="85%" style="border-width:1; border-top-color:white; border-right-color:black; border-bottom-color:black; border-left-color:white; border-style:solid;">
                                           <font size="5" color="#FFFF00"><center>Liste des sujets de discussion (<? echo $Ress; ?>)</center></font>
                                 </td>

                                 <td width="15%" style="border-width:1; border-top-color:white; border-right-color:black; border-bottom-color:black; border-left-color:white; border-style:solid;">
                                           <center>
                                           <font color="#FFFF00">
                                           Nombre de réponse(s) au sujet
                                           </font>
                                           </center>
                                 </td>
                       </tr>

                    <?

                    $i=0;
                    WHILE($Ress!=$i)
                              {
                              $Sujet = mysql_result($Subj,$i,"NomSujet");

                              $RecupNbrMsg = mysql_query("SELECT * FROM `".$Sujet."`");
                              $NbrMsg = mysql_numrows($RecupNbrMsg);
                              if($NbrMsg!='0')
                                        {
                                        $NbrMsg=$NbrMsg-1;
                                        }
                              if($NbrMsg=='0')
                                        {
                                        $NbrMsg=$NbrMsg;
                                        }

                       ?>

                       <tr>
                                 <td bgcolor="#DEDFDF" width="85%" style="border-width:1; border-top-color:white; border-right-color:black; border-bottom-color:black; border-left-color:white; border-style:solid;">
                                           &nbsp;<b><a href="?action=voir&KelSujet=<? echo $Sujet;?>"><? echo $Sujet;?></a></b>
                                 </td>

                                 <td width="15%" style="border-width:1; border-top-color:white; border-right-color:black; border-bottom-color:black; border-left-color:white; border-style:solid;">
                                           <center>
                                           <font color="#FFFF00">
                                           <? echo $NbrMsg; ?>
                                           </font>
                                           </center>
                                 </td>
                       </tr>

                       <?

                    $i=$i+1;
                    }

                    echo "</table>";
                    $i=0;
                    $Page=1;
                    $APage=$stop/10;

                    echo "<p align=\"center\"><font color=\"FFFF00\">Navigation : ";
                    WHILE($Ress > $i)
                              {
                              $i2=$i+10;
                              $i3=$i2/10;

                              if($i3 == $APage)
                                        {
                                        echo $Page." ";
                                        }
                              elseif($i3 != $APage)
                                        {
                                        echo "<a href=\"?action=listsujet&start=$i&stop=$i2\">$Page</a> ";
                                        }

                              $Page=$Page+1;
                              $i=$i+10;
                              }
                    echo "</p>";
                    echo "[ <a href=\"?action=formajoutsubj\">Nouveau Sujet</a> - <a href=\"forum.php?action=form_inscription\">Inscription</a> - <a href=\"?action=admin\">Administration</a> ]";
                    echo "</center></font>";
                    }
          else
                    {
                    echo "<a href=\"?action=formajoutsubj\">Nouveau Sujet</a> - <a href=\"forum.php?action=form_inscription\">Inscription</a></center></font> - <a href=\"?action=admin\">Administration</a> ]";
                    }

          }

if($action=='voir')
          {
          if(empty($start))
                    {
                    $start=0;
                    }
          if(empty($stop))
                    {
                    $stop=15;
                    }

          $Aff = mysql_query("SELECT * FROM `$KelSujet` LIMIT $start,$stop");

          $Res = mysql_numrows($Aff);

          $i=0;
          WHILE($Res!=$i)
                 {
                       $Nom = mysql_result($Aff,$i,"Nom");
                       $Mail = mysql_result($Aff,$i,"Email");
                       $Titre = mysql_result($Aff,$i,"Titre");
                       $D = mysql_result($Aff,$i,"Date");
                       $H = mysql_result($Aff,$i,"Heure");
                       $Message = mysql_result($Aff,$i,"Message");
                       $Message = str_replace( "/\r\n|\n\r|\n|\r/", "<br>",$Message);

                    ?>

                                 <center>
                              <table width="70%" border="0" bordercolor="#5263de" cellspacing="0" cellpadding="4">
                              <tr bgcolor="#5263de">
                                        <td valign="middle" width="15%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                                                  <font SIZE="1" face="Verdana, Arial, Helvetica" color="#ffffff"><b>Auteur</b></font>
                                        </td>
                                        <td valign="middle" width="85%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                                                  <font SIZE="1" face="Verdana, Arial, Helvetica" color="#ffffff"><b>Sujet:&nbsp; <? echo $Titre; ?></b></font>
                                        </td>
                              </tr>
                              <tr bgcolor="#dedfdf">
                                        <td width="15%" valign="top" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                                                  <font color="#000000">
                                                  <a href="mailto:<? echo $Mail;?>" title="Envoyer un email à <? echo $Nom; ?>"><? echo $Nom; ?></a>
                                                  </font>
                                        </td>
                                        <td width="85%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                                                  <font SIZE="2" FACE="Verdana, Arial, Helvetica"><font SIZE="1" color="#5263de" face="Verdana, Arial, Helvetica">Envoyé le <? echo $D." ".$H ;?></font></font><hr>
                                                    <font color="#000000">
                                                    <? echo $Message;  ?>
                                                    </font>
                                        </td>
                              </tr>
                              </table>
                              </center>

                    <?

                    $i=$i+1;
                         }

                    $i=0;
                    $Page=1;
                    $APage=$stop/15;

                    echo "<p align=\"center\"><font color=\"FFFF00\">Navigation : ";
                    WHILE($Res > $i)
                              {
                              $i2=$i+15;
                              $i3=$i2/15;

                              if($i3 == $APage)
                                        {
                                        echo $Page." ";
                                        }
                              elseif($i3 != $APage)
                                        {
                                        echo "<a href=\"?action=listsujet&start=$i&stop=$i2\">$Page</a> ";
                                        }

                              $Page=$Page+1;
                              $i=$i+15;
                              }
                    echo "</p></font>";

              echo "<center><font color=\"#FFFF00\">[ <a href=\"?action=formajoutrep&Sujet=$KelSujet\">Répondre</a> | <a href=\"?action=listsujet\">Retour à la liste des sujets</a> ]</font></center>\n";

          }

if($action=='formajoutrep')
          {
          ?>
          <body bgcolor="#558CAA" text="black" link="black" vlink="black" alink="black">
          <center>
          <form name="Forum" action="forum.php" method="POST">
          <table border="0" width="50%" cellspacing="0" cellpadding="4" bgcolor="#DEDFDF" bordercolor="#5263DE" bordercolordark="#5263DE" bordercolorlight="#5263DE">
              <tr>
                  <td bgcolor="#5263DE" width="100%" colspan="2" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                              <p align="center"><font color="white"><b>Ajout d'une réponse
                              au sujet '<? echo $Sujet;?>'<br>Pour
          poster sur le forum, vous devez être inscrit ! </b></font><a href="?action=form_inscription" target="NewFrame"><b><font color="white">cliquez
          ici</font></b></a><font color="white"><b> pour vous inscrire !&nbsp;</b></font></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Nom : </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><input type="text" name="Nom" size="35"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                              <p align="right">Mot de passe :</p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                              <p align="left"><input type="password" name="pass"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">E-Mail : </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><input type="text" name="Email" size="35"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Titre du message : </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                           <p align="left"><input type="text" name="Titre" size="53"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" valign="top" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Message : </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><textarea name="Message" rows="15" cols="36"></textarea></p>
                  </td>
              </tr>
          </table>
          <input type="hidden" name="action" value="ajoutrep">
          <input type="hidden" name="Sujet" value="<? echo $Sujet; ?>">
          </center>
              <p align="center"><input type="submit" name="Ajout" value="Ajouter"></p>
          </form>
          <?
          }

if($action=='formajoutsubj')
          {
          ?>
          <link rel="stylesheet" href="forum.css">
          <body bgcolor="#558CAA" text="black" link="black" vlink="black" alink="black">
          <center>
          <form name="Forum" action="forum.php" method="POST">
          <table border="0" width="50%" cellpadding="4" cellspacing="0" bgcolor="#DEDFDF" bordercolor="#5263DE" bordercolordark="#5263DE" bordercolorlight="#5263DE">
              <tr>
                  <td bgcolor="#5263de" width="536" colspan="2" bordercolor="#5263DE" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                              <p align="center"><font color="white"><b>&nbsp;Ajout d'un
                              nouveau sujet de discussion sur le forum<br>Pour poster
                              sur le forum, vous devez être inscrit ! </b></font><a href="?action=form_inscription"  target="NewFrame"><b><font color="white">cliquez
                              ici</font></b></a><font color="white"><b> pour vous inscrire
                              !</b></font></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Nom :  </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><input type="text" name="Nom" size="35"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                              <p align="right">Mot de passe :</p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                              <p align="left"><input type="password" name="pass"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Sujet :  </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><input type="text" name="NewSubj" size="35"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">E-mail :  </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><input type="text" name="Email" size="35"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Titre du message :  </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                           <p align="left"><input type="text" name="Titre" size="53"></p>
                  </td>
              </tr>
              <tr>
                  <td width="30%" valign="top" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right"> Message :  </p>
                  </td>
                  <td width="70%" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="left"><textarea name="Message" rows="15" cols="36"></textarea></p>
                  </td>
              </tr>
          </table>
          <input type="hidden" name="action" value="ajoutsubj">
          </center>
              <p align="center"><input type="submit" name="Ajout" value="Ajouter"></p>
          </form>
          <?
          }

if($action=='ajoutrep')
          {
          $user = $Nom;
          $Usr = mysql_query("SELECT * FROM `Usr` WHERE utilisateur LIKE '$user' LIMIT 0,1");
          $Res = mysql_numrows($Usr);

          if($Res=='0')
                    {
                    echo "Utilisateur inconnu!";
                    mysql_close();
                    }
          $i=0;
          while($Res!=$i)
                       {
                       $Utilisateur = mysql_result($Usr,$i,"utilisateur");
                          $MDP = mysql_result($Usr,$i,"mdp");

                                    if($Utilisateur==$user)
                                              {
                                              if($MDP==$pass)
                                                        {
                                                  $Date = date("d-m-Y");
                                                  $Heure = date("H:i");

                                                  $Req = mysql_query("INSERT INTO `$Sujet` (`Nom`, `Email`, `Titre`, `Message`, `Date`, `Heure`) VALUES ('$Nom', '$Email', '$Titre', '$Message', '$Date', '$Heure')");

                                                  if($Req=='true')
                                                            {
                                                            echo "<center>\n";
                                                            echo "Message ajouté...<br>\n";
                                                            echo "</center>\n";
                                                            echo "<script>{location.href=\"?action=voir&KelSujet=$Sujet\"}</script>";
                                                            }
                                                  }
                                        }
                              if($MDP!=$pass)
                                        {
                                        echo "<font color=\"#FFFF00\"><center>Mot de passe incorrect!</center></font>";
                                        }
                              if($Utilisateur!=$user)
                                        {
                                        echo "<font color=\"#FFFF00\"><center>Utilisateur inconnu! respectez la différence MAJUSCULES/minuscules!</center></font>";
                                        echo "<center><a href=\"javascript:history.back(-1)\">Retour</a></center>";
                                        }
                    $i=$i+1;
                    }

          }

if($action=='ajoutsubj')
          {
          $user = $Nom;
          $Usr = mysql_query("SELECT * FROM `Usr` WHERE utilisateur LIKE '$user' LIMIT 0,1");
          $Res = mysql_numrows($Usr);

          if($Res=='0')
                    {
                    echo "Utilisateur inconnu!";
                    mysql_close();
                    }
                    $i=0;

                    while($Res!=$i)
                                 {
                                 $Utilisateur = mysql_result($Usr,$i,"utilisateur");
                                    $MDP = mysql_result($Usr,$i,"mdp");

                                    if($Utilisateur==$user)
                                              {
                                              if($MDP==$pass)
                                                        {
                                                  $Date = date("d-m-Y");
                                                  $Heure = date("H:i");
                                                  $DateHeure = $Date." - ".$Heure;

                                                  $AddSubj = mysql_query("INSERT INTO `sujets` (`NomSujet`, `DateHeure`) VALUES ('$NewSubj', '$DateHeure')");

                                                  $AddTable = mysql_query("CREATE TABLE `$NewSubj` (`Nom` longtext NOT NULL,`Email` longtext NOT NULL,`Titre` longtext NOT NULL,`Message` longtext NOT NULL,`Date` varchar(10) NOT NULL default '',`Heure` varchar(8) NOT NULL default '') TYPE=MyISAM;");

                                                  if($AddTable=='true')
                                                            {
                                                            $Date = date("d-m-Y");
                                                            $Heure = date("H:i");

                                                            $FinalAdd = mysql_query("INSERT INTO `$NewSubj` (`Nom`, `Email`, `Titre`, `Message`, `Date`, `Heure`) VALUES ('$Nom', '$Email', '$Titre', '$Message', '$Date', '$Heure')");

                                                            if($FinalAdd=='true')
                                                                      {
                                                                      echo "<center>";
                                                                      echo "Ajout effectué!<br>";
                                                                      }

                                                                      echo "<a href=\"?action=listsujet\">Liste des sujets de discussion</a>";
                                                                      echo "</center>";
                                                            }
                                                  }

                                        }
                              if($MDP!=$pass)
                                        {
                                        echo "<font color=\"#FFFF00\"><center>Mot de passe incorrect!</center></font>";
                                        }
                              if($Utilisateur!=$user)
                                        {
                                        echo "<font color=\"#FFFF00\"><center>Utilisateur inconnu! respectez la différence MAJUSCULES/minuscules!</center></font>";
                                        echo "<center><a href=\"javascript:history.back(-1)\">Retour</a></center>";
                                        }

                              $i=$i+1;
                              }
          }

if($action=='form_inscription')
          {
          ?>
          <body bgcolor="#558CAA">
          <center>
          <form name="InscriptionForum" action="forum.php" method="POST">
          <table width="60%" cellpadding="0" cellspacing="0">
              <tr>
                  <td width="100%" height="50" colspan="2" bgcolor="#5263DE" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="center"><font color="white"><b>Inscription sur le forum
                          de Lissyx Overclocking !</b></font></p>
                  </td>
              </tr>
              <tr>
                  <td width="50%" height="35" bgcolor="#DEDEDF" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Choisissez votre pseudonyme : </p>
                  </td>
                  <td width="50%" height="35" bgcolor="#DEDEDF" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                       <p>&nbsp;<input type="text" name="User" size="27"></p>
                  </td>
              </tr>
              <tr>
                  <td width="50%" height="35" bgcolor="#DEDEDF" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p align="right">Choisissez votre mot de passe : </p>
                  </td>
                  <td width="50%" height="35" bgcolor="#DEDEDF" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                      <p>&nbsp;<input type="text" name="Mdp" size="27"></p>
                  </td>
              </tr>
                  <tr>
                  <td width="736" colspan="2" bgcolor="#DEDEDF" style="border-width:1; border-color:rgb(82,99,222); border-style:solid;">
                          <p align="center">&nbsp;</p>
                              <input type="hidden" name="action" value="AddToDataBase">
                              <p align="center"><input type="submit" name="Valid" value="Inscription !"></p>
                              <p align="center">&nbsp;</p>
                  </td>
                  </tr>
          </table>
          </form>
          </center>
          <?
          }

if($action=='AddToDataBase')
          {
          $Verif = mysql_query("SELECT * FROM `Usr` WHERE utilisateur LIKE '$User'");

          $NbrPseudo = mysql_numrows($Verif);

                    if($NbrPseudo > 0)
                              {
                              echo "<body bgcolor=\"#558CAA\" text=\"#FFFF00\">";
                              echo "<center>";
                              echo "Enregistrement impossible !<br>Le pseudonyme choisi est déjà utilisé !!";
                              echo "<br><font color=\"#FFFF00\"><a href=\"javascript:history.back(-1)\">Choisir un autre pseudonyme</a></font>";
                              echo "<br><font color=\"#FFFF00\"><a href=\"javascript:close()\">Fermer la fenêtre</a></font>";
                              echo "</center>";

                              exit;
                              }

                    if($NbrPseudo <= 0)
                              {
                              $Add = mysql_query("INSERT INTO `Usr` (`utilisateur`, `mdp`) VALUES ('$User', '$Mdp')");
                              if($Add=='true')
                                        {
                                        echo "<body bgcolor=\"#558CAA\" text=\"#FFFF00\">";
                                        echo "<center>";
                                        echo "Vous vous êtes enregistré avec les paramètres suivants :<br>";
                                        echo "Nom d'utilisateur : ".$User."<br>";
                                        echo "Mot de passe : ".$Mdp."<br>";
                                        echo "Ne perdez pas ces informations !";
                                        echo "<br><font color=\"#FFFF00\"><a href=\"javascript:close()\">Fermer la fenêtre</a></font>";
                                        echo "</center>";
                                        }
                              elseif($Add=='false')
                                        {
                                        echo "<center>Ajout de l'utilisateur non effectué! Veuillez réessayer!</center>";
                                        }
                              }

          }

if($action == 'admin')
    {

    if(empty($zone) && $FromLogOn != true)
       {
       $zone = sommaire;
       }

    if($zone == sommaire)
        {
                  ?>
                  <center>
                   <font color="#FFFF00" face="Verdana" size="6"><p>Section Administration du forum&nbsp;</p></font>
                  </center>
                  <center>
                   <table width="80%">
                    <tr>
                        <td width="100%" valign="middle">
                          <p align="center">
                          <font color="#FFFF00">
                             <form name="LogOn Admin" action="forum.php" method="POST">
                               <p>Nom d'utilisateur : <input type="text" name="Login"></p>
                               <p>Mot de passe : <input type="password" name="Pass"></p>
                               <input type="hidden" name="action" value="admin">
                               <input type="hidden" name="zone" value="logon">
                               <input type="submit" name="ValidLogIn" value="S'indentifier">
                             </form>
                          </font>
                          </p>
                        </td>
                    </tr>
                    <tr>
                        <td width="100%" align="center">
                            <font color="#800000"><b><? echo $Msg ; ?></b></font>
                        </td>
                    </tr>
                   </table>
                  </center>
                  <?
        }

    if($zone == 'logon')
        {
         if($Login != '')
                 {
                  if($Login == 'LOGIN')
                      {
                      if($Pass == 'MOTDEPASSE')
                          {
                          $action = admin;
                          $zone = choix;
                          $FromLogOn = true;
                          $AlReadyLoaded = non;
                          include("forum.php");
                          }
                      }

                  if($Login != 'LOGIN' || $Pass != 'MOTDEPASSE')
                          {
                          $action = admin;
                          $zone = sommaire;
                          $Login = '';
                          $Msg = "Nom d'utilisateur/mot de passe inconnu!";
                          $FromLogOn = false;
                          include("forum.php");
                          }

                 }

        }

    if($zone == 'choix' && $FromLogOn = true && $AlReadyLoaded == 'non')
        {
        $AlReadyLoaded = oui;
        ?>
        <center>
        <font color="#FFFF00" face="Verdana" size="6"><p>Section Administration du forum&nbsp;</p></font>
        <table width="80%>
         <tr>
          <td width="50%" align="center">
              <form name="GoTo_Zone_General" action="forum.php" method="POST">
                    <input type="hidden" name="zone" value="general">
                    <input type="hidden" name="action" value="admin">
                    <input type="submit" name="Goto_Zone_General" value="Administrer les sujets du forum">
              </form>
          </td>
          <td width="50%" align="center">
              <form name="GoTo_Zone_DelUser" action="forum.php" method="POST">
                    <input type="hidden" name="zone" value="DelUser">
                    <input type="hidden" name="action" value="admin">
                    <input type="submit" name="Goto_Zone_DelUser" value="Administrer les utilisateurs du forum">
              </form>
          </td>
         </tr>
        </table>
        <?
        }

    if($zone == 'general')
        {
        if(empty($start))
           {
           $start = 0;
           }
        if(empty($stop))
           {
           $stop = 10;
           }

        $Subj = mysql_query("SELECT * FROM `sujets` ORDER By DateHeure Desc LIMIT $start,$stop");

        $Ress = mysql_numrows($Subj);
         ?>
         <center>
         <font color="#FFFF00" face="Verdana" size="6"><p>Section Administration du forum&nbsp;</p></font>
         <table width="80%">
          <tr>
              <td witdh="85%" align="left">
                  <font color="#FFFF00" face="Verdana">Titre du sujet</font>
              </td>
          </tr>
         <?
        if($Ress!='0')
            {
            $i=0;
            WHILE($Ress!=$i)
                   {
                   $Sujet = mysql_result($Subj,$i,"NomSujet");
                   ?>
                   <tr>
                    <td width="85%">
                         <a href="?action=voir&KelSujet=<? echo $Sujet ; ?>" target="NewFrame"><? echo $Sujet ;?></a>
                    </td>
                    <td width="15%">
                         <form name="DelSubj:<? echo $Sujet ;?>" action="forum.php" method="POST">
                          <input type="submit" name="Suppr" value="Supprimer le sujet">
                          <input type="hidden" name="action" value="admin">
                          <input type="hidden" name="zone" value="DelSubj">
                          <input type="hidden" name="Sujet" value="<? echo $Sujet ;?>">
                         </form>
                     </td>
                   <?
                   $i++;
                   }
                   ?>
                   </tr>
                   </table>
                   <?

                    $i=0;
                    $Page=1;
                    $APage=$stop/10;

                    echo "<p align=\"center\"><font color=\"FFFF00\">Navigation : ";
                    WHILE($Ress > $i)
                              {
                              $i2=$i+10;
                              $i3=$i2/10;

                              if($i3 == $APage)
                                        {
                                        echo $Page." ";
                                        }
                              elseif($i3 != $APage)
                                        {
                                        echo "<a href=\"?action=admin&zone=general&start=$i&stop=$i2\">$Page</a> ";
                                        }

                              $Page=$Page+1;
                              $i=$i+10;
                              }
                    echo "</p></font>";

            }

        }

       if($zone == 'DelSubj')
           {

           if($ConfirmDel != 'true')
               {
               $RecupDateHeure = mysql_query("SELECT * FROM sujets WHERE `NomSujet` LIKE '$Sujet'");
               $ResDateHeure = mysql_numrows($RecupDateHeure);
               $DateHeure = mysql_result($RecupDateHeure,$i,"DateHeure");
               ?>
               <center>
               <font color="#FFFF00" face="Verdana" size="6"><p>Section Administration du forum&nbsp;</p></font>
               Êtes vous sûr de vouloir supprimer le sujet nommé '<? echo $Sujet ;?>' ?
               <form name="ConfirmDel" action="forum.php" method="POST">
                     <input type="hidden" name="Sujet" value="<? echo $Sujet ;?>">
                     <input type="hidden" name="ConfirmDel" value="true">
                     <input type="hidden" name="action" value="admin">
                     <input type="hidden" name="zone" value="DelSubj">
                     <input type="hidden" name="DateHeure" value="<? echo $DateHeure ;?>">
                     <p>&nbsp;</p>
                     <input type="submit" name="ValidSuppr" value="Oui je décide de supprimmer le sujet '<? echo $Sujet ;?>'">
               </form>
               </center>
               <?
               }
           if($ConfirmDel == 'true')
               {
                $Del = mysql_query("DELETE FROM sujets WHERE `NomSujet`='$Sujet' AND `DateHeure`='$DateHeure'");
                $DelTable = mysql_query("DROP TABLE `$Sujet`");

                if($Del == '1')
                    {
                    echo "<cenetr>Le sujet '$Sujet' a été supprimé avec succès !<br>";
                    echo "<a href=\"?action=admin&zone=choix&FromLogOn=true&AlReadyLoaded=non\">Retour à d'administration du forum</a></center>";
                    }
                if($Del == '0')
                    {
                    echo "<center>Erreur!<br>";
                    echo "<a href=\"javascript:history.back(-1)\">Retour</a></center>";
                    }
               }
           }

       if($zone == 'DelUser')
           {
           if($DoSuppr != 'true')
           {
           if(empty($start))
              {
              $start = 0;
              $stop = 30;
              }

              $ReqListUsr = mysql_query("SELECT * From `Usr` LIMIT $start,$stop");
              $ResListUsr = mysql_numrows($ReqListUsr);
              $Ress = $ResListUsr;
               ?>
               <center>
               <font color="#FFFF00" face="Verdana" size="6"><p>Section Administration du forum&nbsp;</p></font>
               <font color="#FFFF00">
               <table width="60%">
               <?
              $i=0;
              while($ResListUsr > $i)
                    {
                    $User = mysql_result($ReqListUsr,$i,"utilisateur");
                    $Mdp = mysql_result($ReqListUsr,$i,"mdp");
                    ?>

                           <tr>
                              <td width="50%" valign="middle">
                                  <center><font color="#FFFF00"><? echo $User ;?></font></center>
                              </td>
                              <td width="50%">
                                  <p align="center">
                                      <form name="DelUser" action="forum.php" method="POST">
                                            <input type="hidden" name="action" value="admin">
                                            <input type="hidden" name="zone" value="DelUser">
                                            <input type="hidden" name="DoSuppr" value="true">
                                            <input type="hidden" name="User" value="<? echo $User; ?>">
                                            <input type="submit" name="ValidDel" value="Supprimer">
                                      </form>
                                  </p>
                              </td>
                    <?
                    $i++;
                    }
                    ?>
                    </tr>
                    </table>
                    </font>
                    </center>
                    <br>
                    <?

                    $i=0;
                    $Page=1;
                    $APage=$stop/30;

                    echo "<p align=\"center\"><font color=\"FFFF00\">Navigation : ";

                    WHILE($Ress > $i)
                           {
                           $i2=$i+30;
                           $i3=$i2/30;

                           if($i3 == $APage)
                               {
                               echo $Page." ";
                               }
                           elseif($i3 != $APage)
                                   {
                                   echo "<a href=\"?action=admin&zone=DelUser&start=$i&stop=$i2\">$Page</a> ";
                                   }

                           $Page=$Page+1;
                           $i=$i+30;
                           }
                    echo "</p></font>";
                    }

                    if($DoSuppr == 'true')
                        {
                        $GetMDP = mysql_query("SELECT * FROM `Usr` WHERE `utilisateur` = '$User' LIMIT 0,1");
                        $ResGetMDP = mysql_numrows($GetMDP);

                        $UserToDel = $User;
                        $i=0;
                        while($ResGetMDP > $i)
                               {
                               $MdpToDel = mysql_result($GetMDP,$i,"mdp");
                               $i++;
                               }

                        $Del = mysql_query("DELETE FROM `Usr` WHERE `utilisateur` = '$UserToDel' AND `mdp` = '$MdpToDel'");

                        if($Del == '1')
                            {
                            echo "<center>Utilisateur '$UserToDel' supprimé !<br>";
                            echo "<a href=\"?action=admin&zone=choix&FromLogOn=true&AlReadyLoaded=non\">Retour au sommaire de l'administration</a></center>";
                            }
                        if($Del == '0')
                           {
                            echo "<center>Erreur !<br>";
                            echo "<a href=\"javascript:history.back(-1)\">Retour</a></center>";
                            }

                        }
           }
    }

?>

Tables nécessaires : 
- 1 table sujets avec :
   - 1 Champ NomSujet en LongText
   - 1 Champ DateHeure en VarChar de 18 de long
- 1 table Usr avec :
   - 1 Champ utilisateur en LongText
   - 1 Champ mdp en LongText

Conclusion :


ce forum est utilisé sur mon site (www.lissyx-overclocking.fr.st, dans 'soutien&autres, clicker 'forum').
Le système de protection peut être enlever. Si vous avez du mal, n'hésitez pas à me contacter !

Il seras aussi utiliser sur le prochain site de Bunnys 007 (il a pas encore décidé de l'url)

il est également utilisé sur le site de Projet S.E.R.Hu.M [www.serhum.fr.st]

Ceci est la dernière version, elle comporte une zone d'administration sobre, mais efficace
accessible par forum.php?action=admin

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Lissyx
Messages postés
40
Date d'inscription
lundi 7 mai 2001
Statut
Membre
Dernière intervention
12 août 2003

Excusez pour la longueur de la source :)
aftag
Messages postés
18
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
28 mars 2003

slt
je ss débutant et je comprend un peu le source
jé essayer ton forum mais il s'avère que "forum.php?action=admin" ne marche pas et k kd jé plus de 30 messages la 2ème page ne marche pas. Donc je doit faire kel modif merci de votre réponse

Aftag
revinc
Messages postés
385
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
19 décembre 2017

pfff encore un truc buggé à mort
Magicking
Messages postés
195
Date d'inscription
vendredi 13 octobre 2000
Statut
Membre
Dernière intervention
8 juillet 2004

kler
quant on veut faire un truc il faut qu'il soit adaptable facilement
Genius2k3
Messages postés
4
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
29 mai 2003

bah moi je dis bravo meme si ca comporte k erreur
raler pas kan y'a des erreur c du gratos la les mecs alors faut faire avec ,et pis pk pas aider le develloppeur pour l'aider a coriger c erreurs ???
continu comme ca lissyx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.