Probleme de recherche sur Array (PHP)
Résolu/Fermé
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
-
6 juin 2009 à 19:42
le père - 6 juin 2009 à 22:41
le père - 6 juin 2009 à 22:41
A voir également:
- Probleme de recherche sur Array (PHP)
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Easy php - Télécharger - Divers Web & Internet
- Recherche adresse - Guide
- Recherche musique - Guide
- Recherche de pairs utorrent ✓ - Forum Téléchargement
4 réponses
Bonjour
Je n'ai pas tout compris de ce que tu cherches à faire, mais ceci me semble bizarre :
$H_BodyHead = imap_body ($MaBox, $message);
$H_BodyHead = imap_utf8($H_BodyHead);
$H_BodyHead = utf8_decode($H_BodyHead);
Ces 3 lignes de créent pas un tableau. Chaque ligne affecte une valeur à $H_BodyHead, la 3ème annule l'effet des 2 précédentes.
Je pense que tu aurais dû mettre $H_BodyHead[] = ... à chaque fois.
En suite
$_SESSION["SessMess"][] = array($H_BodyHead); me semble tout aussi bizarre
Selon ce que tu cherches à faire, c'est très probablement $_SESSION["SessMess"][] = $H_BodyHead; ou $_SESSION["SessMess"][] = $H_BodyHead;
Comme tu ne dis rien du tout (enfin, je n'ai pas vu..) sur la façon dont le numéro de message $Bkey est enregistré dans ta session, pas facile de t'aider à la retrouver...
Je n'ai pas tout compris de ce que tu cherches à faire, mais ceci me semble bizarre :
$H_BodyHead = imap_body ($MaBox, $message);
$H_BodyHead = imap_utf8($H_BodyHead);
$H_BodyHead = utf8_decode($H_BodyHead);
Ces 3 lignes de créent pas un tableau. Chaque ligne affecte une valeur à $H_BodyHead, la 3ème annule l'effet des 2 précédentes.
Je pense que tu aurais dû mettre $H_BodyHead[] = ... à chaque fois.
En suite
$_SESSION["SessMess"][] = array($H_BodyHead); me semble tout aussi bizarre
Selon ce que tu cherches à faire, c'est très probablement $_SESSION["SessMess"][] = $H_BodyHead; ou $_SESSION["SessMess"][] = $H_BodyHead;
Comme tu ne dis rien du tout (enfin, je n'ai pas vu..) sur la façon dont le numéro de message $Bkey est enregistré dans ta session, pas facile de t'aider à la retrouver...
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
6 juin 2009 à 22:04
6 juin 2009 à 22:04
Bonsoir,
oui effectivement mon code est bizarre et vu que je me prend la tete sur mon probleme j'ai du mal a l'expliquer.
Milles excuses.
donc pour reprendre effectivement deja j'ai quelques erreurs tel que celles relevés
En fait a :
$H_BodyHead = imap_body ($MaBox, $message);
$H_BodyHead = imap_utf8($H_BodyHead);
$H_BodyHead = utf8_decode($H_BodyHead);
je n'avais pas mentionné mais a la ligne suivante il y'a un tableau qui ne sert qu'a cette page :
$B_BodyHead = array('Message'=>$H_BodyHead);
puis plus bas j'ai inscrit ma variable de session qui a pour but de mettre tout les corps de message sous forme de tableau.
$_SESSION["SessMess"][] = array($H_BodyHead);
J'ai peu etre commis une erreur sur l'ecriture de ce morceau, j'ai bidouillé cela comme ca et visiblement cela ne posais pas de probleme pour la recuperation depuis j'ai changé pour ton code :
$_SESSION["SessMess"][] = $H_BodyHead;
(entre nous je vois pas de changement lorsque je demande un print_r dessus mais je te fais confiance.
ensuite une succession de bout de code qui me permet d'afficher une lsite des messages disponible dans ma bal.
cette liste s'affiche sans probleme et chaque message a son lien qui donne :
monsite/mapagedelecturedemail.php?id=$Bkey(le n° de message)
Pour repondre a ta question $Bkey correspond a ceci :
$Bkey = array('num'=>$Headers->Msgno);
(Msgno etant le numero du message dans la bal imap, ca c'est le serveur qui le gere)
Mon probleme est a la suite de cela.
Alors je vais essayer d'etre plus clair.
La page "mapagedelecturedemail.php" doit afficher le corps du message du lien precedent.
Donc si je clique sur le lien N°5 je veux que la page "mapagedelecturedemail.php" affiche le message N°5.
Et voila tout mon probleme car j'ai essayer plusieurs methode mais aucune ne fonctionne (je pense d'ailleurs que c'est mes lacunes qui sont en cause plus que le code lol.
Donc j'ai tenté des trucs comme cela :
if (array_key_exists($id, $_SESSION["SessMess"])) {
qui trouve sans soucis la clé, par exemple 5, comme dans mon exemple, mais apres?
Comment je peu faire comprendre a ce fichu PHP que je veux qu'il m'affiche la valeur correspondante a ma recherche.
J'espere avoir ete plus clair
Merci en tout cas
oui effectivement mon code est bizarre et vu que je me prend la tete sur mon probleme j'ai du mal a l'expliquer.
Milles excuses.
donc pour reprendre effectivement deja j'ai quelques erreurs tel que celles relevés
En fait a :
$H_BodyHead = imap_body ($MaBox, $message);
$H_BodyHead = imap_utf8($H_BodyHead);
$H_BodyHead = utf8_decode($H_BodyHead);
je n'avais pas mentionné mais a la ligne suivante il y'a un tableau qui ne sert qu'a cette page :
$B_BodyHead = array('Message'=>$H_BodyHead);
puis plus bas j'ai inscrit ma variable de session qui a pour but de mettre tout les corps de message sous forme de tableau.
$_SESSION["SessMess"][] = array($H_BodyHead);
J'ai peu etre commis une erreur sur l'ecriture de ce morceau, j'ai bidouillé cela comme ca et visiblement cela ne posais pas de probleme pour la recuperation depuis j'ai changé pour ton code :
$_SESSION["SessMess"][] = $H_BodyHead;
(entre nous je vois pas de changement lorsque je demande un print_r dessus mais je te fais confiance.
ensuite une succession de bout de code qui me permet d'afficher une lsite des messages disponible dans ma bal.
cette liste s'affiche sans probleme et chaque message a son lien qui donne :
monsite/mapagedelecturedemail.php?id=$Bkey(le n° de message)
Pour repondre a ta question $Bkey correspond a ceci :
$Bkey = array('num'=>$Headers->Msgno);
(Msgno etant le numero du message dans la bal imap, ca c'est le serveur qui le gere)
Mon probleme est a la suite de cela.
Alors je vais essayer d'etre plus clair.
La page "mapagedelecturedemail.php" doit afficher le corps du message du lien precedent.
Donc si je clique sur le lien N°5 je veux que la page "mapagedelecturedemail.php" affiche le message N°5.
Et voila tout mon probleme car j'ai essayer plusieurs methode mais aucune ne fonctionne (je pense d'ailleurs que c'est mes lacunes qui sont en cause plus que le code lol.
Donc j'ai tenté des trucs comme cela :
if (array_key_exists($id, $_SESSION["SessMess"])) {
qui trouve sans soucis la clé, par exemple 5, comme dans mon exemple, mais apres?
Comment je peu faire comprendre a ce fichu PHP que je veux qu'il m'affiche la valeur correspondante a ma recherche.
J'espere avoir ete plus clair
Merci en tout cas
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
6 juin 2009 à 22:35
6 juin 2009 à 22:35
Bon et bien j'ai trouve :)
alors il y'a certainement plus propre, vu que c'est au pif que j'ai sortie ca...
if (array_key_exists($id, $_SESSION["SessMess"])) {
foreach($_SESSION["SessMess"] as $cle=>$valeur) {
//echo 'CLE : '.$cle[$id].' - VALEUR '.$_SESSION["SessMess"][$id].'<br>';
$CleMess = $cle[$id];
$ValMess = $_SESSION["SessMess"][$id];
}
}
echo $ValMess (ca affiche le corps de mon message)
Ouf...
Si cela peu aider quelqu'un
Enjoy
alors il y'a certainement plus propre, vu que c'est au pif que j'ai sortie ca...
if (array_key_exists($id, $_SESSION["SessMess"])) {
foreach($_SESSION["SessMess"] as $cle=>$valeur) {
//echo 'CLE : '.$cle[$id].' - VALEUR '.$_SESSION["SessMess"][$id].'<br>';
$CleMess = $cle[$id];
$ValMess = $_SESSION["SessMess"][$id];
}
}
echo $ValMess (ca affiche le corps de mon message)
Ouf...
Si cela peu aider quelqu'un
Enjoy
Tu ne donnes que des fragments de code sans relation entre eux, je n'y comprends pratiquement rien et le peu que je comprends me semble incohérent.. Peux-tu donner le script ?
Et quand tu dis que
$_SESSION["SessMess"][] = $H_BodyHead; donne le même résultat que $_SESSION["SessMess"][] = array($H_BodyHead); (si c'est bien ça que tu dis...) j'ai bien du mal à te croire
Et quand tu dis que
$_SESSION["SessMess"][] = $H_BodyHead; donne le même résultat que $_SESSION["SessMess"][] = array($H_BodyHead); (si c'est bien ça que tu dis...) j'ai bien du mal à te croire