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.