Bonjour,
je créée un forum de discussion avec 3 pages (la page forum qui affiche les sujets, la page repforum qui affiche les réponses à un sujet, la page reprepforum qui permet de rédiger une réponse qui, après validation du formulaire, se postera sur repforum). J'espère que c'est assez claire
Sur forum j'ai un idforum par sujet. Je le récupère sur repforum pour n'avoir que les réponses au sujet choisi. Je souhaite le récupérer de nouveau sur reprepforum pour que la réponse rédigée soit attribuée au bon sujet mais voilà que là, ca ne fonctionne pas.
Quelqu'un pour m'aider??? J'suis débutante, je galère un peu, désolée!!
Voilà repforum : (passage de forum à repforum: affichage correct, passage de reprepforum à repforum: affichage de toutes les réponses, donc pas de prise en compte de l'idforum voulu)
Voici reprepforum:
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 <?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(); ?> ......... // 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()) { ....... <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 à votre compte</a>. </div>'; }
Merciiiiiiiii!!!
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 <form action="reprepforum.php" 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> <?php // 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éèàêâùïüëô.-_]{3,30}$#", $_POST['pseudo'])) { // Message $_POST['message'] = htmlspecialchars($_POST['message']); if (preg_match("#^[a-zA-Z0-9éèàêâùïüëô;,.\"\'() _-]{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");
Partager