Statistiques| Inscription| Espace privé
Développement Web
Accueil > PHP/MySQL > Un forum > Les scripts PHP
Le plan Les galeries
Dernière mise à jour :
vendredi 15 mai 2009
Contact
Webmestre
olivier ramos
ParamSPIP
Agenda
<<   Avril 2024   >>
Lu Ma Me Je Ve Sa Di
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5



entete.php
 
 
 
 
<?php
session_start();

//Ce script  est le début de toutes les pages (hormis celles d'administration).
//Selon les information récupérees dans l'url, on s'aiguillera  vers :
//   - la page d'accueil,
//   - la page d'accueil des forums,
//   - la page d'un forum particulier,
//   - la page d'un fil particulier,
//   - la page permettant d'écrire un nouveau fil.

// En cas de fin, on détruit les variables d'identification.
if (isset($_REQUEST['fin'])){
unset($_SESSION['usager_id']); unset($_SESSION['adminconnect']);}

//On identifie le type de page grâce à l'url.
if ((isset($_REQUEST['forum_id']))and ($_REQUEST['forum_id']!="0")){
if (isset($_REQUEST['ecrire'])){
$_SESSION['forum_id']=$_REQUEST['forum_id'];
$pagefor="ecrire";
}
else{
$_SESSION['forum_id']=$_REQUEST['forum_id'];
$pagefor="forum";
}
}
elseif (isset($_REQUEST['fil_id'])){
$_SESSION['fil_id']=$_REQUEST['fil_id'];
$pagefor="fil";
}
elseif ((isset($_REQUEST['accueilforum'])) or ($_REQUEST['forum_id']=="0")){
$pagefor="accueilforum";
$_SESSION['forum_id']=0;
}
else {
$pagefor="accueil";
}

//Connexion à la base de données
include('connectdb.php');

// Selon le type de page, on initialise les  variables contenant le titre $reponsetableau['titre'] , l'en-tête $reponsetableau['entete'] ,  
// l'introduction $reponsetableau['intro'], la modération  $reponsetableau['mode'] et la couleur $reponsetableau['couleur'].
if (($pagefor=="forum")or($pagefor=="ecrire")){  
$reponse = @mysql_query("SELECT * FROM forums WHERE forum_id='".$_SESSION['forum_id']."'");
$reponsetableau = @mysql_fetch_array($reponse);
$_SESSION['mode']=$reponsetableau['mode'];
$_SESSION[couleur]=($reponsetableau['couleur']?$reponsetableau['couleur']:"B");
$couleur=$_SESSION[couleur];
}
elseif ($pagefor=="fil"){
$reponse1= @mysql_query("SELECT titre FROM fils, messages WHERE fils.fil_id=messages.fil_id
AND fils.fil_id='".$_SESSION['fil_id']."' AND messages.parent_id='0' ORDER BY DATE DESC"  );
$reponsetableau = @mysql_fetch_array($reponse1);
$reponse2= @mysql_query("SELECT forum_id FROM fils WHERE fil_id='".$_SESSION['fil_id']."'");
$forumid= @mysql_fetch_array($reponse2);
$_SESSION['forum_id']=$forumid['forum_id'];
$reponse3= mysql_query("SELECT mode,couleur FROM forums WHERE forum_id='".$_SESSION['forum_id']."'");
$mod= @mysql_fetch_array($reponse3);
$_SESSION['mode']=$mod['mode'];
$_SESSION[couleur]=($mod['couleur']?$mod['couleur']:"B");
$couleur=$_SESSION[couleur];
}
elseif ($pagefor=="accueilforum"){
$reponse = @mysql_query("SELECT * FROM forums WHERE place='0'");
$reponsetableau = @mysql_fetch_array($reponse);
$couleur=($reponsetableau['couleur']?$reponsetableau['couleur']:"B");
}
else {
$reponse = @mysql_query("SELECT * FROM forums WHERE place='-1'");
$reponsetableau = @mysql_fetch_array($reponse);
$couleur=($reponsetableau['couleur']?$reponsetableau['couleur']:"B");
}

//Dans cette partie, on traite l'enregistrement d'un nouvel utilisateur.
if (($_POST['envoienre']=="Enregistrer") and ( $_SESSION['envoienre']=="ok")) {
$_SESSION['envoienre']="pasok";
$pseudo=$_POST['pseudo'];
$mdp=SHA1($_POST['mdp']);
$email=$_POST['email'];
$reponse= @mysql_query("SELECT COUNT(*) AS total FROM usagers WHERE pseudo='".$pseudo."'"  );
$total=@mysql_fetch_array($reponse);
if ($total['total']!=0){
$_POST['envoienre']="Enregistrement";
$recommencer=true;}
else {
@mysql_query("INSERT INTO usagers VALUES('','$pseudo','$mdp','$email')");
$reponse= @mysql_query("SELECT usager_id FROM usagers WHERE pseudo='".$pseudo."'"  );
$usagerid=@mysql_fetch_array($reponse);
$_SESSION['usager_id']=$usagerid['usager_id'];
}
}

// Ici, on gère la connexion d'un utilisateur déja enregistré.
if (($_POST['envoienre']=="Connecter") and ( $_SESSION['envoiconnect']=="ok")) {
$_SESSION['envoiconnect']="pasok";
$pseudo=$_POST['pseudoc'];
$mdp=SHA1($_POST['mdpc']);

//Le cas de l'administrateur...
if(($_POST['pseudoc']==ADMIN) and ($_POST['mdpc']==MDPADMIN)){
//if(($_POST['pseudoc']==$_SESSION['admin']) and ($_POST['mdpc']==$_SESSION['mdpadmin'])){
if ($_SESSION['adminconnect']!=true){
$_SESSION['adminconnect']=true;
$_SESSION['usager_id']="admin";

// On efface les logos résiduels et on récupère les numéros des logos présents dans la base.
include("initsessionlogo.php");
include("effacelogo.php");
}

//Le cas d'un  connecté qui n'est pas administrateur.
}
else{
$reponse= @mysql_query("SELECT usager_id FROM usagers WHERE pseudo='".$pseudo."' and mdp='".$mdp."'"  );
$usagerid=@mysql_fetch_array($reponse);

//S'il est inscrit, on récupère l'id, sinon on recommence...
if (isset($usagerid['usager_id'])) $_SESSION['usager_id']=$usagerid['usager_id'];
else { $_POST['envoienre']="Connexion";
$recommencer=true;}
}
}
?>  


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">

<head>
<meta http-equiv="Content-Type" content="text/html ; charset=iso-8859-1" />
<title><?php echo htmlentities(stripslashes($reponsetableau['titre'])) ?></title>
<link rel="stylesheet" href="plugins/paramspip/fichiers/<?php echo $_SESSION['dirarticle'] ?>/forum.css" type="text/css" />
<!--[if IE ]>
<link rel= "stylesheet" href= "plugins/paramspip/fichiers/<?php echo $_SESSION['dirarticle'] ?>/forumie.css" type= "text/css" />
<![endif]-->
<!--[if lte IE 6]>
<link rel= "stylesheet" href= "plugins/paramspip/fichiers/<?php echo $_SESSION['dirarticle'] ?>/forumie6.css" type= "text/css" />
<![endif]-->
</head>

<body >
<!-- **************     Le bandeau haut  **************-->
<div class="forphpconteneur <?php echo $couleur ?>">
<div class="forphpbandeau <?php echo $couleur ?>">
<div class="forphptitre <?php echo $couleur."1" ?>">
<?php echo str_replace("  ","&nbsp;",str_replace("\n","<br/>",htmlentities(stripslashes($reponsetableau['titre'])))); ?>
</div>
</div>
<div id="conteneurtexte">

<!-- **************          Le menu  ; accueil, forums...          **************-->
<div id="forphpmenu">
<a href="<?php echo "spip.php?article".$_SESSION['idarticle']."&accueil";?>" class="forphpnavigation">Accueil</a><br/>
<a href="<?php echo "spip.php?article".$_SESSION['idarticle']."&accueilforum";?>" class="forphpnavigation">Forums</a><br/>
<?php
// Retour si on est dans un fil.
if ( $_GET['fil_id']){
echo '<a href="spip.php?article'.$_SESSION['idarticle'].'&forum_id='. $_SESSION['forum_id'].'" class="forphpnavigation">Retour</a><br/>';}
if (isset($_SESSION['usager_id'])){

//Nouveau fil si on est inscrit.
if ( $_REQUEST['forum_id']>0){
echo '<a href="spip.php?article'.$_SESSION['idarticle'].'&ecrire&forum_id='.$_REQUEST['forum_id'].'" class="forphpnavigation">Nouveau fil</a><br/>';}

//Privé si on est administrateur.
if ($_SESSION['adminconnect']==true){ ?>
<a href="<?php echo "plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/admin.php" ?>" class="forphpnavigation">Priv&eacute;</a><br/>
<?php }

//Sortie avec modification de l'url.
if (isset($_GET['forum_id'])) $url="spip.php?article".$_SESSION['idarticle']."&forum_id=". $_GET['forum_id']."&fin";
elseif (isset($_GET['fil_id'])) $url="spip.php?article".$_SESSION['idarticle']."&fil_id=". $_GET['fil_id']."&fin";
elseif (isset($_GET['accueilforum'])) $url="spip.php?article".$_SESSION['idarticle']."&accueilforum&fin";
else $url="spip.php?article".$_SESSION['idarticle']."&fin";
if (defined('MDPFORUM')and (MDPFORUM!='')) $url="spip.php?article".$_SESSION['idarticle']."&fin";
?>
<a href="<?php echo $url ?>" class="forphpnavigation">Sortie</a><br/>
<?php } else {
//Formulaire d'enregistrement.
?>

<form action="spip.php?article<?php echo $_SESSION['idarticle'] ?>"  method="post">
<?php  if ($_POST['envoienre']=="Enregistrement") {
$_SESSION['envoienre']="ok";
?>
<div  class="forphpformenre">
<?php  
if ($recommencer)  echo "<div  class='renreg'> Choisissez un autre pseudo.</div>";
else echo "<div  class='enreg'>Enregistrement</div>";
?>
<div class="forphpconteneurenreg">
Pseudo  <input name="pseudo" type="text" /><br/>
Mot de passe  <input name="mdp" type="password" /><br/>
Email <input name="email" type="text" />
</div>
<input type="submit" class="forphpvalidenr" name="envoienre" value="Enregistrer" />
</div>
<?php  }  else { ?>
<input type="submit"  class="forphpenregistrer" name="envoienre" value="Enregistrement" />
<?php } ?>
</form>
<!--******************** Formulaire de connexion ************************-->
<form action="spip.php?article<?php echo $_SESSION['idarticle'] ?>" method="post">
<?php  if ($_POST['envoienre']=="Connexion") {
$_SESSION['envoiconnect']="ok";
?>
<div  class="forphpformenre">
<?php  
if ($recommencer) echo "<div  class='renreg'>Choisissez d'autres identifiants de connexion.</div>";
else echo "<div  class='enreg1'>Connexion</div>";
?>
<div class="forphpconteneurenreg">
Pseudo  <input name="pseudoc" type="text" /><br/>
Mot de passe  <input name="mdpc" type="password" /><br/>
</div>
<input type="submit" class="forphpvalidenr"  name="envoienre"  value="Connecter" />
</div>
<?php  }  else { ?>
<input type="submit" class="forphpenregistrer" name="envoienre" value="Connexion" />
<?php } ?>
</form>
<?php }

// Insertion d'une liste déroulante permettant la navigation.  
$reponse= @mysql_query("SELECT forum_id, titre FROM forums WHERE place>0");
?>
<div id="choix">
<form action="spip.php?article<?php echo $_SESSION['idarticle']; ?>&forum_id" method="post">
<select name="forum_id">
<option value="0">Forums</option>
<?php
while ($options = @mysql_fetch_array($reponse)){
echo "<option value=\"$options[0]\">$options[1]</option>";
}
?>
</select><br/>
<input type="submit" class="forphpvalidfor" value="Valider" />
</form>
</div>
</div>


<div id="forphptexte">
<?php
//On insère la suite selon le type de page.
switch($pagefor){
case 'accueil': include "accueil.php"; break;
case 'accueilforum': include "accueilforum.php"; break;
case 'forum': include "forum.php"; break;
case 'fil': include "fil.php"; break;
case 'ecrire': include "ecrire.php"; break;
}
?>