Créer un systeme de validation de commentaires [Résolu]

Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
- - Dernière réponse : thomas_68740
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
- 6 mars 2019 à 00:00
Bonjour,

J'aurai besoin de faire un système qui fait que tout les commentaires proposés sur la page projet.php sois envoyer sur la page admin.php afin que les admins valide ou refuse les commentaires. Dans la base de données, la colonne est nommé 'confirme' est a pour base le choffre "2" pour refus. Le 1 sera pour confirmer.
J'ai deja le code du projet.php mais après je ne sais pas comment faire donc si vous pouviez m'aidez merci !!

projet.php :
<html>
<head>
  <link rel="stylesheet" href="style2.css" />
  <meta charset="UTF-8">
  <title>|| Faction TOI Projet ||</title>
<div id="myDIV" class="header_fond">
</head>
                <legend style="font-size: 30px;">Proposition de projets :</legend>
</div>
    <div id="myDIV" class="header">

    <body>
    <form action="post.php" method="post">
        <p>
        <label for="pseudo"></label><input  type="text" required="Pseudo en jeu" name="pseudo" placeholder="Pseudo de jeu" id="pseudo"  required minlength="4" maxlength="15" />
        <label for="message"></label><textarea  minlength="10" maxlength="500"  rows="3" cols="58" type="text" required="message" name="message" id="message" placeholder="Idée de projet" /></textarea><br />

       <center> <input type="submit" value="Envoyer" /></center>
    </p>
    </form>
</div>

<div class="test">

<ul>
<?php
// Connexion à la base de données
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

// Récupération des 100 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 100;');

// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
    echo '■ Projet proposé par :'.'<li>' 
    .htmlspecialchars($donnees['pseudo']) .'.'.'  '.'Ce joueur propose :'.' '.'' 
    .htmlspecialchars($donnees['message']).'<br/><br/>'.'</li>';

}

$reponse->closeCursor();

?>

Afficher la suite 

2 réponses

Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316
0
Merci
Bonjour,

On a un peu de mal à comprendre la question.....

As tu commencé à écrire le code de la page admin.php ?
Page qui .. pour commencer listera les commentaires à modérer....


Avant de continuer à écrire du code... je t'invite vivement à lire et à appliquer les consignes/conseils donnés dans ces deux liens :
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

Reviens nous voir lorsque tu auras procédé aux corrections données dans ces liens et commencé à écrire ton fichier admin.php
Sans oublier de nous expliquer clairement sur quel point technique tu bloques précisément...


jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
Visiblement tu n'as pas encore pris la peine de lire les liens que je t'ai donné.
Mais si tu as un "nouveau" fichier true.php
dans ce cas, pas besoin de submit....
Une simple lien suffirait ...

Dans admin.php
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
    echo '■ Projet proposé par :'.'<li>'
    .htmlspecialchars($donnees['pseudo']) .'.'.'  '.'Ce joueur propose :'.' '.''
    .htmlspecialchars($donnees['message']).'<br/><br/>'.'<p><a href="true.php?id='.$donnees['id'].'" >Valider</a></li>';
 
}


Et côté true.php
$id = !empty($_GET['id']) ? $_GET['id'] : NULL;


et donc
if($id){
  $sql = 'UPDATE minichat SET confirme = 1 WHERE ID = ?';
  $datas = array($id);
  try{
    $prepare = $bdd->prepare($sql);
    $prepare->execute($datas);
  }catch(Exception $e){
   echo "Erreur : ".$e->getMessage();
  }
}
thomas_68740
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
-
Je suis en cours de lecture sa c'est ce que j'ai fais depuis le premier poste.
Oui mais après il me faut l'ID du com qui doit etre validé et pas que je mette moi meme le nombre..
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 > thomas_68740
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
-
regarde ma réponse.
thomas_68740
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
-
Le submit est quand meme mieux car déjà après je ferai l'option supprimer quand sa serait ais le validé. Et sinon c'est bon enfaite
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 > thomas_68740
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
-
Si c'est bon, met le sujet en résolu.
Commenter la réponse de jordane45
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
0
Merci
Enfaite encore un truc.
Voici le codes ou seront affichés les commentaires approuvés :
<html>
<head>
<link rel="stylesheet" href="style2.css" />
<meta charset="UTF-8">
<title>|| Faction TOI Projet ||</title>
<div id="myDIV" class="header_fond">
</head>
<legend style="font-size: 30px;">Proposition de projets :</legend>
</div>
<div id="myDIV" class="header">

<body>
<form action="post.php" method="post">
<p>
<label for="pseudo"></label><input type="text" required="Pseudo en jeu" name="pseudo" placeholder="Pseudo de jeu" id="pseudo" required minlength="4" maxlength="15" />
<label for="message"></label><textarea minlength="10" maxlength="500" rows="3" cols="58" type="text" required="message" name="message" id="message" placeholder="Idée de projet" /></textarea><br />

<center> <input type="submit" value="Envoyer" /></center>
</p>
</form>
</div>

<div class="test">

<ul>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

// Récupération des 100 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 20;');

// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '■ Projet proposé par :'.'<li>'
.htmlspecialchars($donnees['pseudo']) .'.'.'  '.'Ce joueur propose :'.' '.''
.htmlspecialchars($donnees['message']).'<br/><br/>'.'</li>';

}

$reponse->closeCursor();

?>


Comment je fais pour qu'il n'y ai que les approuvés. J'ai l’impression d’oublier un truc
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
1 - Merci de poster ton code CORRECTEMENT en utilisant les BALISES DE CODE
Explications disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

2 - Tu n'as pas appliqué les consignes présentes dans les liens que je t'ai donné... pourquoi donc me fatiguerai-je encore à te répondre ??

3 - Je vais quand même te répondre... oui tu as oublié un truc.... un WHERE dans ta requête....
thomas_68740
Messages postés
6
Date d'inscription
mardi 5 mars 2019
Statut
Membre
Dernière intervention
6 mars 2019
-
excuse moi... J'étais tellement dans le code en me disant que lire ne servait pas. J'ai trouver grace a vous mais promis je vais lire les liens que tu a donnés. D'ailleurs je vais aussi refaire des cours de php. Merci de ton aide et désolé d'avoir été aussi obstiné
Commenter la réponse de thomas_68740