Créer un compte
Connexion

Aider moi c'est vraiment important

Pour créer et répondre aux sujets, vous devez être connecté.
Pages: 1
Auteur Message
leoster
07/06/2009 à 11:45:53
leoster
Membre
Slt a tous je suis en train de faire un forum


MAis je bloque ici
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
$balises = true;
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<div id="corps_forum">
<?php
//On se connecte
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//Qu'est ce qu'on veut faire ? poster, répondre ou éditer ?
$action = htmlspecialchars($_GET['action']);
 
//Si on veut poster un nouveau topic, la variable f se trouve dans l'url,
//On récupère certaines valeurs
if (isset($_GET['f']))
{
$forum = (int) $_GET['f'];
$requete1 = mysql_query('
SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_forum
WHERE forum_id ="'.$forum.'"') or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
?>
 
<p>
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo ''.$forum.''; ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a></p>
 
<?php
}
 
//Sinon c'est un nouveau message, on a la variable t et
//On récupère f grâce à une requête
elseif (isset($_GET['t']))
{
$topic = (int) $_GET['t'];
$requete1 = mysql_query('
SELECT topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_topic
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE topic_id ="'.$topic.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$forum = $data1['forum_id'];
?>
 
<p>
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id'] ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}
 
//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail)
//On ne connait que le post, il faut chercher le reste
elseif (isset ($_GET['p']))
{
$post = (int) $_GET['p'];
$requete1 = mysql_query('
SELECT post_createur, forum_post.topic_id, topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_post
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE forum_post.post_id ="'.$post.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$topic = $data1['topic_id'];
$forum = $data1['forum_id'];
?>
 
<p><a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $forum ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}
 
 
//Ici on s'intéresse au visiteur
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
       
        //Voici les options
        echo'<p>Vous êtes connecté en tant que
        <a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
        <a href="./messagesprives.php">Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
 
}
 
// Sinon l'accès à cette page est interdit ! ^^
else
{
echo 'Désolé, vous devez être enregistré pour poster</div></body></html>';
exit();
}
<color value="brun"><?php
switch($action)
{</color>
case "repondre": //Premier cas : on souhaite répondre
//Ici, on affiche le formulaire de réponse
break;
 
case "nouveautopic": //Deuxième cas : on souhaite créer un nouveau topic
//Ici, on affiche le formulaire de nouveau topic
break;
 
//D'autres cas viendront s'ajouter là plus tard :p
 
default; //Si jamais c'est aucun de ceux-là, c'est qu'il y a eu un problème :o
echo'<h2>Cette action est impossible</h2>';
 
} //Fin du switch
?>
<?php
switch($action)
{
case "repondre": //Premier cas on souhaite répondre
?>
<h1>Poster une réponse</h1>
 
<form method="post" action="postok.php?action=repondre&amp;t=<?php echo $topic ?>" name="formulaire">
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(' :D ');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(' :p ');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(' :( ');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(' :frime: ');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies(' XD ');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(' :s ');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(' :o ');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(' :interrogation: ');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(' :exclamation: ');return(false)" />
</fieldset>
 
<fieldset><legend>Message</legend><textarea cols="80" rows="8" id="message" name="message"></textarea></fieldset>
 
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer"/>
</p></form>
<?php
break;
 
case "nouveautopic":
?>
 
<h1>Nouveau topic</h1>
<form method="post" action="postok.php?action=nouveautopic&amp;f=<?php echo $forum ?>" name="formulaire">
 
<fieldset><legend>Titre</legend>
<input type="text" size="80" id="titre" name="titre" /></fieldset>
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" /></fieldset>
 
<fieldset><legend>Message</legend>
<textarea cols="80" rows="8" id="message" name="message"></textarea>
<label><input type="radio" name="mess" value="Annonce" />Annonce</label>
<label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label>
</fieldset>
<p>
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer" /></p>
</form>
<?php
break;
 
//D'autres cas viendront s'ajouter ici par la suite
<?php
default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
echo'<p>Cette action est impossible</p>';
} //Fin du switch
mysql_close();
?>
</div>
</body>
</html>

Et il dise que j'ai une erreur a la ligne 105 =switch($action) Je trouve vraiment pas

Merci de prendre le temp de me repondre  :#1:
je lui serai vraiment reconnaisent

Slt.

ybouane
07/06/2009 à 16:39:05
ybouane
Admin
Bonjour,
le problème, c'est que tu a intégré du html directement dans du php sans fermer le php avec ?>.
Un autre commentaire, quel est l'utilité de mettre deux conditions, une à la ligne 105 et une juste après à la ligne 124.
Bref, selon moi, voici le bon code(pas testé mais supposé fonctionner):
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
$balises = true;
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<div id="corps_forum">
<?php
//On se connecte
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//Qu'est ce qu'on veut faire ? poster, répondre ou éditer ?
$action = htmlspecialchars($_GET['action']);
 
//Si on veut poster un nouveau topic, la variable f se trouve dans l'url,
//On récupère certaines valeurs
if (isset($_GET['f']))
{
$forum = (int) $_GET['f'];
$requete1 = mysql_query('
SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_forum
WHERE forum_id ="'.$forum.'"') or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
?>
 
<p>
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo ''.$forum.''; ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a></p>
 
<?php
}
 
//Sinon c'est un nouveau message, on a la variable t et
//On récupère f grâce à une requête
elseif (isset($_GET['t']))
{
$topic = (int) $_GET['t'];
$requete1 = mysql_query('
SELECT topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_topic
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE topic_id ="'.$topic.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$forum = $data1['forum_id'];
?>
 
<p>
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id'] ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}
 
//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail)
//On ne connait que le post, il faut chercher le reste
elseif (isset ($_GET['p']))
{
$post = (int) $_GET['p'];
$requete1 = mysql_query('
SELECT post_createur, forum_post.topic_id, topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_post
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE forum_post.post_id ="'.$post.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$topic = $data1['topic_id'];
$forum = $data1['forum_id'];
?>
 
<p><a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $forum ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}
 
 
//Ici on s'intéresse au visiteur
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
       
        //Voici les options
        echo'<p>Vous êtes connecté en tant que
        <a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
        <a href="./messagesprives.php">Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
 
}
 
// Sinon l'accès à cette page est interdit ! ^^
else
{
echo 'Désolé, vous devez être enregistré pour poster</div></body></html>';
exit();
}
switch($action)
{
case "repondre": //Premier cas on souhaite répondre
?>
<h1>Poster une réponse</h1>
 
<form method="post" action="postok.php?action=repondre&amp;t=<?php echo $topic ?>" name="formulaire">
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(' :D ');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(' :p ');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(' :( ');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(' :frime: ');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies(' XD ');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(' :s ');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(' :o ');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(' :interrogation: ');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(' :exclamation: ');return(false)" />
</fieldset>
 
<fieldset><legend>Message</legend><textarea cols="80" rows="8" id="message" name="message"></textarea></fieldset>
 
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer"/>
</p></form>
<?php
break;
 
case "nouveautopic":
?>
 
<h1>Nouveau topic</h1>
<form method="post" action="postok.php?action=nouveautopic&amp;f=<?php echo $forum ?>" name="formulaire">
 
<fieldset><legend>Titre</legend>
<input type="text" size="80" id="titre" name="titre" /></fieldset>
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" /></fieldset>
 
<fieldset><legend>Message</legend>
<textarea cols="80" rows="8" id="message" name="message"></textarea>
<label><input type="radio" name="mess" value="Annonce" />Annonce</label>
<label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label>
</fieldset>
<p>
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer" /></p>
</form>
<?php
break;
 
//D'autres cas viendront s'ajouter ici par la suite
<?php
default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
echo'<p>Cette action est impossible</p>';
} //Fin du switch
mysql_close();
?>
</div>
</body>
</html>

merci, si ça ne fonctionne pas ou que tu as d'autres problèmes, n'hésite pas :) !

Image
leoster
07/06/2009 à 17:43:12
leoster
Membre
Merci....

Mais il a une autre faut a la ligne 177

<?php
default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
echo'<p>Cette action est impossible</p>';
} //Fin du switch
mysql_close();
?>

je suis pas douer pour trouver les fautes:)

leoster
07/06/2009 à 17:44:44
leoster
Membre
Youpi je suis heureu comme tout il fallait juste enlever

<?php
break;


qui servait a rien YOupi

encore merci

leoster
07-06-2009 à 17:48:29
leoster
Membre
Okai je forumulaire s'affiche mais Apres:)


Erreur ligne 28
Je cherche en meme temp que vous
<?php
//Cette fonction doit être appelée avant tout code html
session_start();

//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<div id="corps_forum">

<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//On récupère la valeur de la variable action
$action = htmlspecialchars($_GET['action']);

// Si le membre n'est pas connecté, il est arivé ici par erreur
if (!isset($_SESSION['pseudo']))
{
echo'<p>Erreur : Vous n êtes plus connecté</p>';
}
else //Sinon on lance la suite
{
<?php
switch($action)
{
//Premier cas : nouveau topic
case "nouveautopic":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);
$mess = mysql_real_escape_string($_POST['mess']);

//Pareil pour le titre
$titre = mysql_real_escape_string($_POST['titre']);

//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f
$forum = (int) $_GET['f'];
$temps = time();

if (empty($message) || empty($titre))
{
echo'<p>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&amp;f='.$forum.'">ici</a> pour recommencer</p>';
}
else //Si jamais le message n'est pas vide
{
<?php
//On entre le topic dans la base de donnée en laissant
//le champ topic_last_post à 0
mysql_query("INSERT INTO forum_topic
(forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post)
VALUES('".$forum."', '".$titre."', '".intval($_SESSION['id'])."', '1', '".$temps."','".$mess."', '0', '0'  )")
or die ("Un problème est survenu lors de l'envoi du message");

$nouveautopic = mysql_insert_id();

//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$nouveautopic."', '".$forum."')")
or die ("Un problème est survenu lors de l'envoi du message");

$nouveaupost = mysql_insert_id();

//Ici on update comme prévu la valeur de topic_last_post et de topic_first_post
mysql_query("UPDATE forum_topic
SET topic_last_post = '".$nouveaupost."',
topic_first_post = '".$nouveaupost."'
WHERE topic_id = '".$nouveautopic."'")
or die ("Un problème est survenu lors de l'envoi du message");


//Enfin on met à jour les tables forum_forum et forum_membres
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_topic = forum_topic + 1,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Un problème est survenu lors de l'envoi du message");

mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Un problème est survenu lors de l'envoi du message");

//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</p>';
}
break; //Houra !
?>
<?php
//Deuxième cas : répondre
case "repondre":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);


//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
$topic = (int) $_GET['t'];
$temps = time();

if (empty($message))
{
echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&amp;t='.$topic.'">ici</a> pour recommencer</p>';
}
else //Sinon, si le message n'est pas vide
{

//On récupère l'id du forum
$requete2 = mysql_query('SELECT forum_id, topic_post
FROM forum_topic
WHERE topic_id = "'.$topic.'"');

$data2= mysql_fetch_assoc($requete2) or die ("Une erreur semble être survenue lors de l'envoi du message");
$forum = $data2['forum_id'];

//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$topic."', '".$forum."')")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

$nouveaupost = mysql_insert_id();

//On change un peu la table forum_topic
mysql_query("UPDATE forum_topic
SET topic_post = topic_post + 1,
topic_last_post = '".$nouveaupost."'
WHERE topic_id ='".$topic."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

//Puis même combat sur les 2 autres tables
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

//Et un petit message
$nombreDeMessagesParPage = 15;
$nbr_post = $data2['topic_post']+1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);
echo'<p>Votre message a bien été ajouté!<br /><br />
Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />
Cliquez <a href="./voirtopic.php?t='.$topic.'&amp;page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>';
}
break;
?>
<?php
default;
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté
mysql_close();
?>
</div>
</body>
</html>

merci




ybouane
07/06/2009 à 19:23:21
ybouane
Admin
il suffit d'enlever le <?php
ce qui fait:
<?php
//Cette fonction doit être appelée avant tout code html
session_start();

//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<div id="corps_forum">

<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//On récupère la valeur de la variable action
$action = htmlspecialchars($_GET['action']);

// Si le membre n'est pas connecté, il est arivé ici par erreur
if (!isset($_SESSION['pseudo']))
{
echo'<p>Erreur : Vous n êtes plus connecté</p>';
}
else //Sinon on lance la suite
{
switch($action)
{
//Premier cas : nouveau topic
case "nouveautopic":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);
$mess = mysql_real_escape_string($_POST['mess']);

//Pareil pour le titre
$titre = mysql_real_escape_string($_POST['titre']);

//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f
$forum = (int) $_GET['f'];
$temps = time();

if (empty($message) || empty($titre))
{
echo'<p>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&amp;f='.$forum.'">ici</a> pour recommencer</p>';
}
else //Si jamais le message n'est pas vide
{
//On entre le topic dans la base de donnée en laissant
//le champ topic_last_post à 0
mysql_query("INSERT INTO forum_topic
(forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post)
VALUES('".$forum."', '".$titre."', '".intval($_SESSION['id'])."', '1', '".$temps."','".$mess."', '0', '0'  )")
or die ("Un problème est survenu lors de l'envoi du message");

$nouveautopic = mysql_insert_id();

//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$nouveautopic."', '".$forum."')")
or die ("Un problème est survenu lors de l'envoi du message");

$nouveaupost = mysql_insert_id();

//Ici on update comme prévu la valeur de topic_last_post et de topic_first_post
mysql_query("UPDATE forum_topic
SET topic_last_post = '".$nouveaupost."',
topic_first_post = '".$nouveaupost."'
WHERE topic_id = '".$nouveautopic."'")
or die ("Un problème est survenu lors de l'envoi du message");


//Enfin on met à jour les tables forum_forum et forum_membres
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_topic = forum_topic + 1,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Un problème est survenu lors de l'envoi du message");

mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Un problème est survenu lors de l'envoi du message");

//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</p>';
}
break; //Houra !
//Deuxième cas : répondre
case "repondre":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);


//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
$topic = (int) $_GET['t'];
$temps = time();

if (empty($message))
{
echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&amp;t='.$topic.'">ici</a> pour recommencer</p>';
}
else //Sinon, si le message n'est pas vide
{

//On récupère l'id du forum
$requete2 = mysql_query('SELECT forum_id, topic_post
FROM forum_topic
WHERE topic_id = "'.$topic.'"');

$data2= mysql_fetch_assoc($requete2) or die ("Une erreur semble être survenue lors de l'envoi du message");
$forum = $data2['forum_id'];

//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$topic."', '".$forum."')")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

$nouveaupost = mysql_insert_id();

//On change un peu la table forum_topic
mysql_query("UPDATE forum_topic
SET topic_post = topic_post + 1,
topic_last_post = '".$nouveaupost."'
WHERE topic_id ='".$topic."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

//Puis même combat sur les 2 autres tables
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

//Et un petit message
$nombreDeMessagesParPage = 15;
$nbr_post = $data2['topic_post']+1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);
echo'<p>Votre message a bien été ajouté!<br /><br />
Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />
Cliquez <a href="./voirtopic.php?t='.$topic.'&amp;page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>';
}
break;
default;
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté
mysql_close();
?>
</div>
</body>
</html>
j'ai aussi corrigé quelques autres petits bugs
merci :)

Image
leoster
09/06/2009 à 18:21:23
leoster
Membre
Merci_je signal si j'ai d'autre beug :)

leoster
12/06/2009 à 17:56:16
leoster
Membre
Svp dernier petit erreur et je vous enbete plus

(J'ai mi au moins 1 H a chercher la faute qui pourrai y avoir rien trouver:))


<?php
//Cette fonction doit être appelée avant tout code html
session_start();
 
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Voir un topic";
 //On verra plus tard ce qu'est ce fichier
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
 
//On récupère la valeur de t
$topic = (int) $_GET['t'];
 
//A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers
$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post,
forum_name, auth_view, auth_topic, auth_post
FROM forum_topic
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id
WHERE topic_id = '".$topic."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
 
$totalDesMessages = $data1['topic_post'] + 1;
$nombreDeMessagesParPage = 15;
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id'] ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a>
 
<?php
 
// A partir d'ici, comme d'habitude, on affiche des options pour le visiteur
 
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
       
        //Voici les options
        echo'<p>Vous êtes connecté en tant que
        <a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
        <a href="./messagesprives.php">Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
 
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
        echo'<p>Vous n êtes pas connecté <br />
        <a href="./connexion.php">Se connecter</a><br />
        <a href="./register.php">Pas encore inscrit ?</a><br /></p>';
}
?>
<?php
//Nombre de pages
 
if (isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
//On affiche les pages 1-2-3 etc...
echo '<p>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    if ($i == $page) //On affiche pas la page actuelle en lien
    {
    echo $i;
    }
    else
    {
    echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'">
    ' . $i . '</a> ';
    }
    }
echo'</p>';
 
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
//On affiche le titre :
echo '<h1>'.stripslashes(htmlspecialchars($data1['topic_titre'])).'</h1>';
 
 
//On affiche l'image répondre
echo'<a href="./poster.php?action=repondre&amp;t='.$topic.'">
<img src="./images/repondre.gif" alt="Répondre" title="Répondre à ce topic" /></a>';
 
//On affiche l'image nouveau topic
echo'<a href="./poster.php?action=nouveautopic&amp;f='.$data1['forum_id'].'">
<img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>';
 
//Enfin on commence la boucle !
?>
<?php
$requete2 = mysql_query('
SELECT post_id , post_createur , post_texte , post_time ,
membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature
FROM forum_post
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
WHERE topic_id ="'.$topic.'"
ORDER BY post_id
LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage . '')
or die(mysql_error());
 
//On vérifie que la requête a bien retourné des messages
if (mysql_num_rows($requete2) < 1)
{
        echo'<p>Il n y a aucun post sur ce topic, vérifiez l url et reessayez</p>';
}
else
{
        //Si tout roule on affiche notre tableau puis on remplit avec une boucle
        ?><table>
        <tr>
        <th class="vt_auteur"><strong>Auteurs</strong></th>            
        <th class="vt_mess"><strong>Messages</strong></th>      
        </tr>
        <?php
        while ($data2 = mysql_fetch_assoc($requete2))
        {
                ?>
                <?php
//On commence à afficher le pseudo du créateur du message :
         //On vérifie les droits du membre
         //(partie du code commentée plus tard)
         echo'<tr><td><strong>
         <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
         '.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'</a></strong></td>';
           
         /* Si on est l'auteur du message, on affiche des liens pour
         Modérer celui-ci.
         Les modérateurs pourront aussi le faire, il faudra donc revenir sur
         ce code un peu plus tard ! */    
   
         if (intval($_SESSION['id']) == $data2['post_createur'])
         {
         echo'<td id=p_'.$data2['post_id'].'>Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
         <a href="./poster.php?p='.$data2['post_id'].'&amp;action=delete">
         <img src="./images/supprimer.gif" alt="Supprimer"
         title="Supprimer ce message" /></a>  
         <a href="./poster.php?p='.$data2['post_id'].'&amp;action=edit">
         <img src="./images/editer.gif" alt="Editer"
         title="Editer ce message" /></a></td></tr>';
         }
         else
         {
         echo'<td>
         Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
         </td></tr>';
         }
       
         //Détails sur le membre qui a post
                 
         echo'<tr><td>
         <img src="./images/avatars'.$data2['membre_avatar'].'" alt="" />
         <br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
         <br />Messages : '.$data2['membre_post'].'<br />
         Localisation : '.stripslashes(htmlspecialchars($data2['membre_localisation'])).'</td>';
               
         //Message
                 
         echo'<td>'.code(nl2br(stripslashes(htmlspecialchars($data2['post_texte'])))).'
         <br /><hr />'.code(nl2br(stripslashes(htmlspecialchars($data2['membre_signature'])))).'</td></tr>';
         } //Fin de la boucle ! \o/
         ?>
</table>
<?php
        echo '<p>Page : ';
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
        {
                if ($i == $page) //On affiche pas la page actuelle en lien
                {
                echo $i;
                }
                else
                {
                echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'">
                ' . $i . '</a> ';
                }
        }
        echo'</p>';
       
        //On ajoute 1 au nombre de visites de ce topic
        mysql_query('UPDATE forum_topic
        SET topic_vu = topic_vu + 1 WHERE topic_id = '.$topic.'');
 
} //Fin du if qui vérifiait si le topic contenait au moins un message
         
mysql_close();
?>          
</div>
</body>
</html>


ybouane
13/06/2009 à 04:22:01
ybouane
Admin
Bonjour,
premièrement, quel est ton problème, une erreur php, mysql ou tu ne réussit pas à avoir le résultat voulu.
en tout cas, j'ai fait de légères corrections regarde si ça fonctionne :)

<?php
//Cette fonction doit être appelée avant tout code html
session_start();
 
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Voir un topic";
 //On verra plus tard ce qu'est ce fichier
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
 
//On récupère la valeur de t
$topic = (int) $_GET['t'];
 
//A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers
$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post,
forum_name, auth_view, auth_topic, auth_post
FROM forum_topic
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id
WHERE topic_id = '".$topic."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
 
$totalDesMessages = $data1['topic_post'] + 1;
$nombreDeMessagesParPage = 15;
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id']; ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic; ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a>
 
<?php
 
// A partir d'ici, comme d'habitude, on affiche des options pour le visiteur
 
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
       
        //Voici les options
        echo'<p>Vous êtes connecté en tant que
        <a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
        <a href="./messagesprives.php">Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
 
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
        echo'<p>Vous n êtes pas connecté <br />
        <a href="./connexion.php">Se connecter</a><br />
        <a href="./register.php">Pas encore inscrit ?</a><br /></p>';
}
//Nombre de pages
 
if (isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
//On affiche les pages 1-2-3 etc...
echo '<p>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    if ($i == $page) //On affiche pas la page actuelle en lien
    {
    echo $i;
    }
    else
    {
    echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'">
    ' . $i . '</a> ';
    }
    }
echo'</p>';
 
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
//On affiche le titre :
echo '<h1>'.stripslashes(htmlspecialchars($data1['topic_titre'])).'</h1>';
 
 
//On affiche l'image répondre
echo'<a href="./poster.php?action=repondre&amp;t='.$topic.'">
<img src="./images/repondre.gif" alt="Répondre" title="Répondre à ce topic" /></a>';
 
//On affiche l'image nouveau topic
echo'<a href="./poster.php?action=nouveautopic&amp;f='.$data1['forum_id'].'">
<img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>';
 
//Enfin on commence la boucle !
?>
<?php
$requete2 = mysql_query('
SELECT post_id , post_createur , post_texte , post_time ,
membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature
FROM forum_post
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
WHERE topic_id ="'.$topic.'"
ORDER BY post_id
LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage . '')
or die(mysql_error());
 
//On vérifie que la requête a bien retourné des messages
if (mysql_num_rows($requete2) < 1)
{
        echo'<p>Il n y a aucun post sur ce topic, vérifiez l url et reessayez</p>';
}
else
{
        //Si tout roule on affiche notre tableau puis on remplit avec une boucle
        ?><table>
        <tr>
        <th class="vt_auteur"><strong>Auteurs</strong></th>            
        <th class="vt_mess"><strong>Messages</strong></th>      
        </tr>
        <?php
        while ($data2 = mysql_fetch_assoc($requete2))
        {
//On commence à afficher le pseudo du créateur du message :
         //On vérifie les droits du membre
         //(partie du code commentée plus tard)
         echo'<tr><td><strong>
         <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
         '.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'</a></strong></td>';
           
         /* Si on est l'auteur du message, on affiche des liens pour
         Modérer celui-ci.
         Les modérateurs pourront aussi le faire, il faudra donc revenir sur
         ce code un peu plus tard ! */    
   
         if (intval($_SESSION['id']) == $data2['post_createur'])
         {
         echo'<td id=p_'.$data2['post_id'].'>Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
         <a href="./poster.php?p='.$data2['post_id'].'&amp;action=delete">
         <img src="./images/supprimer.gif" alt="Supprimer"
         title="Supprimer ce message" /></a>  
         <a href="./poster.php?p='.$data2['post_id'].'&amp;action=edit">
         <img src="./images/editer.gif" alt="Editer"
         title="Editer ce message" /></a></td></tr>';
         }
         else
         {
         echo'<td>
         Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
         </td></tr>';
         }
       
         //Détails sur le membre qui a post
                 
         echo'<tr><td>
         <img src="./images/avatars'.$data2['membre_avatar'].'" alt="" />
         <br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
         <br />Messages : '.$data2['membre_post'].'<br />
         Localisation : '.stripslashes(htmlspecialchars($data2['membre_localisation'])).'</td>';
               
         //Message
                 
         echo'<td>'.code(nl2br(stripslashes(htmlspecialchars($data2['post_texte'])))).'
         <br /><hr />'.code(nl2br(stripslashes(htmlspecialchars($data2['membre_signature'])))).'</td></tr>';
         } //Fin de la boucle ! \o/
         ?>
</table>
<?php
        echo '<p>Page : ';
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
        {
                if ($i == $page) //On affiche pas la page actuelle en lien
                {
                echo $i;
                }
                else
                {
                echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'">
                ' . $i . '</a> ';
                }
        }
        echo'</p>';
       
        //On ajoute 1 au nombre de visites de ce topic
        mysql_query('UPDATE forum_topic
        SET topic_vu = topic_vu + 1 WHERE topic_id = '.$topic.'');
 
} //Fin du if qui vérifiait si le topic contenait au moins un message
         
mysql_close();
?>          
</div>
</body>
</html>

merci :)

Image
leoster
14/06/2009 à 18:54:29
leoster
Membre
les erreur sont a la ligne 143 et 170

merci

ybouane
14/06/2009 à 19:57:09
ybouane
Admin
Salut,
essaye ce code:
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
 
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Voir un topic";
 //On verra plus tard ce qu'est ce fichier
include("includes/debut.php");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
 
//On récupère la valeur de t
$topic = (int) $_GET['t'];
 
//A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers
$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post,
forum_name, auth_view, auth_topic, auth_post
FROM forum_topic
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id
WHERE topic_id = '".$topic."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);
 
$totalDesMessages = $data1['topic_post'] + 1;
$nombreDeMessagesParPage = 15;
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id']; ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic; ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a>
 
<?php
 
// A partir d'ici, comme d'habitude, on affiche des options pour le visiteur
 
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
       
        //Voici les options
        echo'<p>Vous êtes connecté en tant que
        <a href="./voirprofil.php?m='.intval($_SESSION['id']).'&action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
        <a href="./messagesprives.php">Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
 
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
        echo'<p>Vous n êtes pas connecté <br />
        <a href="./connexion.php">Se connecter</a><br />
        <a href="./register.php">Pas encore inscrit ?</a><br /></p>';
}
//Nombre de pages
 
if (isset($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
//On affiche les pages 1-2-3 etc...
echo '<p>Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    if ($i == $page) //On affiche pas la page actuelle en lien
    {
    echo $i;
    }
    else
    {
    echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'">
    ' . $i . '</a> ';
    }
    }
echo'</p>';
 
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
//On affiche le titre :
echo '<h1>'.stripslashes(htmlspecialchars($data1['topic_titre'])).'</h1>';
 
 
//On affiche l'image répondre
echo'<a href="./poster.php?action=repondre&amp;t='.$topic.'">
<img src="./images/repondre.gif" alt="Répondre" title="Répondre à ce topic" /></a>';
 
//On affiche l'image nouveau topic
echo'<a href="./poster.php?action=nouveautopic&amp;f='.$data1['forum_id'].'">
<img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>';
 
//Enfin on commence la boucle !
?>
<?php
$requete2 = mysql_query('
SELECT post_id , post_createur , post_texte , post_time ,
membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature
FROM forum_post
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
WHERE topic_id ="'.$topic.'"
ORDER BY post_id
LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage . '')
or die(mysql_error());
 
//On vérifie que la requête a bien retourné des messages
if (mysql_num_rows($requete2) < 1)
{
        echo'<p>Il n y a aucun post sur ce topic, vérifiez l url et reessayez</p>';
}
else
{
        //Si tout roule on affiche notre tableau puis on remplit avec une boucle
        ?><table>
        <tr>
        <th class="vt_auteur"><strong>Auteurs</strong></th>            
        <th class="vt_mess"><strong>Messages</strong></th>      
        </tr>
        <?php
        while ($data2 = mysql_fetch_assoc($requete2))
        {
//On commence à afficher le pseudo du créateur du message :
         //On vérifie les droits du membre
         //(partie du code commentée plus tard)
         echo'<tr><td><strong>
         <a href="./voirprofil.php?m='.$data2['membre_id'].'&amp;action=consulter">
         '.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'</a></strong></td>';
           
         /* Si on est l'auteur du message, on affiche des liens pour
         Modérer celui-ci.
         Les modérateurs pourront aussi le faire, il faudra donc revenir sur
         ce code un peu plus tard ! */    
   
         if(intval($_SESSION['id']) == $data2['post_createur'])
         {
         echo'<td id=p_'.$data2['post_id'].'>Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
         <a href="./poster.php?p='.$data2['post_id'].'&amp;action=delete">
         <img src="./images/supprimer.gif" alt="Supprimer"
         title="Supprimer ce message" /></a>  
         <a href="./poster.php?p='.$data2['post_id'].'&amp;action=edit">
         <img src="./images/editer.gif" alt="Editer"
         title="Editer ce message" /></a></td></tr>';
         }
         else
         {
         echo'<td>
         Posté à '.date('H\hi \l\e d M y',$data2['post_time']).'
         </td></tr>';
         }
       
         //Détails sur le membre qui a post
                 
         echo'<tr><td>
         <img src="./images/avatars'.$data2['membre_avatar'].'" alt="" />
         <br />Membre inscrit le '.date('d/m/Y',$data2['membre_inscrit']).'
         <br />Messages : '.$data2['membre_post'].'<br />
         Localisation : '.stripslashes(htmlspecialchars($data2['membre_localisation'])).'</td>';
               
         //Message
                 
         echo'<td>'.nl2br(stripslashes(htmlspecialchars($data2['post_texte']))).'
         <br /><hr />'.nl2br(stripslashes(htmlspecialchars($data2['membre_signature']))).'</td></tr>';
         } //Fin de la boucle ! \o/
         ?>
</table>
<?php
        echo '<p>Page : ';
        for ($i = 1 ; $i <= $nombreDePages ; $i++)
        {
                if ($i == $page) //On affiche pas la page actuelle en lien
                {
                echo $i;
                }
                else
                {
                echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'">
                ' . $i . '</a> ';
                }
        }
        echo'</p>';
       
        //On ajoute 1 au nombre de visites de ce topic
        mysql_query('UPDATE forum_topic
        SET topic_vu = topic_vu + 1 WHERE topic_id = '.$topic.'');
 
} //Fin du if qui vérifiait si le topic contenait au moins un message
         
mysql_close();
?>          
</div>
</body>
</html>
merci :)

Image
123M
11/11/2009 à 11:58:16
123M
Membre
Moi ils me disent que je dois télécharcher un logiciel...C'est bête...
J'ai essayé de metre l'horloge sur mon blog, ça n'a pas marché !

<font value="times_new_roman"> ;) 123M<color value="brun"></color></font>
ybouane
12/11/2009 à 00:40:36
ybouane
Admin
Bonjour  :) ,
Peut tu expliquer ton problème/question/phrase  :p , car je n'ai pas compris.

Désolé

Image
Pages: 1