Lien internet du forum ne marche pas

Fermé
webamies Messages postés 96 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 18 septembre 2013 - 11 févr. 2010 à 15:30
webamies Messages postés 96 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 18 septembre 2013 - 12 févr. 2010 à 12:51
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.
A voir également:

4 réponses

zcrew Messages postés 231 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 26 février 2010 25
11 févr. 2010 à 15:36
Le problème se trouve surement dans la page lire-message.php

0
webamies Messages postés 96 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 18 septembre 2013 2
12 févr. 2010 à 11:47
tu veux avoir le script de la page lire-message.php
0
Archeus01 Messages postés 1567 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 447
12 févr. 2010 à 11:49
Ou au niveau de tes requetes SQL...
0
webamies Messages postés 96 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 18 septembre 2013 2
12 févr. 2010 à 12:51
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