Szerző Téma: [PHP] Egyszerű, design nélküli űrlapos e-mail küldő rendszer  (Megtekintve 3247 alkalommal)

[PHP] Egyszerű, design nélküli űrlapos e-mail küldő rendszer
« Dátum: 2015. Október 12. - 22:29:07 »
+2





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.
Ehhez HTML űrlapokat, illetve a mail() PHP függvényt fogjuk használni.
 

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>\";
}
?>
« Utoljára szerkesztve: 2015. Október 13. - 16:34:43 írta ReSIk »

[PHP] Egyszerű, design nélküli űrlapos e-mail küldő rendszer
« Válasz #1 Dátum: 2015. Október 12. - 22:42:38 »
0
Ez még mindig túl van bonyolítva, valamint azt a nagyobb betűméretű sort kicsit lejjebb tehetnéd, ugyanis...
 
Idézetet írta: ReSIk date=1444681747\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58137\" data-ipsquote-contentclass=\"forums_Topic

<?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. :)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
[PHP] Egyszerű, design nélküli űrlapos e-mail küldő rendszer
« Válasz #2 Dátum: 2015. Október 13. - 01:52:19 »
0
Idézetet írta: blackdog476 date=1444682558\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58137\" data-ipsquote-contentclass=\"forums_Topic
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] Egyszerű, design nélküli űrlapos e-mail küldő rendszer
« Válasz #3 Dátum: 2015. Október 13. - 16:28:45 »
+1
Idézetet írta: blackdog476 date=1444682558\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58137\" data-ipsquote-contentclass=\"forums_Topic


 
<?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.
« Utoljára szerkesztve: 2015. Október 13. - 16:31:20 írta ReSIk »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal