Supprimer des messages dans une BAL

Eléphant du PHP | 81 Messages

16 juil. 2010, 10:53

Bonjour

Dans un petit client de messagerie, j’essaie de supprimer des messages qui se trouvent dans la BAL.

Dans une page :

Code : Tout sélectionner

onclick="javascript:document.location.href='mail-delete.php?numero=<?php echo $numero; ?>&mail_cnx=<?php echo $mail_cnx; ?>'"
je place un bouton qui permet d’appeler la fonction de suppression mail-delete.php :

Code : Tout sélectionner

$numero = htmlentities($_GET['numero']); $mail_cnx = htmlentities($_GET['mail_cnx']); imap_delete($mail_cnx, $numero); imap_expunge($mail_cnx);
Les 2 variables numero et mail_cnx sont apparement bien renseignées mais j’ai ces messages :

Code : Tout sélectionner

Warning: imap_delete(): supplied argument is not a valid imap resource Warning: imap_expunge(): supplied argument is not a valid imap resource
Par avance merci de votre aide.

Francois

ViPHP
ViPHP | 5462 Messages

16 juil. 2010, 11:01

$mail_cnx dois creer avec imap_open

Eléphant du PHP | 81 Messages

16 juil. 2010, 11:16

Absolument, je le crée auparavant:

Code : Tout sélectionner

if ($mail_cnx = imap_open ("{".$serveur_entrant.$port.$protocole.$options."}".$boite, $identifiant, $mot_de_passe) )
Je ne l'avais pas ajouté pour faire court.

Francois

ViPHP
ViPHP | 5462 Messages

16 juil. 2010, 11:23

Absolument, je le crée auparavant:

Code : Tout sélectionner

if ($mail_cnx = imap_open ("{".$serveur_entrant.$port.$protocole.$options."}".$boite, $identifiant, $mot_de_passe) )
Je ne l'avais pas ajouté pour faire court.

Francois

oui mais après tu fais
$mail_cnx = htmlentities($_GET['mail_cnx']); 
donc $mail_cnx n'est plus du type imap_open

Eléphant du PHP | 81 Messages

16 juil. 2010, 11:48

Aïe, mais j'ai essayé aussi avec:

Code : Tout sélectionner

$mail_cnx = $_GET['mail_cnx'];

et ça ne fonctionne pas non plus.

Faut-il que je refasse l'open dans le module delete?

Francois

ViPHP
ViPHP | 5462 Messages

16 juil. 2010, 11:52

Aïe, mais j'ai essayé aussi avec:

Code : Tout sélectionner

$mail_cnx = $_GET['mail_cnx'];

et ça ne fonctionne pas non plus.

Faut-il que je refasse l'open dans le module delete?

Francois
tu vois bien que si tu fais
$mail_cnx = $_GET['mail_cnx'];
ca écrase ca
$mail_cnx = imap_open ("{".$serveur_entrant.$port.$protocole.$options."}".$boite, $identifiant, $mot_de_passe) 

Eléphant du PHP | 81 Messages

16 juil. 2010, 16:27

En suivant ton conseil, j'ai initialisé mail_cnx dans la fonction delete.

Ca fonctionne à merveille.

Merci de ton aide précieuse.

Francois