Forum php

badboys54 -  
 badboys54 -
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
Configuration: Windows XP
Internet Explorer 7.0

1 réponse

  1. badboys54
     
    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