Lien internet du forum ne marche pas

Bonjour,
J’ai un problème pour un petit forum .
J’ai développé juste cinq (5) pages à savoir :
Index.php = affiche les différentes catégories.
Sujet.php = affiche les sous titres de la catégorie choisie (comme sous catégories)
Nouveau.php = pour poser un nouveau sujet dans une catégorie choisie
Repondre.php = pour répondre
Lire-message.php = affiche les messages posés et répondre si possible
Mon problème est au niveau de sujet.php qui me renvoi sur la page lire-message.php
Quand je clique sur le lien (ci-dessous) de la page sujet.php pour lire le message
<a href="lire-message.php?sujet=<?php echo $donnees['idtopic']; ?>"><?php echo htmlspecialchars(stripslashes($donnees['forum_to
pic_titre'])); ?></a>
Je me trouve bien sur la page lire-message mais cela m’affiche que les premiers messages posés de la catégorie 1 et ses messages.

Merci d’avance.
Configuration: Windows Vista
Firefox 3.5.7

4 réponses

  1. Le problème se trouve surement dans la page lire-message.php

    0
    1. tu veux avoir le script de la page lire-message.php
      0
      1. Ou au niveau de tes requetes SQL...
        0
        1. moi aussi je pense la meme chose pour les requetes

          voici mon le code vraiment ses du boulot comme je suis un apprenti sorcier comprend moi:

          <?php
          
          	session_start();
          	header('Content-Type: text/html; Charset=UTF-8');
          
          	mysql_connect('adresse_hébergeur', 'login', 'mdp'); // Connexion à MySQL
          	mysql_select_db('table'); // Sélection de la base
          	mysql_query('set names utf8');
          
          	$requete = "UPDATE `forum_topic` SET `forum_topic_vu` = forum_topic_vu + 1 WHERE `forum_topic_id` = ".intval($_GET['sujet'])."";
          	$resultat = mysql_query($requete);
          
          	if (isset($_GET['verouiller'])) { // Si les champs ne sont pas vides
          		$requete = "UPDATE `forum_topic` SET `forum_topic_verouiller` = '1' WHERE `forum_topic_id` = ".intval($_GET['sujet'])."";
          		$resultat = mysql_query($requete);
          	}
          
          	if (isset($_GET['deverouiller'])) { // Si les champs ne sont pas vides
          		$requete = "UPDATE `forum_topic` SET `forum_topic_verouiller` = '0' WHERE `forum_topic_id` = ".intval($_GET['sujet'])."";
          		$resultat = mysql_query($requete);
          	}
          
          	if (!empty($_POST['destination']) AND !empty($_GET['sujet'])) {
          		$requete = "UPDATE `forum_topic` SET `forum_topic_categorie` = ".intval($_POST['destination'])." WHERE `forum_topic_id` = ".intval($_GET['sujet'])."";
          		$resultat = mysql_query($requete);
          
          		header('Location: sujet.php?categorie='.intval($_POST['destination']).'');
          	}
          
          	if (!empty($_POST['message_auto']) AND !empty($_GET['sujet'])) {
          		$requete = "SELECT titre, message FROM moderateur WHERE id = ".intval($_POST['message_auto'])."";
          		$resultat = mysql_query($requete);
          		$donnees = mysql_fetch_assoc($resultat);
          		mysql_free_result($resultat);
          
          		$requete = "INSERT INTO `forum_post` SET forum_post_sujet = ".intval($_GET['sujet']).", `forum_post_pseudo` = '".$_SESSION['pseudo']."', 
          		`forum_post_message` = '".mysql_real_escape_string($donnees['moderateur_message'])."', `forum_post_temps` = NOW()";
          		$resultat = mysql_query($requete);
          
          		$derniere_reponse = mysql_insert_id();
          
          		$requete = "SELECT forum_topic_titre FROM forum_topic WHERE forum_topic_id = ".intval($_GET['sujet'])."";
          		$resultat = mysql_query($requete);
          		$donnees2 = mysql_fetch_assoc($resultat);
          		mysql_free_result($resultat);
          
          		$requete = "UPDATE `forum_topic` SET `forum_topic_titre` = '".mysql_real_escape_string($donnees['moderateur_titre'])." ".$donnees2['sujet_titre']."', 
          		`forum_topic_verouiller` = '1', `forum_topic_reponse` = forum_topic_reponse + 1, `forum_topic_derniere_reponse` = '".$derniere_reponse."' 
          		WHERE `forum_topic_id` = ".intval($_GET['sujet'])."";
          		$resultat = mysql_query($requete);
          	}
          
          	$requete = "SELECT forum_topic_id, forum_topic_categorie, forum_topic_titre, forum_topic_resolu, forum_topic_verouiller, message_id FROM forum_topic 
          	LEFT JOIN message ON forum_topic.forum_topic_id = message.message_id WHERE forum_topic_id = ".intval($_GET['sujet'])."";
          	$resultat = mysql_query($requete);
          	$donnees = mysql_fetch_assoc($resultat);
          	mysql_free_result($resultat);
          
          	$id_sujet = $donnees['forum_topic_id'];
          	$id_categorie = $donnees['forum_topic_categorie'];
          	$titre = stripslashes($donnees['forum_topic_titre']);
          	$verouiller = $donnees['forum_topic_verouiller'];
          	$resolu = $donnees['forum_topic_resolu'];
          
          	require ('fonction.php');
          
          	$requete = "SELECT COUNT(*) AS nombre_messages FROM forum_post WHERE forum_post_sujet = '".$id_sujet."'";
          	$resultat = mysql_query($requete);
          	$donnees = mysql_fetch_assoc($resultat);
          	mysql_free_result($resultat);
          
          	$totalDesMessages = $donnees['nombre_messages'];
          	$nombreDeMessagesParPage = xxxxxxx;
          
          	// On calcule le nombre de pages à créer
          	$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
          
          	$page = 1;
          
          	if (!empty($_GET['page']) AND intval($_GET['page']) <= $nombreDePages AND intval($_GET['page']) > 0) {
          	    $page = intval($_GET['page']);
          	}
          
          	$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
          
          	if ($page > 1) { // Si ce n'est pas la première page
          	    $pagination = '<a href="message.php?page='.($page - 1).'">Précédent</a>&nbsp;';
          	}
          
          	foreach (pagination($page, $nombreDePages) as $i) {
          	    if ($i == $page OR $i == '...') {
          	        $pagination .= '<strong>'.$i.'</strong>&nbsp;';
          		}
          	    else {
          	        $pagination .= '<a href="message.php?page='.$i.'">'.$i.'</a>&nbsp;';
          	    }
          	}
          
          	if ($page < $nombreDePages) { // Si ce n'est pas la dernière page
          	    $pagination .= '<a href="message.php?page='.($page + 1).'">Suivant</a>';
          	}
          
          ?>
          
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
          	<head>
          
          		<title>xxxxxxxxxxxxxxxxxxxx</title>
          		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          		<link href="defaut.css" rel="stylesheet" title="Design" type="text/css" media="screen" />
          
          	</head>
          	<body>
          
          		<div>
          			
          		</div>
          
          		<div id="menu">
          			<div class="element_menu">
          				<h3>Menu</h3>
          					<ul>
          						<li><a href="index.php">Forum</a></li>
          					</ul>
          			</div>
          		</div>
          
          		<div id="corps">
          
          			<p class="centre">Page : <?php echo $pagination; ?></p>
          
          			<?php if (!empty($_SESSION['pseudo'])) : ?>
          				<p class="droit"><a href="nouveau.php?categorie=<?php echo $id_categorie; ?>">Nouveau</a>
          				<?php if ($verouiller == 0) : ?>
          					 - <a href="repondre.php?sujet=<?php echo $id_sujet; ?>">Répondre</a>
          				<?php endif; ?>
          				</p>
          			<?php endif; ?>
          
          			<?php if (!empty($resolu)) : ?>
          				<p>Le sujet a été résolu !</p>
          			<?php endif; ?>
          
          			<table>
          				<thead>
          					<tr>
          					    <th>Auteur</th>
          					    <th>Message</th>
          					</tr>
          				</thead>
          				<tbody>
          
          				<?php
          
          					$requete = "SELECT forum_post_id, forum_post_pseudo, forum_post_message, DATE_FORMAT(forum_post_temps,'%d-%m-%Y') as forum_post_temps FROM forum_post 
          					WHERE forum_post_sujet = '".$id_sujet."' ORDER BY forum_post_id LIMIT ".$premierMessageAafficher.", ".$nombreDeMessagesParPage."";
          					$resultat = mysql_query($requete);
          
          					while ($donnees = mysql_fetch_assoc($resultat)) {
          						?>
          						<tr>
          						    <td class="centre auteur"><?php echo htmlspecialchars(stripslashes($donnees['forum_post_pseudo'])); ?></td>
          						    <td id="n<?php echo $donnees['forum_post_id']; ?>"><div style="float:left;"><?php echo $donnees['forum_post_temps']; ?></div>
          								<?php if ($_SESSION['pseudo'] == htmlspecialchars(stripslashes($donnees['forum_post_pseudo']))) : ?>
          									<div style="float:right;"><a href="repondre.php?modifier=<?php echo $donnees['forum_post_id']; ?>&amp;sujet=<?php echo $id_sujet; ?>">
          									Modifier</a></div>
          								<?php endif; ?>
          							</td>
          						</tr>
          						<tr>
          							<td class="centre"></td>
          							<td><?php echo htmlspecialchars(stripslashes($donnees['forum_post_message'])); ?></td>
          						</tr>
          						<?php
          					}
          
          					mysql_free_result($resultat);
          
          				?>
          
          				</tbody>
          			</table>
          
          			<?php if (!empty($_SESSION['pseudo'])) : ?>
          				<p class="droit"><a href="nouveau.php?categorie=<?php echo $id_categorie; ?>">Nouveau</a>
          				<?php if ($verouiller == 0) : ?>
          					 - <a href="repondre.php?sujet=<?php echo $id_sujet; ?>">Répondre</a>
          				<?php endif; ?>
          				</p>
          			<?php endif; ?>
          
          			<?php if ($_SESSION['pseudo'] == 'administrateur') : ?>
          				<p class="centre">
          					<?php if ($verouiller == 0) : ?>
          						<a href="lire-message.php?verouiller=1&amp;sujet=<?php echo $id_sujet; ?>">Vérouiller</a>
          					<?php else : ?>
          						<a href="lire-message.php?deverouiller=0&amp;sujet=<?php echo $id_sujet; ?>">Dévérouiller</a>
          					<?php endif;
          
          				$requete = "SELECT forum_categorie_id, forum_categorie_nom FROM forum_categorie WHERE forum_categorie_id <> '".$id_categorie."'";
          				$resultat = mysql_query($requete); ?>
          
          				</p><form method="post" action="lire-message.php?sujet=<?php echo $id_sujet; ?>">
          					<p class="centre"><label for="destination">Déplacer vers </label>
          						<select name="destination" id="destination">
          						<?php
          							while ($donnees = mysql_fetch_assoc($resultat)) {
          							    echo'<option value="'.$donnees['forum_categorie_id'].'" id="'.$donnees['forum_categorie_id'].'">'.$donnees['forum_categorie_nom'].'</option>';
          							}
          						?>
          						</select>
          					<input type="submit" value="Envoyer" /></p>
          				</form>
          
          				<?php
          				$requete = "SELECT id, titre FROM moderateur";
          				$resultat = mysql_query($requete);
          				?>
          
          				</p><form method="post" action="lire-message.php?sujet=<?php echo $id_sujet; ?>">
          					<p class="centre"><label for="message_auto">Message automatique </label>
          						<select name="message_auto" id="message_auto">
          						<?php
          							while ($donnees = mysql_fetch_assoc($resultat)) {
          							    echo'<option value="'.$donnees['id'].'" id="'.$donnees['id'].'">'.$donnees['titre'].'</option>';
          							}
          						?>
          						</select>
          					<input type="submit" value="Envoyer" /></p>
          				</form>
          			<?php endif; ?>
          
          		</div>
          
          		
          
          	<?php mysql_close(); ?>
          
          	</body>
          </html>
          0