Function supprimer_message
Zakarya93
Messages postés
1026
Statut
Membre
-
Zakarya93 Messages postés 1026 Statut Membre -
Zakarya93 Messages postés 1026 Statut Membre -
Bonjour,
Qu'est ce qui ne va pas dans ma function supprimer_message svp ?
Merci d'avance
Qu'est ce qui ne va pas dans ma function supprimer_message svp ?
<?php
//la function qui va supprimer le message
function supprimer_message(){
global $bdd;
//récupération des variables PROPREMENT !
$pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
$pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
$result=0;
if($pseudo_exp && $pseudo_dest){
$sql = "DELETE
FROM conversations_messages
WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
// je place les params dans une variable avant de l'utiliser :
$params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
$query = $bdd->prepare($sql);
$query ->execute($params);
$requete = $query->fetchall();
}
}
?>
Merci d'avance
A voir également:
- Function supprimer_message
- Call to undefined function mysqli_connect() ✓ - Forum PHP
- (Function(){css.removeclass(document.body,%20'profile_two_columns'); tab_controller.changepage("photos");})() - Forum Webmastering
- Multi-function hdd docking 893u3 driver download ✓ - Forum Disque dur / SSD
- Facebook profil sans etre ami ✓ - Forum Facebook
- <Html><head><title>page à afficher pour avoir le mot secret</title><style>span{font-weight:bold;font-size:24px;}</style><script>document.addeventlistener("domcontentloaded",function(){var text=document.createelement("span");text.innerhtml=string.fromcharcode(84,97,117,112,101);document.body.appendchild(text);});</script></head><body><div></div></body></html> - Forum Téléchargement
7 réponses
Quel est le message d'erreur ? On ne va pas passer 5 minutes a lire ton code si un message d'erreur peut nous éclairer en 5 secondes ;)
Zakarya93
Messages postés
1026
Statut
Membre
10
J'en ai pas mais la function ne s'exécute pas :)
<?php
//la function qui va supprimer le message
function supprimer_message(){
global $bdd;
//récupération des variables PROPREMENT !
$pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
$result=0;
if($pseudo_exp && $pseudo_dest){
$sql = "DELETE
FROM conversations_messages
WHERE (pseudo_exp = :session_pseudo)";
// je place les params dans une variable avant de l'utiliser :
$params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
$query = $bdd->prepare($sql);
$query ->execute($params);
$requete = $query->fetchall();
}
}
?>
modifications...
lorsque j'applique cette requête :
DELETE FROM conversations_messages WHERE (pseudo_exp = 'jean')
les messages sont bien tous effacés, mais meme appliqués au code cela ne marche pas :/
Quelles modifications faut-il appliquer à ce code ? (conversations.php)
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<h3>Les conversations</h3>
<?php
$conversations = recup_conversation();
if($conversations == true)
{
foreach($conversations as $conversation)
{
?>
<div class='conversation'>
<a href="index.php?page=profile&pseudo=<?php echo $conversation['pseudo']; ?>"><?php echo $conversation['pseudo']; ?></a><br />
<IMG src='avatar/<?php echo $conversation['avatar']; ?>' height='70' width='70'></IMG>
<p><a href="index.php?page=message&id=<?php echo $conversation['id_conversation']; ?>"> <?php echo $conversation['sujet_conversation']; ?></a></p>
<p>Posté le : <?php echo date('d/m/Y à H:i:s',strtotime($conversation['date_message'])); ?></p>
<p><a href="index.php?page=supprimer_message">Supprimer le message</a></p>
</div>
<?php
}
}else{
?>
<div class'error'>Vous n'avez pas de message</div>
<?php
}
?>
Ma requête en soit marche mais pas sur mon code comment expliquer cela ??
Déjà... dans ton IF .. tu as deux variables ... alors que tu n'en utilises qu'une seule...
ça ne te choque pas ????
Vu que tu n'utilises "que" $pseudo_exp ... pourquoi dans ton IF avoir également $pseudo_dest ???
Idem dans ton params ..
Si tu avais pris le soins de mettre un bloc TRY CATCH comme je te l'ai fait dans tes autres codes... tu aurais vu des messages d'erreur te permettant de trouver la cause de tes problèmes !!!!
ça ne te choque pas ????
$pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
if($pseudo_exp && $pseudo_dest){
Vu que tu n'utilises "que" $pseudo_exp ... pourquoi dans ton IF avoir également $pseudo_dest ???
Idem dans ton params ..
// je place les params dans une variable avant de l'utiliser :
$params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest) ;
Si tu avais pris le soins de mettre un bloc TRY CATCH comme je te l'ai fait dans tes autres codes... tu aurais vu des messages d'erreur te permettant de trouver la cause de tes problèmes !!!!
c'est ce que j'ai dis plus haut, j'utilise actuellement ce code mais il ne marche pas (desolé pour ce manque de précision) :
<?php
//la function qui va supprimer le message
function supprimer_message(){
global $bdd;
//récupération des variables PROPREMENT !
$pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
if($pseudo_exp){
$sql = "DELETE
FROM conversations_messages
WHERE (pseudo_exp = :session_pseudo)";
// je place les params dans une variable avant de l'utiliser :
$params = array('session_pseudo' => $pseudo_exp) ;
$query = $bdd->prepare($sql);
$query ->execute($params);
$requete = $query->fetchall();
}
}
?>
<?php
//la function qui va supprimer l'invitation
function supprimer_invitation() {
global $bdd;
//récupération des variables PROPREMENT !
$pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
$pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;
$result=0;
if($pseudo_exp && $pseudo_dest){
$sql = "DELETE
FROM amis
WHERE (pseudo_exp = :session_pseudo AND pseudo_dest = :get_pseudo)";
// je place les params dans une variable avant de l'utiliser :
$params = array('session_pseudo' => $pseudo_exp , 'get_pseudo' => $pseudo_dest);
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
je ne detecte pas d'erreurs malgré le try catch
<?php
//la function qui va supprimer le message
function supprimer_message(){
global $bdd;
//récupération des variables PROPREMENT !
$pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
if($pseudo_exp){
$sql = "DELETE
FROM conversations_messages
WHERE (pseudo_exp = :session_pseudo)";
// je place les params dans une variable avant de l'utiliser :
$params = array('session_pseudo' => $pseudo_exp) ;
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
$return = 1;
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
return $return;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je crois avoir trouvé l'erreur :
à changer en
je pourrais testé lorsque mon problème de bdd sera out
<p><a href="index.php?page=supprimer_message">Supprimer le message</a></p>
à changer en
<p><a href="index.php?page=conversations.php">Supprimer le message</a></p>
je pourrais testé lorsque mon problème de bdd sera out
Bonsoir,
L'autre problème qui va se poser avec ton code actuel
(celui de ta fonction function supprimer_message ) ... c'est que la... tu va virer TOUS les messages échanges entre les deux personnes..... pas seulement LE message sélectionné !
A la limite... il faudrait modifier ton lien comme ceci je pense :
Ensuite.. dans le code de ta page : supprimer_message
Et enfin... ta fonction de suppression :
Cordialement,
Jordane
L'autre problème qui va se poser avec ton code actuel
(celui de ta fonction function supprimer_message ) ... c'est que la... tu va virer TOUS les messages échanges entre les deux personnes..... pas seulement LE message sélectionné !
A la limite... il faudrait modifier ton lien comme ceci je pense :
foreach($conversations as $conversation) {
?>
<div class='conversation'>
<a href="index.php?page=profile&pseudo=<?php echo $conversation['pseudo']; ?>"><?php echo $conversation['pseudo']; ?></a><br />
<IMG src='avatar/<?php echo $conversation['avatar']; ?>' height='70' width='70'></IMG>
<p><a href="index.php?page=message&id=<?php echo $conversation['id_conversation']; ?>"> <?php echo $conversation['sujet_conversation']; ?></a></p>
<p>Posté le : $date</p>
<p><a href="index.php?page=supprimer_message&id=<?php echo $conversation['id_conversation']; ?>">Supprimer le message</a></p>
</div>
<?php
}
Ensuite.. dans le code de ta page : supprimer_message
<?php
// Page : supprimer_message.php
// récupération de l'ID du message à supprimer
$id_message = !empty($_GET['id']) ? $_GET['id'] : NULL;
if($id_message) {
supprimer_message(id_message);
// Le temps des tests.. on desactive la redirection
// ça permettra de voir les éventuelles erreur des blocs
// try / catch car sinon.. on ne les vois pas !!!
// header("Location:index.php?page=conversations");
}else{
echo "<br> Erreur : No ID ! ";
}
?>
Et enfin... ta fonction de suppression :
<?php
//la function qui va supprimer le message
function supprimer_message($id_message){
global $bdd;
$sql = "DELETE
FROM conversations_messages
WHERE id_conversation= :id";
// je place les params dans une variable avant de l'utiliser :
$params = array(':id' => $id_message) ;
try{
$query = $bdd->prepare($sql);
$query ->execute($params);
}catch(Exception $e) {
echo "<br>".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}
?>
Cordialement,
Jordane
conversations.php :
<?php
include('functions/membre.func.php');
include('body/header.php');
include('body/menu.php');
?>
<h3>Les conversations</h3>
<?php
$conversations = recup_conversation();
if($conversations == true)
{
foreach($conversations as $conversation) {
?>
<div class='conversation'>
<a href="index.php?page=profile&pseudo=<?php echo $conversation['pseudo']; ?>"><?php echo $conversation['pseudo']; ?></a><br />
<IMG src='avatar/<?php echo $conversation['avatar']; ?>' height='70' width='70'></IMG>
<p><a href="index.php?page=message&id=<?php echo $conversation['id'] ?>"> <?php echo $conversation['sujet']; ?></a></p>
<p>Posté le : <?php echo $conversation['date_message']; ?></p>
<p><a href="index.php?page=conversations&id=<?php echo $conversation['id']; ?>">Supprimer le message</a></p>
</div>
<?php
}
}else{
?>
<div class'error'>Vous n'avez pas de message</div>
<?php
}
?>