Probleme sur forum

Répondre
C_Kirby
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

<? 
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">&nbsp;</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)
C_Kirby
C_Kirby
le 21/06/2003 à 19:33
C_Kirby
Ah, et j'ai aussi un autre probleme (qui n'a rien avoir avec php, mais toujours sur le forum)
Quand j'affiche la date de la derniere réponse du topic, elle se met sur deux lignes, et moi je voudrait qu'elle ne prenne qu'une seule ligne
C_Kirby
L4_Hyr3
le 21/06/2003 à 23:40
L4_Hyr3
pour ke ta date s'affiche sur une seule ligne essaye d'augmenter la taille de la colonne 100 ca doit pas etre assez
epita promo 2009
C_Kirby
le 22/06/2003 à 09:49
C_Kirby
LA GLOBULE => Quelques dossiers deviennent rouges, et si je lis un topic, les topics qui etaient rouges avant sont jaunes et les autres deviennent rouges a leurs tours, ect...

L4_Hyr3 => J'ai essayé d'augmenter la taille, mais ca ne change rien...
C_Kirby
C_Kirby
le 22/06/2003 à 10:22
C_Kirby
j'ai essayé d'arranger
<? 
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">&nbsp;</td>
<td width="20%" align="center" valign="top"> Auteur </td>
<td width="50%" align="center" valign="top"> Titre du sujet </td>
<td width="2%" align="center" valign="top">Nb</td>
<td width="26%" 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">';

$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 ();
}
?>
<!—on ferme notre table html -->
</table>
</center>

</body>
</html>

Et maintenant ca me dit
Parse error: parse error, unexpected '}' in viewforum.php on line 41
Mais si j'enleve ce } apres y'a écrit
Parse error: parse error, unexpected '}' in viewforum.php on line 233
et si je l'enleve y' un blem avec le while smiley
C_Kirby
C_Kirby
le 22/06/2003 à 11:18
C_Kirby
T'es sur ? parce que ca n'a rien changé... Moi je croyais que ca voulais dire que j'avais un } en trop
C_Kirby
Répondre
LoadingChargement en cours