Evo da pokusam jednostavno da ti objasnim :)
Pre svega - funkcija je zbir akcija, koja moze i ne mora da vrati rezultat tih akcija;
mail() je sistemska funkcija, koja je ugradjena u PHP i samom instalacijom PHP-a ti stoji ova funkcija na raspolaganju. Ova funkcija izvrsava slanje maila i zahteva 3 parametra: primaoca mail-a, subjekat i samu poruku maila;
posalji_mail() je korisnicka funkcija, koja ce da poziva mail() ali i da radi ponesto malo vise :)
E, sada, recimo imas sajt i na tom sajtu korisnici mogu da salju mail kada se registruju, ali takodje mogu da salju mail kada urade ovo ili kada urade ono. Odnosno, sa 7-8 stranica sajta je moguce slati mail. Sa svake stranice se naravno salje nesto drugaciji mail.
E, sada, ti mozes 2 stvari da uradis:
1. da na svakoj stranici pises ceo kod koji ce da salje mail i da kada se nesto samo mora izmeniti u tom kodu da to menjas na 7-8 mesta;
2. da napises funkciju (posalji_mail()) koja ce stajati u posebnom fajlu i koju ces sa 7-8 stranica pozivati. A kada moras da promenis nesto u nacinu slanja maila, onda to menjas samo jednom u fajlu gde se posalji_mail() nalazi.
Dakle mail() znamo da mora 'dobiti' 3 parametra od korisnika. posalji_mail ce zahtevati takodje ta 3 parametra koja ce proslediti mail() funkciji, ali ce imati i 2 parametra extra: html ili plain text i cc poruka.
Dakle, u samom kodu ce to ovako izgledati:
Code:
// ovde se nalazi funkcija posalji_mail()
require_once("posalji_mail.inc.php");
$to = "
[email protected]";
$subjekat = "test mail";
$poruka = "cao, kako si";
$html = "da";
$cc = "ne";
posalji_mail($to,$subjekat,$poruka,$html,$cc);
Zatim, u fajlu gde se nalazi posalji_mail() imamo:
Code:
function posalji_mail($to,$subjekat,$poruka,$html,$cc)
{
if($html == "da")
{
// ovde pripremas html mail i na kraju saljes sa mail()
....
....
mail($to,$subjekat,$html_poruka,$cc);
}
// korisnik ne zeli html poruku, onda mu saljemo bez hmtl-a
else
{
....
....
mail($to,$subjekat,$plain_poruka,$cc);
}
}
E, sada, jedna od bitnih stvari jos sto ostaje jeste dal' zelis da ti funkcija vraca rezultat ili ne. Ukoliko zelis, onda bi mogao u prethodnom primeru da radis:
Code:
$send_mail = mail($to,$subjekat,$plain_poruka,$cc);
if($send_mail)
{
return "mail uspesno poslat";
}
else
{
return "doslo je do greske prilikom slanja maila";
}
=============
drugi mozda jednostavniji primer (koji mislim da je i sa PHP sajta):
fajl1.php
Code:
require_once("fajl2.php");
$a = 10;
$b = 5;
$get = sum($a,$b);
echo $get;
fajl2.php
Code:
function sum($a,$b)
{
$rezultat = $a + $b;
return $rezultat;
}
Na ovaj nacin, ce fajl1.php vratiti broj 15. Funkcije su dakle korisne, da grupiras odredjene akcije, koje se cesto ponavljaju (rad sa bazom (upis, brisanje, trazenje), akcije tipa: slanje maila, itd...).
Poz,
Sale
Ps. als sam ga otegao :S