Lien internet du forum ne marche pas

webamies Messages postés 116 Statut Membre -  
webamies Messages postés 116 Statut Membre -
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. zcrew Messages postés 251 Statut Membre 25
     
    Le problème se trouve surement dans la page lire-message.php

    0
  2. webamies Messages postés 116 Statut Membre 2
     
    tu veux avoir le script de la page lire-message.php
    0
  3. Archeus01 Messages postés 1566 Date d'inscription   Statut Membre Dernière intervention   455
     
    Ou au niveau de tes requetes SQL...
    0
  4. webamies Messages postés 116 Statut Membre 2
     
    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