thomas_68740
Messages postés6Date d'inscriptionmardi 5 mars 2019StatutMembreDernière intervention 6 mars 2019
-
5 mars 2019 à 13:28
thomas_68740
Messages postés6Date d'inscriptionmardi 5 mars 2019StatutMembreDerniè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();
?>
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...
thomas_68740
Messages postés6Date d'inscriptionmardi 5 mars 2019StatutMembreDernière intervention 6 mars 2019 Modifié le 5 mars 2019 à 21:11
Du coup j'ai deja avancer :
admin.php
<html>
<head>
<meta charset="UTF-8">
<title>|| Faction TOI Projet ||</title>
<div id="myDIV" class="header_fond">
</head>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des derniers messages
$reponse = $bdd->query('SELECT * FROM minichat WHERE confirme =2');
// 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/>'.'<form method="post" action="true.php">
<p><input type="submit" value="VALIDER" /></p>
</form> '.'</li>';
}
$reponse->closeCursor();
?>
et true.php
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$bdd->exec('UPDATE minichat SET confirme = 1 WHERE ID = 35')
?>
EDIT : Ajout des balises de code
mais comme on le voit, l'ID qui va etre valider est deja écrite et définit. Or ce que je veux c'est que ce soit celle où j'ai cliquer sur valider qui doit être validé et non celle que j'ai définit dans le code par un nombre
jordane45
Messages postés37295Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 1 avril 2023341 Modifié le 5 mars 2019 à 21:13
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és6Date d'inscriptionmardi 5 mars 2019StatutMembreDernière intervention 6 mars 2019 Modifié le 5 mars 2019 à 21:12
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és37295Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 1 avril 2023341
>
thomas_68740
Messages postés6Date d'inscriptionmardi 5 mars 2019StatutMembreDernière intervention 6 mars 2019 5 mars 2019 à 21:13
regarde ma réponse.
thomas_68740
Messages postés6Date d'inscriptionmardi 5 mars 2019StatutMembreDernière intervention 6 mars 2019 Modifié le 5 mars 2019 à 21:19
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
<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és37295Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 1 avril 2023341 5 mars 2019 à 23:46
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és6Date d'inscriptionmardi 5 mars 2019StatutMembreDernière intervention 6 mars 2019 6 mars 2019 à 00:00
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é
Modifié le 5 mars 2019 à 21:11
admin.php
et true.php
EDIT : Ajout des balises de code
mais comme on le voit, l'ID qui va etre valider est deja écrite et définit. Or ce que je veux c'est que ce soit celle où j'ai cliquer sur valider qui doit être validé et non celle que j'ai définit dans le code par un nombre
Modifié le 5 mars 2019 à 21:13
Mais si tu as un "nouveau" fichier true.php
dans ce cas, pas besoin de submit....
Une simple lien suffirait ...
Dans admin.php
Et côté true.php
et donc
Modifié le 5 mars 2019 à 21:12
Oui mais après il me faut l'ID du com qui doit etre validé et pas que je mette moi meme le nombre..
5 mars 2019 à 21:13
Modifié le 5 mars 2019 à 21:19