IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Création d'un forum


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut Création d'un forum
    Bonjour, j'ai déjà posté une discussion il y a quelques semaines à ce sujet mais après vérification je m'aperçois que mon forum ne fonctionne toujours pas correctement, je désespère, HELP PLEASE!!!!
    Voilà le problème:
    1ère page, affichage de la liste des sujets --> Ok
    2ème page, affichage du sujet choisi avec ses commentaires --> Ok
    3ème page, rédaction d'un nouveau commentaire puis redirection vers la page 2. Et là c'est la cata!!! Tous les commentaires de tous les sujets s'affichent dans ma page 2 hors je veux sélectionner que les commentaires correspondant au sujet en question.

    Voilà un bout de code de ma page 1: passage de la page 1 à la page 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p class="messageforum"><a href="repforum.php?suj=' . htmlspecialchars($donnees['idforum']) . '">' . htmlspecialchars($donnees['sujet']) . '</a></p>
    Voilà un bout de code de ma page 2 (au passage de la 1 à la 2, il s'affiche bien une valeur de 'suj' dans ma barre d'adresse, ma variable est donc bien reconnu à ce moment là): .........php?suj=45
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
    //Récupération du sujet choisi.
    $bdd = new PDO('mysql:host=......................');
    $req = $bdd->prepare('SELECT pseudo, sujet, DATE_FORMAT(datforum, \'%d/%m/%Y à %Hh%imin%ss\') AS datforum_fr FROM forum WHERE idforum = ?');
    $req->execute(array($_GET['suj']));
    $donnees = $req->fetch();
    .......
    //Fermeture de la boucle.
    $req->closeCursor();
     
    // Récupération des commentaires. 
    $bdd = new PDO('mysql:host=...........................');
    $req = $bdd->prepare('SELECT pseudorep, message, DATE_FORMAT(daterep, \'%d/%m/%Y à %Hh%imin%ss\') AS daterep_fr FROM repforum WHERE idforum = ? ORDER BY daterep');
    $req->execute(array($_GET['suj']));
    while ($donnees = $req->fetch()) {
    echo '.......';
    }
    // Fermeture de la boucle.
    $req->closeCursor();
    ?>
    ........
    header('Location: reprepforum.php?suj=' . $_GET['suj']);
    Voilà un bout de code de ma page 3 (au passage de la 2 à la 3, il n'y a plus de valeur de 'suj' dans ma barre d'adresse, je pense donc que le problème est par ici): ............php?suj=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form action="reprepforum.php?suj=<?php echo $_GET['suj'] ?>" method="post">
    ......
    //Redirection et rafraichissement de la page
    		$delai=1; 
    		$url='repforum.php?suj='.$_GET['suj'];
    		header("Refresh: $delai;url=$url");
    MERCI!!!!!

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Lorsque tu es sur ta 3ème page qui a t'il dans la barre d'adresse?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Voilà un bout de code de ma page 3 (au passage de la 2 à la 3, il n'y a plus de valeur de 'suj' dans ma barre d'adresse, je pense donc que le problème est par ici): ............php?suj=
    C'est sur que le problème vient d'ici, vérifie la partie du code de la page 2 qui te redirige vers la page 3, en vérifiant particulièrement que tu passes bien suj dans l'adresse

  4. #4
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Quand je suis sur la page 3, je n'ai plus de valeur pour "suj" (suj=vide) du coup je pense que le problème vient de mon header en page 2 qui me permet d'accéder à la page 3, mais 4 heures se sont passées et je n'ai toujours pas trouver mon erreur :-s, quelqu'un la voit???
    Merci!!!

  5. #5
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Quand tu dis que tu n'as plus de valeur tu parle de ta barre d'adresse?
    Et tu as une erreur dans ta page 3:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="reprepforum.php?suj=<?php echo $_GET['suj'] ?>" method="post">
    Tu oublie le ; à la fin du echo!
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  6. #6
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Ah, merci, oui je parle effectivement de la barre d'adresse. Passage de la page 1 à la page2 il y a une valeur pour 'suj' dans la barre d'adresse; passage de la page 2 à la page 3 je perds cette valeur dans ma barre d'adresse (suj= ). Je ne comprends pas pourquoi.

  7. #7
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Qu'est ce qui s'affiche dans ta barre d'adresse lorsque tu arrive dans la troisième page?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  8. #8
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Je suis sur la page 1, je clique sur le sujet 45 qui s'ouvre en page 2.
    J'arrive sur la page 2, la barre d'adresse affiche ceci: ........html/repforum.php?suj=45
    Sur la page 2 je clique sur 'répondre à la discussion' qui me bascule sur la page 3.
    J'arrive sur la page 3, la barre d'adresse affiche ceci: .........html/reprepforum.php?suj=

    Il n'apparait pas de nombre après le = :-s

  9. #9
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Récupère tu bien le $_GET['suj'] dans la page 2? (essaie un var_dump ou echo pour vérifier.)

    Et as tu modifié le code que je t'ai donné plus haut?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  10. #10
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Oui j'ai réparé l'erreur de la page 3.
    Sur la page 2 je ne récupère pas le $_GET['suj'], l'erreur c'est peut être bien ça en fait!! :-s
    Mais comment je peux faire pour le récupérer??? J'ai bien essayé de créer une variable du style $var=$_GET['suj'] et ensuite d'utiliser cette variable dans mon header mais ca ne marchait pas, à moins que j'ai fait une erreur dans la formulation de mon header.

  11. #11
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Essaie dans ta page deux au début de ton PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $variable = $_GET['suj'];
    echo $variable;
    //ou
    var_dump($variable);
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  12. #12
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    C'est fait, ca m'affiche ca: 45string(2) "45"

  13. #13
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Si je n'ajoute que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $variable = $_GET['suj'];
    echo $variable;
    J'obtiens alors le numéro du sujet que j'ai choisi en page 1: 45

  14. #14
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Jess86 Voir le message
    Je ne comprends pas pourquoi. (post #6)
    Je me permets juste de te dire que Kreepz t'a donné l'explication au post 5...

  15. #15
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Merci mais je m'en suis déjà occupée du post 5, ca ne change en rien mon problème.

  16. #16
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Alors, montre le code source (html) généré pour la page PHP 3.

  17. #17
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <title>..............</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="../css/couleur-commune.css"/>
    <link rel="stylesheet" type="text/css" href="../css/css-tous.css"/> 
    <link rel="stylesheet" type="text/css" href="../css/css-reprepforum.css"/> 
    </head>
     
    <body>
    <div id="conteneur">
    <div id="contenu">
    <header>
    <h1>....................;;</h1>
    <div id="logo"><img src="../photo/logo.png" width="173" height="93"></div>
    </header>
    <nav>
    <ul>
    <li id="li"><a href="accueil.php">accueil</a></li>
    <li id="li"><a href="sport.php">Sport</a></li>
    <li id="li"><a href="sante.php">Santé</a></li>
    <li id="li"><a href="bien-etre.php">Bien-être</a></li>
    <li id="li"><a href="stages.php">Stages</a></li>
    </ul>
    </nav>
     
    <ul id="menu">
    <li><a href="ventes-aux-centres.php">Nos ventes</a></li> 
    <li><a href="actualites.php">Actualités</a></li> 
    <li><a href="avis.php">Votre avis</a></li>
    <li><a href="forum.php">Forum</a></li>
    <li><a href="contacts.php">Nous contacter</a></li>
     
    <li><a href="mon-compte.php#ouverture" target=_blank>Mon compte</a>
      <ul class="menuderoulant">
          <li><a href="mon-compte.php#creation" target=_blank>Créer un compte</a></li>
          <li><a href="pc.php">Paramètres</a></li>
          <li><a href="aide.php">Aide</a></li>
          <li><a href="deconnexion.php">Me déconnecter</a></li>
      </ul>    
    </li>
    </ul><div id="haut">
    <div id="centrer">
     
    <h2>Participez au forum</h2>
     
    <form action="repforum.php" method="post" class="retour">
    <input type="submit" value="Retour discussion">
    </form>
     
    <div class="reprepforum">
    <form action="reprepforum.php?suj=" method="post">
    <label for="pseudo">Pseudo</label>
    <input type="text" name="pseudo" size="130" maxlength="30"><br>
    <label for="message">Message</label>
    <textarea name="message" rows="11" cols="97" maxlength="1000" wrap="hard" placeholder="Exprimez-vous"></textarea><br><br><br>
    <input type="submit" value="Envoyer" name="submit">
    <input type="reset" value="Annuler">
    </form>
    </div>
    </div>
    </div>
    <footer>
    <hr>
    <a href="contacts.php">Nous contacter</a>
    <a href="credits-mentions-legales.php">Crédits et Mentions Légales</a>
    <a href="#haut">haut de page</a>
    <br><br>
    </footer>
    </div>
    </div>
    </body>
    </html>

  18. #18
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    OK, peux-tu alors donner le code PHP intégral pour que ce soit facile de le déboguer.

  19. #19
    Membre confirmé
    Femme Profil pro
    étudiante
    Inscrit en
    Septembre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : étudiante

    Informations forums :
    Inscription : Septembre 2014
    Messages : 101
    Par défaut
    totalité du code de la page 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <title>TITRE</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="../css/commun.css"/>
    <link rel="stylesheet" type="text/css" href="../css/css-pages.css"/> 
    <link rel="stylesheet" type="text/css" href="../css/css-fois.css"/> 
    </head>
     
    <body>
    <?php include '../php/aspect.php'; ?>
    <div id="haut">
    <div id="centrer">
     
    <h2>Forum</h2>
     
    <?php
    //Récupération du sujet choisi.
    $bdd = new PDO('mysql:host=..................................');
    $req = $bdd->prepare('SELECT pseudo, sujet, DATE_FORMAT(datforum, \'%d/%m/%Y à %Hh%imin%ss\') AS datforum_fr FROM forum WHERE idforum = ?');
    $req->execute(array($_GET['suj']));
    $donnees = $req->fetch();
    ?>
     
    <br><br>
    <h4 class="vertforum">
    	<div class="datforum"><?php echo htmlspecialchars($donnees['datforum_fr']); ?></div>
    	<div id="pseudoforum"><?php echo htmlspecialchars($donnees['pseudo']); ?></div>
    	<div class="sujetforum"><?php echo htmlspecialchars($donnees['sujet']); ?></div>
    </h4>	
     
    <?php
    //Fermeture de la boucle.
    $req->closeCursor();
     
    // Récupération des commentaires. 
    $bdd = new PDO('mysql:host=.....................');
    $req = $bdd->prepare('SELECT pseudorep, message, DATE_FORMAT(daterep, \'%d/%m/%Y à %Hh%imin%ss\') AS daterep_fr FROM repforum WHERE idforum = ? ORDER BY daterep');
    $req->execute(array($_GET['suj']));
    while ($donnees = $req->fetch()) {
    echo '<div class="blancforum">
    	    <div class="sousdate">' . htmlspecialchars($donnees['daterep_fr']) . '</div>
    	    <div id="pseudoforum">' . htmlspecialchars($donnees['pseudorep']) . '</div>
    	    <div class="messageforum">' . htmlspecialchars($donnees['message']) . '</div>
          </div>';
    }
     
    // Fermeture de la boucle.
    $req->closeCursor();
    ?>
     
    <form action="repforum.php" method="post" class="creer">
    <input type="submit" name="repondre" value="Répondre à la discussion">
    </form>
    <form action="forum.php" method="post" class="retour">
    <input type="submit" name="retourner" value="Retour aux sujets">
    </form>
     
    <?php
    if(!isset($_POST['repondre'])) {
    }
    elseif((isset($_POST['repondre'])) && (!$_SESSION)) {
    header('Location: reprepforum.php?suj='.$_GET['suj']); 
    }
    else {
    echo '<div id="marge">
    Pour participer au forum, vous devez d\'abord vous identifiez en créant ou en vous connectant à <a href="mon-compte.php" target=_blank>votre compte Kibéos</a>.
    </div>';
    }
    ?>
     
     
    </div>
    </div>
    <?php include '../php/pied-de-page.php'; ?>
    </body>
    </html>
    totalité du code de la page 3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <title>TITRE</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="../css/commun.css"/>
    <link rel="stylesheet" type="text/css" href="../css/css-pages.css"/> 
    <link rel="stylesheet" type="text/css" href="../css/css-fois.css"/> 
     
    </head>
     
    <body>
    <?php include '../php/aspect.php'; ?>
    <div id="haut">
    <div id="centrer">
     
    <h2>Participez au forum</h2>
     
    <form action="repforum.php" method="post" class="retour">
    <input type="submit" value="Retour discussion">
    </form>
     
    <?php
    if($_SESSION) {
    echo '<div id="marge">
    <p>Pour participer au forum, vous devez d\'abord vous identifiez en créant ou en vous connectant à <a href="mon-compte.php" target=_blank>votre compte Kibéos</a>.</p>
    </div>';
    }
    else {
    echo '<div class="reprepforum">
    <form action="reprepforum.php?suj='.$_GET['suj'].'" method="post">
    <label for="pseudo">Pseudo</label>
    <input type="text" name="pseudo" size="130" maxlength="30"><br>
    <label for="message">Message</label>
    <textarea name="message" rows="11" cols="97" maxlength="1000" wrap="hard" placeholder="Exprimez-vous"></textarea><br><br><br>
    <input type="submit" value="Envoyer" name="submit">
    <input type="reset" value="Annuler">
    </form>
    </div>';
    }
     
    // On vérifie que le formulaire vient d'être envoié.
    if (!isset($_POST['submit'])) {
    }
    // On regarde si nos variables ne sont pas vides.
    elseif ((isset($_POST['submit'])) && (!empty($_POST['pseudo'])) && (!empty($_POST['message']))) {
     
    	// On teste la conformité d'écriture des champs.
    	// Pseudo  
    	$_POST['pseudo'] = htmlspecialchars($_POST['pseudo']);     
    	if (preg_match("#^[a-zA-Z0-9éèêëàâùüïîô\s\r,;'\".?!()\[\]{}_-]{3,30}$#", $_POST['pseudo'])) {
    	// Message
    	$_POST['message'] = htmlspecialchars($_POST['message']);   
    	if (preg_match("#^[a-zA-Z0-9éèêëàâùüïîô\s\r,;'\".?!()\[\]{}_-]{3,1000}$#", $_POST['message'])) {
     
    		// Insertion des informations dans la base de données
    		$bdd = new PDO('mysql:host=.................');
    		$req = $bdd->prepare('INSERT INTO repforum(idforum, pseudorep, message, daterep) VALUE(:idforum, :pseudo, :message, NOW())');
    		$req->execute(array(
    		':idforum' => $_GET['suj'],
       		':pseudo' => $_POST['pseudo'],
       		':message' => $_POST['message']));
     
    		//Redirection et rafraichissement de la page
    		$delai=1; 
    		$url='repforum.php?suj='.$_GET['suj'];
    		header("Refresh: $delai;url=$url");
     
    	}
    	else {
    	echo"<script>alert('Message non valide');</script>";
    	}
    	}
    	else {
    	echo"<script>alert('Pseudo non valide');</script>";
    	}
    }
    else {
    echo"<script>alert('Veuiller remplir tous les champs marqués d\'une étoile svp');</script>";
    }
    ?>
     
    </div>
    </div>
    <?php include '../php/pied-de-page.php'; ?>
    </body>
    </html>

  20. #20
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 500
    Billets dans le blog
    1
    Par défaut
    Pour pouvoir faire tourner le code, on peut commenter les include ainsi que le css, mais peux-tu donner la structure des tables MySQL ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Création d'un forum, besoin de votre avis
    Par swf_err2str dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/04/2006, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo