iReklama  |  PC Svět  |  vyhledávací centrála  |  Diskuzní fórum  |  WWW katalog  |  Guestbook  |  MailForm  |  kontakt: pcsvet@pcsvet.cz - čte si nás 15 čtenářů
 
PC Svět
Hlavní stránka
ASP
Aktuality
Assembler
C,C++
Delphi
Diskuze
Grafika
Hacking
Hardware
Hry a zábava
HTML
Internet
JavaScript
Komunikace
Linux
Microsoft Office
Turbo Pascal
PHP
Software
Tiskové zprávy
Visual Basic
Windows
WWW katalog

Knihovna zdr. kódů

Nabídka skriptů aj.

Homepage autora
Služby
Guestbook
  kniha návštěv pro
  každého
MailForm
  zasílání výsledků
  formulářů na e-mail
Programy
DOS Commander
WinMan
Windows Tools
Informace
O PC Světě
Přehled rubrik
Reklama
Výsledky anket
Přehled novinek


šéfredaktor
Petr Šťastný
admin@pcsvet.cz

zástupce šéfredaktora
Pavel Rauš
raus@pcsvet.cz

Stránka je optimalizo-
vána pro prohlížeč
Internet Explorer 5.0
při rozlišení 800x600

 © Petr Šťastný 2001
   All rights reserved

PC Svět
ikonka PC Světa


Linux - zdarma a legálně
TOPlist

PHP: Odeslání libovolného formuláře e-mailem (3.)
Vytisknout   Poslat   Komentáře (0)   Přidat komentář

V tomto pokračování seriálu rozšíříme náš skript o odeslání formuláře e-mailem ve formátu HTML.

V minulých dílech seriálu jsme si vytvořili skript pro odesílání libovolného formuláře e-mailem. E-mail byl ale odesílán v obyčejném textovém formátu, což u rozsáhlejších formulářů zhoršovalo čitelnost e-mailu. Proto dnes skript rozšíříme o možnost odeslání ve formátu HTML. Použijeme k tomu include, který vytváří v PHP třídu sloužící pro vytvoření HTML e-mailu a jeho odeslání (zdroj: http://www.zend.com/).

Do skriptu byl doplněn následující nepovinný parametr:
$html ... Y/N - odeslat ve formátu HTML

Vlastní část skriptu pro odeslání formuláře e-mailem ve formátu HTML bude vypadat následovně:

if ($html == "Y") {
// pokud má být mail odeslán ve formátu HTML
$telo = "<table width=\"100%\">";
$telo .= "<tr><td><font color=\"Red\"><b>Email:</b></font></td>
<td>&nbsp;</td><td>$email</td></tr>";
reset($HTTP_POST_VARS);

while (list($promenna, $hodnota) = each($HTTP_POST_VARS)) {
// nahradíme konce řádků tagem <br>
$hodnota = str_replace(chr(13) . chr(10), "<br>", $hodnota);
$hodnota = str_replace(chr(10) . chr(13), "<br>", $hodnota);
$hodnota = str_replace(chr(13), "<br>", $hodnota);
$hodnota = str_replace(chr(10), "<br>", $hodnota);


// pokud parametr začíná na # nebo *,
// tak zapsat hodnotu do textu mailu
if (((substr($promenna, 0, 1) == "@") ||
   (substr($promenna, 0, 1) == "#")) && ($hodnota != ""))
{ $telo .= "<tr><td valign=\"top\"><b>".substr($promenna, 1).":</b></td>
  <td>&nbsp;</td><td>$hodnota</td></tr>"; }
}

$telo .= "</table>";
$telo .= "<p><hr></p>";
$telo .= "<p><b>Uživatelův browser:</b> $HTTP_USER_AGENT<br>";
$telo .= "<b>IP adresa:</b> $REMOTE_ADDR</p>";

// odešleme mail ve formátu HTML
$mail = new html_mime_mail("X-Mailer: Html Mime Mail Class");
$mail->add_html(ToISO($telo), "");
$mail->set_charset('iso-8859-2', TRUE);
$mail->build_message();
$mail->send($komu, $komu, $email, $email, ToISO($predmet));
$sendok = true;

// odeslat potvrzení
usleep(500);
$mail->send($email, $email, $email, $email,
   ToISO("Potvrzení - vyplnění formuláře"));
} else {
// pokud má být mail odeslán ve formátu prostého textu
..
...
}

Jako příklad pro předvedení byl použit kontaktní formulář, který je možno použít pro firemní stránky. Na výsledek našeho snažení se můžete podívat zde.


Kompletní zdrojové soubory příkladu - Download
Základní include využité v příkladu - Download
Definice třídy pro odeslání HTML e-mailu - Download

Autor: Michal Terč, mterc@atlas.cz, informace a seznam článků


Komentáře k článku

Žádné komentáře k tomuto článku

Přidat komentář


Poslední články ze stejné rubriky
PHP: Databáze SMSek
Vytváříme si vlastní chat (4.)
PHP: Odeslání e-mailu ve formátu HTML
Jednoduchý FTP klient v PHP
PHP: Katalog stránek (2.)

Diskuze - PHP - celkem 306 příspěvků (zobrazeno max. 15) - zobrazit celou diskuzi
Podkategorie
Databáze [43]
Název Autor Datum
Blikajicí okno v liště Aleš Pavel 18.10.2001
   žádná odpověď    
Ukládání do souboru a změna Aleš Pavel 16.10.2001
   žádná odpověď    
Jednoducha ANKETA TomK 14.10.2001
   žádná odpověď    
Rozdelenie vety a slová v PHP Michal Fabry 13.10.2001
• fce. string strtok (string arg1, string... Bonde 14.10.2001
Kniha o PHP Jan Ježek 12.10.2001
• ... Tifosi 19.10.2001
Nejde propojit PHP s MySQL Petr Svobda 09.10.2001
   žádná odpověď    
Kde stáhnout Apache?? David Labaš 08.10.2001
• Apache Kuba 09.10.2001
• Vim to! Jaroslav Kafka 17.10.2001
Ako poslať dáta formulára? Kecso 26.09.2001
• re: SFanda 04.10.2001
V Zozo 12.09.2001
• Chyba kódování v MySQL stefan 14.09.2001
Provozovatel:
PES.cz
Příbuzné články
•  PHP: Odeslání e-mailu ve formátu HTML
•  PHP: Odeslání libovolného formuláře e-mailem (2.)
•  PHP: Odeslání libovolného formuláře e-mailem (1.)
Poslední články
Překládáme hry a programy (4.)
Dance e-Jay
SQL: Znáte dobře klauzuli LIKE?
Programujeme v Delphi s komponentou DelphiX (3.)
Čeština na Internetu
Hodnocení článku
nejlepší <----> nejhorší
    
Stav: 1
Počet: 2
Informace o článku
Datum 24.9.2001
Čtenářů 284
Autor Michal Terč
Rubrika PHP - příklady
Nový redaktor
  Chcete psát články
  pro PC Svět či se
  stát redaktorem?

Články honorovány!

  Informace zde
EInfo
  Chcete být informováni
  o každém novém článku
  na PC Světě?

Zadejte svůj e-mail:

MSN.ATLAS.CZ
Hladat.sk

hlavní stránka  |  vyhledávací centrála  |  Diskuze  |  WWW katalog  |  Guestbook  |  MailForm  |  kontakt: pcsvet@pcsvet.cz

Se svými dotazy či problémy se obracejte na diskuzní fórum, věci týkající se PC Světa směřujte na e-mail pcsvet@pcsvet.cz

Šíření obsahu tohoto serveru nebo jeho části je bez souhlasu redakce zakázáno.
(c) PC Svět 2001 - Všechna práva vyhrazena.