Eli siis sähköpostipalveluni antaa esim viesteissäni läst.fm tiedotteen lähettäjäksi mikseri.netin (http://fpaste.dy.fi/55E). Veikkaisin ongelman olevan siinä, että jos yksi viesti poistetaan, niin tietojen id pysyy samana mutta viestin muuttuu tai päinvastoin tai jotenkin ihan muuten.
read.php
<?php include("includes/topinclude.php"); session_start(); if(!isset($_SESSION["email"])) header("Location: login.php"); $email = $_SESSION["email"]; $password = $_SESSION["password"]; include("settings.php"); include("includes/top.php"); $MC = imap_check($mbox); $result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0); ?> <table border=1><tr><td> <?php $num = $_GET["id"]; echo "Lähettäjä: " . $result[intval($_GET["id"])]->from . "<br>\n"; echo "Lähetetty: " . $result[intval($_GET["id"])]->date . "<hr>\n"; if($num > 0) { echo imap_qprint(imap_body($mbox, $num)); } echo "</tr></td></table><br>"; include("includes/bottom.php"); ?>
Tuon taulukon sekvenssinumero (jota käytät) on noutokertakohtainen. Käytä message_id:tä viittaamaan viestiin sivulatausten välillä. Mielestäni on myös älytöntä ladata esim. kaikki uudet viestit IMAPilla jos sivu näyttää vain yhden viestin.
Miten toteutan sen, että se lataa vain yhden viestin? php.net:istä ei löytynyt tälläistä esimerkkiä. Ja message_id antaa jonku ihmetuloksen, kuten <20110306152030.81F748F777@mx1.viuhka.fi> niin miten tälläistä voi edes käyttää?
Tein tuolla functiolla uusiksi koodia, mutta ei vieläkään toimi. veikkaan että vika on tässä rivissä
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
koko koodi
<?php include("includes/topinclude.php"); include("includes/top.php"); if(!isset($_SESSION["email"])) header("Location: login.php"); $MC = imap_check($mbox); $result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0); ?> <table border=1><tr><td> <?php $num = $_GET["id"]; $uid = imap_uid($mbox, $num); $id = imap_msgno($mbox, $uid); echo "Lähettäjä: " . $result[intval($id)]->from . "<br>\n"; echo "Lähetetty: " . $result[intval($id)]->date . "<hr>\n"; if($num > 0) { echo imap_qprint(imap_body($mbox, $id)); } echo "</tr></td></table><br>"; include("includes/bottom.php"); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.