Un bon ptit forum en php

Soyez le premier à donner votre avis sur cette source.

Vue 41 977 fois - Téléchargée 7 168 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

Messages postés
2
Date d'inscription
mardi 6 janvier 2009
Statut
Membre
Dernière intervention
29 janvier 2009

merci a l avance
Messages postés
1
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
2 mars 2006

Bien, je l'ai essayé et c'est très bien... sauf que pour les admins pour le forum, comment on fait pour les mettre admin? Comment faire pour pouvoir y acceder ou plus simplement, comment faire pour s'inscrire comme admin sur notre site?
Messages postés
10
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2006

Bonjour,

Je te ferai pas l'affront de te demander les tables, ni d'épiloguer sur le temps qu'il convient de passer sur un script pour prétendre en faire bénéficier les autres... franchement, en guise de tutorial pour moi qui n'y connais pourtant pas grand chose, ça se pose là ! Mais si j'ai pu l'intégrer à mon interface graphique, ce qui m'ennuie le plus, c'est que la navigation ne fonctionne pas... Même si dépasser les 10 sujets me semble irréaliste en l'espèce, j'aurais aimé m'assurer que ça marche...

probable que ça vient de la partie :

$i=$i+1;
}

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

echo "Navigation : ";
WHILE($Ress > $i)
{
$i2=$i+10;
$i3=$i2/10;

if($i3 == $APage)
{
echo $Page." ";
}
elseif($i3 != $APage)
{
echo "$Page ";
}

$Page=$Page+1;
$i=$i+10;
}

Suis allée voir sur ton site si t'avais paré au bug, mais y a pas le nombre d'entrées de toute manière

Merci de répondre si tu peux...
Messages postés
228
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
27 novembre 2013

salut on ce trouve les table de ton aplication
Messages postés
116
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
4 janvier 2009

Ah ben c'est cool ca fait plèz de savoir que t'as progresser ;). Un dernier conseil (si ce n'est déjà acquis depuis) : essayes de coder entièrement en anglais (fichiers, variables, comments) si tes sources sont amenées à être dispo sur le web.

Dans le domaine de la prog, la plupart des portions de code et la documentation sont en anglais. Et pis c'est un bon moyen d'apprendre la langue de Shakespears (pardon pour l'orthographe).

Sinon perso j'ai abandonné le PHP car je trouve ce langage un peu trop "permissif" à mes yeux. Je retourne au bon vieux C++ avec lequel on peut tellement faire de belles choses avec ses ptites mimines :)

Bon jvais me coucher jsui claké, bonne nuit les enfants ...

Nico.
Afficher les 30 commentaires

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.