php imap

Programovacie jazyky, rady, poradňa...
korelat
Amateur
Amateur
Príspevky: 22
Registrovaný: 11 mar 2009, 20:47

php imap

Príspevok od používateľa korelat »

Zdravím všetkých,
chcel by som Vás poprosiť o radu. V php cez funkciu imap, sťahujem email z googla. Neviem si rady s imap_body. Stiahnem telo správy cez funkciu imap a potrebujem ho uložiť ako text do databázy, ale ako text mi ho nechce uložiť. Potrebujem so správou pracovať ako s textom a nájsť v ňom hladaný výraz.Vedel by mi prosím niekto poradiť?
Vopred ďakujem.

Peter
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: php imap

Príspevok od používateľa harrison314 »

Mohol by si o tom povedat viac.
ten text ti ulozi len cast, alebo vobec, vypise chybu, warning, ako ukladas ten text?
Hod sem tu cast kodu.
korelat
Amateur
Amateur
Príspevky: 22
Registrovaný: 11 mar 2009, 20:47

Re: php imap

Príspevok od používateľa korelat »

prihlásim sa na učet na gmail cez imap a dám načítať poštu
$m_mail = imap_open ("{imap.gmail.com:993/imap/ssl}INBOX", $m_username . "@gmail.com", $m_password)
or die("ERROR: " . imap_last_error());
$text = "[email protected]";
$m_search=imap_search ($m_mail, 'UNSEEN FROM ' . $m_gdmy . '');
foreach ($m_search as $what_ever) {
$obj_thang = imap_headerinfo($m_mail, $what_ever);
$telo=imap_body($m_mail, $what_ever);
echo $telo;
}

ked dám vypísať $telo (telo správy tak ho vypíše) ale neveim s ním pracovať ako s textom
ak dám vyhľadávať textový výraz v tomto tele:
$cast=strpos("text",$telo), tak ho nevie nájsť a pritom určite hladaný výraz v tele je.

a aj ked sa pokúsim telo uložiť do databázy ako text tak ho neuloží a vypíše chybu:
@$spojenie = MySQL_Connect($db_server, $db_meno, $db_heslo);
mysql_query("SET NAMES cp1250");
if (!$spojenie):
echo "Nepodarilo sa pripojit k MySQL.<br>\n";
break;
endif;
MySQL_Select_DB($db_databaza);

@$mail = MySQL_Query("INSERT INTO skuska ( text) VALUES (".$telo.")");
if (!$mail):
echo "Nastala chyba pri pridavani mailu.<br>\n";
break;
endif;

ďakujem za pomoc
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: php imap

Príspevok od používateľa audiotrack »

to nie je chyba imapu, ale tvojho zlého query. Vkladáš reťazec, tak musí byť v apostrofoch. Teda

Kód: Vybrať všetko

@$mail = MySQL_Query("INSERT INTO skuska ( text) VALUES ('".$telo."')");
inak tiež rozum potlačiť chybové výpisy a potom sa pýtať prečo. Keby ich nepotláčaš, alebo si necháš dodatočne vypísať chybu tak by si vedel kde je problém
korelat
Amateur
Amateur
Príspevky: 22
Registrovaný: 11 mar 2009, 20:47

Re: php imap

Príspevok od používateľa korelat »

tam chyba nebude chyba bude niekde inde, vlastne som to zle opísal syntax som mal správnu, len som to zle okopíroval,
chyba je v :
$cast=strpos("text",$telo)
ked dám nájsť pozíciu určitého textového reťazcu vobec ju neurčí, pritom tam daný výraz je. premenná
$telo=imap_body($m_mail, $what_ever); sa vobec nespráva ako textový reťazec, neviem čo s tým.
Napísať odpoveď