Forum php

Fermé
badboys54 - 17 déc. 2008 à 16:42
 badboys54 - 17 déc. 2008 à 17:41
Bonjour,
j'avais deja poser un topic comme celui la mais je n'ai pas le meme preobleme . mon probleme c'est que j'ai plusieur erreur et je voudrais savoir comment les corriger ou qu'est ce qui ne va pas .

ma premier erreur est :
Parse error: syntax error, unexpected T_CASE in C:\wamp\www\forum 2\poster.php on line 222

voila la ligne en question :
case "nouveautopic":	

voila ma deuxieme erreur :
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\forum 2\postok.php on line 169
et voila la ligne ( je l'ai preciser car la ces toutes la requet ):
$ins =mysql_query('INSERT INTO forum_topic_view 
(tv_id, tv_topic_id, tv_forum_id, tv_post_id, tv_poste) 
VALUES('.intval($_SESSION['id']).', '.$nouveautopic.', '.$forum.', '.$nouveaupost.', "1")'); // voila la ligne

merci

1 réponse

voila tou mon code :
poster.php


et voila posterok.php
<?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";

?>
<body>
<div id="banniere"></div>
<div id="corps_forum">

<?php
//Maintenant, on se connecte à la base de données
mysql_connect("localhost","root","");
mysql_select_db("forum");
//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();
?>
<?php
//On ajoute une ligne dans la table forum_topic_view
$ins =mysql_query('INSERT INTO forum_topic_view 
(tv_id, tv_topic_id, tv_forum_id, tv_post_id, tv_poste) 
VALUES('.intval($_SESSION['id']).', '.$nouveautopic.', '.$forum.', '.$nouveaupost.', "1")');
?>
<?php
//On update la table forum_topic_view
$ins =mysql_query('UPDATE forum_topic_view 
SET tv_post_id = '.$nouveaupost.', tv_poste = "1"
WHERE tv_id = '.intval($_SESSION['id']).' AND tv_topic_id = '.$topic.'');
?>

</div>
</body>
</html>

merci
0