[RESOLU] fonction modifier un commentaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] fonction modifier un commentaire

Re: fonction modifier un commentaire

par Spols » 12 févr. 2019, 09:11

Il faut que tu débug ton code pour savoir pourquoi cela ne marche pas.

Ajoute des echo/var_dump pour connaitre les valeurs de tes variables et pourquoi elle ne correspondent pas à tes désirs.

Re: fonction modifier un commentaire

par bibou51 » 11 févr. 2019, 15:13

bonjour Spols,
Merci pour ton aide mais ça ne fonctionne pas non plus.

Re: fonction modifier un commentaire

par Spols » 11 févr. 2019, 09:17

isset($_SESSION['pseudo']) && $_SESSION['admin'] == true

==>

isset($_SESSION['pseudo']) && ($_SESSION['admin'] == true || $_SESSION['pseudo'] == $_POST['auteur'])

à condition d'avoir toujours une superglobale _POST et que l'auteur et le pseudo soit identique.

Re: fonction modifier un commentaire

par bibou51 » 09 févr. 2019, 18:46

Bonjour,
Malgré tout mes essais tout au long de la semaine je n'ai toujours pas trouvé la solution...
Donc si on pouvait me donner un indice supplémentaire ça serait cool.
Merci d'avance.
p.s. ; je suis débutant soyez indulgent.

Re: fonction modifier un commentaire

par bibou51 » 04 févr. 2019, 23:19

Bonjour Spols,
Merci pour l'indice mais j'ai essayé avec un || et $_POST['auteur'] et aussi $_POST['message'] et j'y arrive pas.
Pourtant je suis sûr que c'est tout bête mais comme je suis débutant ce n'est pas toujours évident.

Re: fonction modifier un commentaire

par Spols » 04 févr. 2019, 17:04

insère une condition alternative à ceci $_SESSION['admin'] == true en cherchant à savoir si le post est écrit par le membre connecté.

indice: un || sera utile

Re: fonction modifier un commentaire

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" />&nbsp;<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');
?>

fonction modifier un commentaire

par bibou51 » 03 févr. 2019, 00:03

Bonjour,
sur cette page je viens de réussir a créer une fonction pour supprimer les messages par contre je n'arrive pas à faire une fonction pour modifier les messages.
si quelqu'un pouvais m'aider ce 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 upprimer

// fonction modifier


//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="Envoyer" 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" />&nbsp;<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.'</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');
?>