Felhasznált php parancsok:
Ez a leírás a HTML formok és a php kapcsolatát tervezi bemutatni, és rögtön készítünk is egy kis programot, amellyel a látogatóink küldhetnek nekünk üzenetet a weblapról. Első körben kell egy alap HTML form, amibe a felhasználók írhatnak.
mail.html
1 2 3 4 5 6 7 8 9 10 11 12 | <html> <body> <form method="post"action="sendmail.php"> Név:<input type="text"name="your_name"> Email cim:<input type="text"name="email_address"> Hozzászólás:<textarea name="comment"></textarea> <input type="submit"value="Hosszászólás elküldése"> </form> </body> </html> |
Ezt a formot elnevezhetjük bárhogyan, az a lényeg, hogy olyan helyre kerüljön, ahol a felhasználók elérhetik. Mi az egyszerűség kedvéért hívjuk mail.html-nek.
Akkor kezdjünk neki a php megírásának, hiszen azért vagyunk itt.
A PHP – amikor elpostolunk egy formot – automatikusan létrehozza a változókat.
Itt két eset lehetséges. Ha a php a register_globals = on beállítással fut, akkor létrejön a valtozó a form-ban „name”-ként megadott néven.
Ha a register_globals = off, akkor az adatainkat a $_GET, és a $_POST tömbben kereshetjük függően attól, hogy a form method részénél mit adtunk meg.
Mi a post módszert választottuk, tehát adatainkat a $_POST tömbben keressük.
Ezek után lehet egyszerűsíteni a dolgot, hogy egy rövidebb nevü változónak átadjuk a $_POST-ban tárolt értékeket, de ha csak 1x használjuk a változót, nem éri meg, gépelésen nem nyerünk semmit, ráadásul a változónk plusz helyet foglal a memóriában.
sendmail.php
1 2 3 4 5 6 7 8 9 10 | if (isset ($_POST['your_name']) && isset($_POST['email_address']) && isset($_POST['comment'])) { $their_name = $_POST['your_name']; $their_email = $_POST['email_address']; $their_comment = $_POST['comment']; mail ('webmaster@enlapom.hu', 'Üzenet a Weblapról', "Név: $their_name Email: $their_email Hozzászólás: $their_comment" . date('d/m/Y H:i:s'), "FROM: $their_emailr Reply-To: $their_email"); } else { echo ('Valamelyik mezőt üresen hagytad'); } |
Jelen megoldásban én is a rossz példát választottam, hiszem egyszeri felhasználású változókat hoztam létre.
A mail függvény mint olyan a php egyik legtöbbet szidott függvénye (nem maga a függvény rossz, hanem sajnos a rengeteg egymással kevéssé kompatibilis levelezési formátum megvalósítása), és sajnos a legtöbb free szolgáltatónál le is van tiltva. Ezt kikerülhetjük ugyan SMTP class-ok alkalmazásával, de ez már a következő órák egyikének az anyaga lesz. Szintén azon az órán kerül majd terítékre a csatolt file küldés, és a HTML alapú levél.