par
bibou51 » 03 févr. 2019, 16:12
bonjour,
bon j'ai réussi à faire ma fonction "modifier" mais ça ne fonctionne que quand je suis connecté en admin.
si on pouvais m'aider pour que l'auteur d'un message puisse aussi modifier ou supprimer ses propres messages ça serait sympa.
Merci d'avance.
<?php
define('include',NULL);
include('../core.php');
if (!isset($_SESSION['membre']) || $_SESSION['connect'] != true){header('Location: /compte/login'); die();}
$nompage = 'Categorie 1';
$page = "categorie1";
$descpage = 'Categorie 1 du Forum du site';
include('../header.php');
include('../sidebar.php');
$sqlinfos = $db->prepare('SELECT euros, credits, pseudo, avatar FROM membres WHERE id = :id');
$sqlinfos->execute(array(':id' => $_SESSION['membre']));
$infos = $sqlinfos->fetch(PDO::FETCH_OBJ);
$avatar = ($infos->avatar == '') ? '/theme/images/noavatar.png' : $infos->avatar;
if(isset($_POST['envoyer']))
{
$message=($_POST['message']);
$auteur=($_POST['auteur']);
$categorie=($_POST['categorie']);
$date=($_POST['date']);
}
$insert = $db->prepare('INSERT INTO forum_commentaire1 SET message = :message, auteur = :auteur, categorie = :categorie, date = :date');
$insert->execute(array(':message'=>$_POST['message'], ':auteur'=>$_POST['auteur'], ':categorie'=>$_POST['categorie'], ':date'=>time()));
// fonction supprimer
if (isset($_POST['del_x']) && isset($_SESSION['pseudo']) && $_SESSION['admin'] == true) {
$_POST['id'] = intval($_POST['id']);
$delete = $db->prepare('DELETE FROM forum_commentaire1 WHERE id = :id');
$delete->execute(array(':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Supprimé</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
$delete = $db->prepare('UPDATE forum_commentaire1 SET message = :message, auteur = :auteur WHERE id = :id');
$delete->execute(array(':message' => $_POST['message'], ':auteur' => $_POST['auteur'], ':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Modifié</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
}
// fin fonction supprimer
// fonction modifier
if (isset($_POST['modif_x']) && isset($_SESSION['pseudo']) && $_SESSION['admin'] == true && isset($_POST['id']) && $_POST['id'] != '') {
$_POST['id'] = intval($_POST['id']);
$sqllivre2 = $db->prepare('SELECT * FROM forum_commentaire1 WHERE id = :id');
$sqllivre2->execute(array(':id' => $_POST['id']));
$livre2 = $sqllivre2->fetch(PDO::FETCH_OBJ);
//
$delete = $db->prepare('DELETE FROM forum_commentaire1 WHERE id = :id');
$delete->execute(array(':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Supprimé</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
$delete = $db->prepare('UPDATE forum_commentaire1 SET message = :message, auteur = :auteur, date = :date WHERE id = :id');
$delete->execute(array(':message' => $_POST['message'], ':auteur' => $_POST['auteur'], ':date' => $_POST['date'], ':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Modifié</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
//
echo '<div id="content" class="float_r"><div class="center topart"><h3>Discussions sur le site</h3><div class="sidehead2"><div class="sidehead3"></div></div></div>
<div class="center padding">
Des questions, des commentaires, des idées à proposer ?<br>N\'hésitez pas à venir les poster ici !<br><br>
<div class="center"><a href="index"><button type="button" class="btn">Retour au forum</button></a></div><br>
<form method="post" action="categorie1">
<input type="hidden" value="'.$infos->pseudo.'" name="auteur" />
<input type="hidden" value="1" name="categorie" />
<input type="hidden" value="time" name="date" />
<table class="table"><tr class="tr"><td style="width: 90%" class="center"><b>Modifier votre commentaire</b></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><textarea rows="6" cols="45" class="input" name="message" id="message" placeholder="Ecrivez ici votre commentaire..." required>'.$livre2->message.'</textarea></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><input type="submit" value="Modifier" name="modifier" class="btn" /></td></tr>
</table></form><br /><br />
</div></div>';
}
else{
// fin fonction modifier
$sqlpubh = $db->prepare('SELECT pub FROM pubs WHERE page = :page AND pos = :pos LIMIT 1');
$sqlpubh->execute(array(':page' => 'forum', ':pos' => 'haut'));
$pubh = $sqlpubh->fetch(PDO::FETCH_OBJ);
$sqlpubb = $db->prepare('SELECT pub FROM pubs WHERE page = :page AND pos = :pos LIMIT 1');
$sqlpubb->execute(array(':page' => 'forum', ':pos' => 'bas'));
$pubb = $sqlpubb->fetch(PDO::FETCH_OBJ);
echo '
<div id="content" class="float_r"><div class="center topart"><h3>Discussions sur le site</h3><div class="sidehead2"><div class="sidehead3"></div></div></div>
<div class="center padding">
Des questions, des commentaires, des idées à proposer ?<br>N\'hésitez pas à venir les poster ici !<br><br>
<div class="center"><a href="index"><button type="button" class="btn">Retour au forum</button></a></div><br>
<form method="post" action="categorie1">
<input type="hidden" value="'.$infos->pseudo.'" name="auteur" />
<input type="hidden" value="1" name="categorie" />
<input type="hidden" value="time" name="date" />
<table class="table"><tr class="tr"><td style="width: 90%" class="center"><b>Ajouter votre commentaire</b></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><textarea rows="6" cols="45" class="input" name="message" id="message" placeholder="Ecrivez ici votre commentaire..." required></textarea></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><input type="submit" value="Enover" name="envoyer" class="btn" /></td></tr>
</table></form><br /><br />
<table class="table">
<tbody>
<tr class="tr"><td style="width:55%">Commentaire</td><td class="center" style="width:20%">Auteur</td><td class="center" style="width:25%">Date</td></tr>
</tbody>
</table>';
$sqlforum_commentaire1 = $db->query('SELECT * FROM forum_commentaire1 ORDER BY id DESC');
while($forum_commentaire1 = $sqlforum_commentaire1->fetch(PDO::FETCH_OBJ)){
$admin = (isset($_SESSION['pseudo']) && $_SESSION['admin'] == true) ? '<form method="post" action="categorie1" style="float:right"><input type="hidden" name="id" value="'.$forum_commentaire1->id.'" /><input type="image" src="/theme/images/edit.png" title="Modifier ce commentaire" name="modif" /> <input type="image" onclick="return confirm(\'Supprimer ce commentaire ?\');" src="/theme/images/del.png" title="Supprimer ce commentaire" name="del" /></form>' : '';
echo '<table class="table">
<tbody>
<tr style="background: white;">
<td style="width:55%">'.$forum_commentaire1->message.' '.$admin.' '.$auteur.'</td><td class="center" style="width:20%">'.$forum_commentaire1->auteur.'</td><td class="center" style="width:25%">'.jour_date($forum_commentaire1->date).'</td></tr>
</tbody>
</table>';
}
echo '<br><div class="center"><span style="color:green"><b>Mini Forum créé par bibou51</b></span></div><br>
</div><br />
</div>';
}
include('../footer.php');
?>
bonjour,
bon j'ai réussi à faire ma fonction "modifier" mais ça ne fonctionne que quand je suis connecté en admin.
si on pouvais m'aider pour que l'auteur d'un message puisse aussi modifier ou supprimer ses propres messages ça serait sympa.
Merci d'avance.
[PHP]<?php
define('include',NULL);
include('../core.php');
if (!isset($_SESSION['membre']) || $_SESSION['connect'] != true){header('Location: /compte/login'); die();}
$nompage = 'Categorie 1';
$page = "categorie1";
$descpage = 'Categorie 1 du Forum du site';
include('../header.php');
include('../sidebar.php');
$sqlinfos = $db->prepare('SELECT euros, credits, pseudo, avatar FROM membres WHERE id = :id');
$sqlinfos->execute(array(':id' => $_SESSION['membre']));
$infos = $sqlinfos->fetch(PDO::FETCH_OBJ);
$avatar = ($infos->avatar == '') ? '/theme/images/noavatar.png' : $infos->avatar;
if(isset($_POST['envoyer']))
{
$message=($_POST['message']);
$auteur=($_POST['auteur']);
$categorie=($_POST['categorie']);
$date=($_POST['date']);
}
$insert = $db->prepare('INSERT INTO forum_commentaire1 SET message = :message, auteur = :auteur, categorie = :categorie, date = :date');
$insert->execute(array(':message'=>$_POST['message'], ':auteur'=>$_POST['auteur'], ':categorie'=>$_POST['categorie'], ':date'=>time()));
// fonction supprimer
if (isset($_POST['del_x']) && isset($_SESSION['pseudo']) && $_SESSION['admin'] == true) {
$_POST['id'] = intval($_POST['id']);
$delete = $db->prepare('DELETE FROM forum_commentaire1 WHERE id = :id');
$delete->execute(array(':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Supprimé</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
$delete = $db->prepare('UPDATE forum_commentaire1 SET message = :message, auteur = :auteur WHERE id = :id');
$delete->execute(array(':message' => $_POST['message'], ':auteur' => $_POST['auteur'], ':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Modifié</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
}
// fin fonction supprimer
// fonction modifier
if (isset($_POST['modif_x']) && isset($_SESSION['pseudo']) && $_SESSION['admin'] == true && isset($_POST['id']) && $_POST['id'] != '') {
$_POST['id'] = intval($_POST['id']);
$sqllivre2 = $db->prepare('SELECT * FROM forum_commentaire1 WHERE id = :id');
$sqllivre2->execute(array(':id' => $_POST['id']));
$livre2 = $sqllivre2->fetch(PDO::FETCH_OBJ);
//
$delete = $db->prepare('DELETE FROM forum_commentaire1 WHERE id = :id');
$delete->execute(array(':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Supprimé</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
$delete = $db->prepare('UPDATE forum_commentaire1 SET message = :message, auteur = :auteur, date = :date WHERE id = :id');
$delete->execute(array(':message' => $_POST['message'], ':auteur' => $_POST['auteur'], ':date' => $_POST['date'], ':id' => $_POST['id']));
$message = '<div id=valid>Commentaire Modifié</div><script>setTimeout(\'window.location.replace("/categorie1")\',2000);</script>';
//
echo '<div id="content" class="float_r"><div class="center topart"><h3>Discussions sur le site</h3><div class="sidehead2"><div class="sidehead3"></div></div></div>
<div class="center padding">
Des questions, des commentaires, des idées à proposer ?<br>N\'hésitez pas à venir les poster ici !<br><br>
<div class="center"><a href="index"><button type="button" class="btn">Retour au forum</button></a></div><br>
<form method="post" action="categorie1">
<input type="hidden" value="'.$infos->pseudo.'" name="auteur" />
<input type="hidden" value="1" name="categorie" />
<input type="hidden" value="time" name="date" />
<table class="table"><tr class="tr"><td style="width: 90%" class="center"><b>Modifier votre commentaire</b></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><textarea rows="6" cols="45" class="input" name="message" id="message" placeholder="Ecrivez ici votre commentaire..." required>'.$livre2->message.'</textarea></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><input type="submit" value="Modifier" name="modifier" class="btn" /></td></tr>
</table></form><br /><br />
</div></div>';
}
else{
// fin fonction modifier
$sqlpubh = $db->prepare('SELECT pub FROM pubs WHERE page = :page AND pos = :pos LIMIT 1');
$sqlpubh->execute(array(':page' => 'forum', ':pos' => 'haut'));
$pubh = $sqlpubh->fetch(PDO::FETCH_OBJ);
$sqlpubb = $db->prepare('SELECT pub FROM pubs WHERE page = :page AND pos = :pos LIMIT 1');
$sqlpubb->execute(array(':page' => 'forum', ':pos' => 'bas'));
$pubb = $sqlpubb->fetch(PDO::FETCH_OBJ);
echo '
<div id="content" class="float_r"><div class="center topart"><h3>Discussions sur le site</h3><div class="sidehead2"><div class="sidehead3"></div></div></div>
<div class="center padding">
Des questions, des commentaires, des idées à proposer ?<br>N\'hésitez pas à venir les poster ici !<br><br>
<div class="center"><a href="index"><button type="button" class="btn">Retour au forum</button></a></div><br>
<form method="post" action="categorie1">
<input type="hidden" value="'.$infos->pseudo.'" name="auteur" />
<input type="hidden" value="1" name="categorie" />
<input type="hidden" value="time" name="date" />
<table class="table"><tr class="tr"><td style="width: 90%" class="center"><b>Ajouter votre commentaire</b></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><textarea rows="6" cols="45" class="input" name="message" id="message" placeholder="Ecrivez ici votre commentaire..." required></textarea></td></tr>
<tr style="background: white;"><td style="width: 90%" class="center"><input type="submit" value="Enover" name="envoyer" class="btn" /></td></tr>
</table></form><br /><br />
<table class="table">
<tbody>
<tr class="tr"><td style="width:55%">Commentaire</td><td class="center" style="width:20%">Auteur</td><td class="center" style="width:25%">Date</td></tr>
</tbody>
</table>';
$sqlforum_commentaire1 = $db->query('SELECT * FROM forum_commentaire1 ORDER BY id DESC');
while($forum_commentaire1 = $sqlforum_commentaire1->fetch(PDO::FETCH_OBJ)){
$admin = (isset($_SESSION['pseudo']) && $_SESSION['admin'] == true) ? '<form method="post" action="categorie1" style="float:right"><input type="hidden" name="id" value="'.$forum_commentaire1->id.'" /><input type="image" src="/theme/images/edit.png" title="Modifier ce commentaire" name="modif" /> <input type="image" onclick="return confirm(\'Supprimer ce commentaire ?\');" src="/theme/images/del.png" title="Supprimer ce commentaire" name="del" /></form>' : '';
echo '<table class="table">
<tbody>
<tr style="background: white;">
<td style="width:55%">'.$forum_commentaire1->message.' '.$admin.' '.$auteur.'</td><td class="center" style="width:20%">'.$forum_commentaire1->auteur.'</td><td class="center" style="width:25%">'.jour_date($forum_commentaire1->date).'</td></tr>
</tbody>
</table>';
}
echo '<br><div class="center"><span style="color:green"><b>Mini Forum créé par bibou51</b></span></div><br>
</div><br />
</div>';
}
include('../footer.php');
?>[/PHP]