Sziasztok! Sokak nehezen képzelik el azt, hogy hogyan is épül fel egy komolyabb e-mailező rendszer. Azonban most szemléltetem, hogy hogyan lehet egy nagyon egyszerű levelező rendszert létrehozni.
1. mail.html fájl létrehozása
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>E-mail küldő</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"author\" content=\"ReSIk\" />
<meta name=\"copyright\" content=\"ReSIk\" />
</head>
<body>
<center>
<h1>E-mail küldő</h1>
<form method=\"post\" action=\"tovabbito.php\">
Akinek küldöd: <input type=\"text\" name=\"to\" value=\"\" />
<br />
<br />
Üzenet tárgya: <input type=\"text\" name=\"subject\" value=\"\" />
<br />
<br />
Üzenet: <textarea name=\"message\" cols=\"20\" rows=\"20\"></textarea>
<br />
<br />
<input type=\"submit\" value=\"Küldés!\" />
<br />
<br />
</form>
</body>
</html>
Létrehoztunk egy form taget, mely a tovabbito.php fájlt fogja nekünk megnyitni. Létrehoztunk továbbá
három űrlapot, melyek segítségével
bevisszük az adatokat a feldolgozóba.
2. tovabbito.php létrehozása
<?php
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
$charset = \"Content-type: text/html; charset=utf-8\";
Létrehoztunk
négy változót, melyek definícióját a felhasználó viszi be az űrlapok segítségével. A változók név szerint: $to ( e-mail, ahová küldjük), $subject ( az üzenet tárgya ), $message ( maga az üzenet ), $charset ( ezen változó segítségével adjuk meg az UTF-8-as kódolást, hogy megfelelően jelenjenek meg a magyar karakterek ).
Létrehoztuk a $sender változót, amely tartalmazza a mail() függvényt, és azok paramétereit.
$sender = mail(
$to,
$subject,
$message,
$charset
);
A mail() függvény paramétereinek sorrendje kötött! (
címzett, üzenet témája, üzenet, headerek )
Ezután megvizsgáljuk, hogy
true logikai értéket kapunk-e vissza az üzenetküldés során. Amennyiben igen, kiírja nekünk, hogy az üzenetet sikeresen elküldtük. Ha nem, akkor értelem szerűen a sikertelen küldés szöveg fog megjelenni!
if ( $sender == true )
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzeneted sikeresen továbbítva lett!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
else
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzenetedet nem tudtuk továbbítani!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
?>
Teljes kód: <?php
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
$charset = \"Content-type: text/html; charset=utf-8\";
$sender = mail(
$to,
$subject,
$message,
$charset
);
if ( $sender == true )
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzeneted sikeresen továbbítva lett!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
else
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzenetedet nem tudtuk továbbítani!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
?>
Ez még mindig túl van bonyolítva, valamint azt a nagyobb betűméretű sort kicsit lejjebb tehetnéd, ugyanis...
<?php
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
$charset = \"Content-type: text/html; charset=utf-8\";
[....]
A fenti sorrend betartása kötelező! ( címzett, üzenet témája, üzenet, headerek )
Ha ezt írom (más sorrendbe):
<?php
$charset = \"Content-type: text/html; charset=utf-8\";
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
Akkor már nem is működik? :>
Szerk.: Moderátor mód on, ez egy GTA-val foglalkozó fórum. A PHP kategóriában írt munkáknak valamilyen szinten (szerintem legalábbis) kapcsolódnia kellene magához az alapjátékhoz. :)
Szerk.: Moderátor mód on, ez egy GTA-val foglalkozó fórum. A PHP kategóriában írt munkáknak valamilyen szinten (szerintem legalábbis) kapcsolódnia kellene magához az alapjátékhoz. :)
Kapcsolódik is... fel lehetséges használni regisztrációnál, játékos értesítést kap afelől, hogy regisztrált az adott szerverre és kiírni minden fontos adatot, jelszó, felhasználónév, email címek. Nekem tetszik, szépen megírtad és jó ötleteket adtál nekem. :D
<?php
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
$charset = \"Content-type: text/html; charset=utf-8\";
[....]
A fenti sorrend betartása kötelező! ( címzett, üzenet témája, üzenet, headerek )
Ha ezt írom (más sorrendbe):
<?php
$charset = \"Content-type: text/html; charset=utf-8\";
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
Akkor már nem is működik? :>
Szerk.: Moderátor mód on, ez egy GTA-val foglalkozó fórum. A PHP kategóriában írt munkáknak valamilyen szinten (szerintem legalábbis) kapcsolódnia kellene magához az alapjátékhoz. :)
[/quote]
Áh, nem jól értelmezhetően írtam le a dolgot :D Úgy értettem, hogy a mail() függvénybeli sorrend a nem mindegy! Szerkesztem. Egyébként szerintem van olyan itt, aki alap játék kapcsán használná fel.
Nekem tetszik, szépen megírtad és jó ötleteket adtál nekem. :D
[/quote]
Köszi! :) Pont ezért raktam ki. Eleinte én se értettem, hogy miként épülnek fel ezek a rendszerek. Gondoltam, sokak számára hasznos lehet ez a kis kód.