le 21/06/2003 à 19:27
C_Kirby
Bonjour, j'ai essayé de faire des permissions d'utilisateurs, mais plus comme avant... Ca marche bien mais maintenant y'a un probleme avec mon script de gestion des msg lus
Bon, je sais que j'ai du mal a organiser tout ca, donc si vous avez un blem, je vous expliqurez (comme par exemple, vous allez me dire que je ne me suis pas connecté a la base, mais je me suis connecté dans confing.php)
<?
session_start();
include ('config.php');
$sql5 = 'SELECT * FROM forum_forums WHERE id="'.$f.'"';
$req5 = mysql_query($sql5) or die('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error());
$data5 = mysql_fetch_array($req5);
$titre_forum = $data5['nom'];
$id_forum = $data5['id'];
mysql_free_result($req5);
$sql1 = 'SELECT auteur, message, date_reponse FROM forum_reponses WHERE correspondance_forum="'.$f.'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
$nbreponses = mysql_num_rows($req1);
setcookie("forum_$f", "$nbreponses", time()+365*24*3600,"/");
?>
<html>
<head>
<? echo '<title>'.$titre_forum.'</title>'; ?>
</head>
<? include('top.php'); ?>
<br>
<!— on place un lien permettant d'accéder à la page contenant le formulaire d'insertion d'un nouveau sujet -->
<?
$sql2 = 'SELECT * FROM forum_forums WHERE id="'.$f.'"';
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$data2 = mysql_fetch_array($req2);
$permission = $data2['permission'];
if ($permission == 99) {
$sql6 = 'SELECT * FROM forum_membres WHERE pseudo="'.$_SESSION['pseudo_base'].'"';
$req6 = mysql_query($sql6) or die('Erreur SQL !<br>'.$sql6.'<br>'.mysql_error());
$data6 = mysql_fetch_array($req6);
$permission_membre = $data6['permission'];
if ($permission_membre != 99) {
echo '';
} else {
echo '<center><a href="./newtopic.php?f='.$f.'">Insérer un sujet</a></center>';
}
}
?>
<br>
<br>
<!— on crée une table html nous permettant de présenter joliment les résultats -->
<center>
<table width="90%" border="1">
<tr>
<td width="2%" align="center" valign="top"> </td>
<td width="20%" height="100%" align="center" valign="top"> Auteur </td>
<td width="51%" align="center" valign="top"> Titre du sujet </td>
<td width="4%" align="center" valign="top">Nb</td>
<td width="23%" align="center" valign="top">Dernière réponse </td>
</tr>
<?
if ($permission == 99)
{
$sql7 = 'SELECT * FROM forum_membres WHERE pseudo="'.$_SESSION['pseudo_base'].'"';
$req7 = mysql_query($sql7) or die('Erreur SQL !<br>'.$sql7.'<br>'.mysql_error());
$data7 = mysql_fetch_array($req6);
$permission_membre = $data6['permission'];
if ($permission_membre != 99) {
echo '';
}
else
{
// lancement de la requete
$sql = 'SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets WHERE correspondance_forum="'.$f.'" ORDER BY date_derniere_reponse DESC';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$id_sujet = $data['id'];
$auteur = $data['auteur'];
$titre = $data['titre'];
$date_derniere_reponse = $data['date_derniere_reponse'];
$permission = $data['permission'];
// on decompose la date
sscanf($date_derniere_reponse, "%4s-%2s-%2s %2s:%2s:%2s", &$annee, &$mois, &$jour, &$heure, &$minute, &$seconde);
// lancement de la requete
$sql2 = 'SELECT * FROM forum_reponses WHERE correspondance_sujet = "'.$id_sujet.'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$reponses = mysql_num_rows($req2);
echo '<tr>';
echo '<td width="100" align="center" valign="top">';
$reponses_cookie = $_COOKIE['sujet_'.$id_sujet.''];
if ($reponses <= $reponses_cookie)
{
if ($reponses <= 14)
{
echo '<img src="folders/folder.gif">';
}
else
{
echo '<img src="folders/hot_folder.gif">';
}
}
else
{
if ($reponses <= 14)
{
echo '<img src="folders/red_folder.gif">';
}
else
{
echo '<img src="folders/hot_red_folder.gif">';
}
}
echo '</td><td width="100" align="center" valign="top">';
// on affiche le nom de l'auteur de sujet
echo $auteur;
echo '</td><td width="300" align="center" valign="top">';
// on affiche le titre du sujet, et sur ce sujet, on insère le lien qui nous permettra de lire les différentes réponses de ce sujet
echo '<a href="./viewtopic.php?f='.$id_forum.'&t='.$id_sujet.'">'.$titre.'</a>';
echo '</td><td width="100" align="center" valign="top">';
// on affiche le nombre de réponse du sujet
echo $reponses;
mysql_free_result ($req2);
echo '</td><td width="100" align="center" valign="top">';
// on affiche la date de la dernière réponse de ce sujet
echo $jour.'-'.$mois.'-'.$annee.' '.$heure.':'.$minute;
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
}
}
else
{
// lancement de la requete
$sql = 'SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets WHERE correspondance_forum="'.$f.'" ORDER BY date_derniere_reponse DESC';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$id_sujet = $data['id'];
$auteur = $data['auteur'];
$titre = $data['titre'];
$date_derniere_reponse = $data['date_derniere_reponse'];
$permission = $data['permission'];
// on decompose la date
sscanf($date_derniere_reponse, "%4s-%2s-%2s %2s:%2s:%2s", &$annee, &$mois, &$jour, &$heure, &$minute, &$seconde);
// lancement de la requete
$sql2 = 'SELECT * FROM forum_reponses WHERE correspondance_sujet = "'.$id_sujet.'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$reponses = mysql_num_rows($req2);
echo '<tr>';
echo '<td width="100" align="center" valign="top">';
// Debut de mon script
$reponses_cookie = $_COOKIE['sujet_'.$id_sujet.''];
if ($reponses <= $reponses_cookie)
{
if ($reponses <= 14)
{
echo '<img src="folders/folder.gif">';
}
else
{
echo '<img src="folders/hot_folder.gif">';
}
}
else
{
if ($reponses <= 14)
{
echo '<img src="folders/red_folder.gif">';
}
else
{
echo '<img src="folders/hot_red_folder.gif">';
}
}
// Fin de mon script
echo '</td><td width="100" align="center" valign="top">';
// on affiche le nom de l'auteur de sujet
echo $auteur;
echo '</td><td width="300" align="center" valign="top">';
// on affiche le titre du sujet, et sur ce sujet, on insère le lien qui nous permettra de lire les différentes réponses de ce sujet
echo '<a href="./viewtopic.php?f='.$id_forum.'&t='.$id_sujet.'">'.$titre.'</a>';
echo '</td><td width="100" align="center" valign="top">';
// on affiche le nombre de réponse du sujet
echo $reponses;
mysql_free_result ($req2);
echo '</td><td width="100" align="center" valign="top">';
// on affiche la date de la dernière réponse de ce sujet
echo $jour.'-'.$mois.'-'.$annee.' '.$heure.':'.$minute;
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
}
?>
<!—on ferme notre table html -->
</table>
</center>
</body>
</html>
Bon, je sais que j'ai du mal a organiser tout ca, donc si vous avez un blem, je vous expliqurez (comme par exemple, vous allez me dire que je ne me suis pas connecté a la base, mais je me suis connecté dans confing.php)