Rozdział 19. ♦ Subskrypcje
Funkcja mail jest dostępna standardowo w PHP i korzystanie z niej nie wymaga żadnych dodatkowych czynności instalacyjnych. Jeśli jednak korzystamy z PHP działającym w systemie Windows, mogą być niezbędne modyfikacje pliku php.ini. Ustawić należy następujące opcje konfiguracyjne:
♦ SMTP — wskazującą nazwę lub adres IP serwera pocztowego;
♦ smtp_port — wskazującą port, na którym pracuje serwer pocztowy (opcja dostępna począwszy od PHP 4.3.0);
♦ sendmai l_from — wskazującą zawartość pola FROM listu.
Użytkownicy systemów uniksowych powinni natomiast zwrócić uwagę na opcję send-mai l_path, która powinna wskazywać ścieżkę dostępu do programu sendmail, o ile znajduje się on w niestandardowej lokalizacji lub lokalizacji niedostępnej przez zmienną systemową PATH.
Funkcja mail przyjmuje trzy obligatoryjne argumenty, którymi są: adres odbiorcy, temat oraz treść listu. Pozostałe argumenty są dla nas w tych rozważaniach nieistotne, ich znaczenie można znaleźć w dokumentacji PHP. Funkcja zwraca wartość true, jeśli list udało się wysłać, lub wartość false — w przeciwnym wypadku. Ten fakt wykorzystujemy do zapamiętania adresów e-mail, do których listy nie zostały wysłane. Adresy te są zapisywane w zmiennej err. W przypadku gdy wartość tej zmiennej będzie różna od zera, jest ona zwracana jako wynik działania funkcji sendOrPri nt.
Z funkcji zawartych w pliku subskrypcjeJunctions.php będzie korzystał skrypt sub-skrypcje.php realizujący logikę systemu zarządzania subskrypcjami. Treść tego skryptu została przedstawiona na listingu 19.3. Kod rozpoczyna się od wywołania funkcji session_start oraz wykonania instrukcji include, dołączającej niezbędne fragmenty kodu, po których umieszczone zostały nagłówki HTML definiujące początkową strukturę strony.
Listing 19.3. Treść pliku subskrypcje.php <?php
session_start():
include "subskrypcje_functions.php";
?>
<html>
<head>
<meta http-equiv-"Content-Type" content-"text/html: charset=iso-8859-2”>
<ti 11e>Subskrypcje</ti tle>
</head> ■
<body>
<h2 align="center”>Subskrypcje</h2>
<?php
/* Jeśli użytkownik jest załogowany */
1 f {i sSet ($_SESS I ON [' za 1 ogowany' ])) {
/* Jeśli parametr action został przekazany za pomocą metody GET */