Zmaga.com | Spletno pridobivanje znanja
 
Domov | Programi | Programski jeziki | PHP in mysql | Pošiljanje pošte v PHP
Guest
Kliknite, da si ogledate svoj profil
Učenje
Programi
Jeziki
Recepti
Naredi sam
Bližnjice
 
  Pošiljanje pošte v PHP
Naučili se bomo, kako lahko ustvarimo enostaven obrazec za pošiljanje elektronske pošte, ki ga lahko postavite na spletno stran.
 
  Avtor: podtalje | Različica: 1.0 | 9. junij 2011 |  
 
 
1.
  V programu Dreamweaver odpremo nov dokument.

Najprej izberemo zavihek Forms, preko katerega bomo na obrazec dodali polja za vpis.
 
 
2.
  Najprej dodamo tri polja tipa Text Field.
 
 
3.
  Ker želimo, da bo vnosno polje za sporočilo nekoliko večje, na obrazec dodamo še polje tipa Textarea.

Na koncu dodamo še gumb, s pomočjo katerega bomo poslali sporočilo.
 
 
4.
  Vsa polja, ki smo jih dodali na obrazec, moramo sedaj določiti imena.

Po vrsti jih poimenujemo: posiljatelj, prejemnik, zadeva, sporocilo
 
 
5.
  Celotna koda koda obrazca se nahaja spodaj:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>E-mail SMTP</title>
</head>

<body>
<p><strong>Obrazec za pošiljanje elektronske pošte </strong></p>
<form method="post" action="">
<p>Pošiljatelj:
   <input name="posiljatelj" type="text" id="posiljatelj">
</p>
<p>Prejemnik:
   <input name="prejemnik" type="text" id="prejemnik">
</p>
<p>Zadeva:
   <input name="zadeva" type="text" id="tema">
</p>
<p>Sporočilo:<br>
   <textarea name="sporocilo" cols="32" rows="7" id="sporocilo"></textarea>
</p>
<p>
   <input type="submit" name="Submit" value="Pošlji">
 </p>
</form>  
 <p>&nbsp; </p>
</body>
</html>
 
 
6.
  Sedaj moramo napisati še funkcijo, ki bo ob oddaji obrazca poslala elektronsko pošto.

V ta namen na začetku, pred <html> značko, vrinemo naslednjo kodo:

<?php
if (isset($_POST['prejemnik'])) {
  if ( !empty($_POST['posiljatelj']) && !empty($_POST['prejemnik']) && !empty($_POST['zadeva']) && !empty($_POST['sporocilo']) ) {
  
    $headers = "MIME-Version: 1.0 ";
    $headers .= "Content-Type: text/html; charset=utf-8 ";
    $headers .= "From: ".$_POST['posiljatelj']." ";
  
    if (mail($_POST['prejemnik'], $_POST['zadeva'], $_POST['sporocilo'], $headers)) {
        echo "<b>E-pošta je bila uspešno poslana!</b><br /><br />";
    } else {
       echo "<b>E-pošta ni bila poslana. Izpolniti je potrebno vse podatke.</b><br />";
    }
  }
}
?>


Kot vidimo, najprej preverimo, ali obstaja spremenljivka $_POST['prejemnik']. S tem preverimo, ali gre za oddajo obrazca ali pa je stran prikazana prvič in moramo samo prikazati prazna polja za vnos.

V naslednjem koraku preverimo, ali so bile vnesena vsa izpolnjena polja.

V spremenljivki $headers nato definiramo, da pošiljamo v formatu UTF-8 ter kdo se bo v e-sporočilo prikazal kot pošiljatelj.

Na koncu s pomočjo funkcije mail pošljem sporočilo ter v primeru, da je bilo uspešno poslano, izpišemo obvestilo.
 
 
7.
  Obrazec moramo sedaj naložiti na spletni strežnik ter ga odpreti v našem brskalniku.

Sedaj izpolnite polja in pošljite obrazec.

Po oddaji obrazca bi se moralo izpisati sporočilo, da je bila elektronska pošta uspešno poslana.
 
 
 
 
  Vstavljanje Google+ socialnih gumbov
PHP in mysql | 21. marec 2013 | Avtor: PowerZan
V današnji lekciji vam bom prikazal, kako lahko iz Google+ dobite kodo za socialne gumbe in jih vstavite v spletno stran.
  PHP in polje vrednosti Array
PHP in mysql | 2. junij 2012 | Avtor: podtalje
Polje vrednosti Array nam omogoča, da v eno spremenljivko shranimo več vrednosti, kar nam nato precej olajša dostop do teh vrednosti.
  Izdelava koledarja s PHP
PHP in mysql | 11. julij 2012 | Avtor: kljuka
V lekciji bomo s pomočjo PHP-ja ustvarili koledar.
  Uporaba Inner, Left in Right Join v SQL
PHP in mysql | 18. januar 2012 | Avtor: podtalje
Select stavki z Inner, Left in Right Join predstavljajo pomemben del SQL sintakse in nam v določenih primerih pridejo zelo prav.
  Osnove SQL in stavek SELECT
PHP in mysql | 12. maj 2011 | Avtor: podtalje
SQL je standardni jezik, ki omogoča dostop do podatkov ter upravljanje s podatkovnimi bazami.
  PHP - 1. del
PHP in mysql | 19. avgust 2008 | Avtor: kljuka
Začeli bomo programirati v programskem jeziku PHP, ki nam omogoča izdelavo dinamičnih spletnih strani.
   
  Prosimo, da se prijavite, da boste lahko komentirali
  Kliknite, da odprete profil uporabnika  
falcan, 9.6.2011, 14:38
Točno to sem iskal za mojo stran, ampak kode na žalost nisem našel, na zadnje pa se pojavi na zmagi
 
 
  Kliknite, da odprete profil uporabnika  
sasko.123, 10.6.2011, 14:52
Meni pa ne dela. Sem naložil na strežnik, pa se mi potem, ko kliknem pošlji, samo polja spraznejo pa nič ne napiše
 
 
  Kliknite, da odprete profil uporabnika  
podtalje, 10.6.2011, 16:40
Sem še enkrat preveril kodo in bi moralo delovati, če si naredi po lekciji.

Si iz lekcije samo skopiral kodo ali si tudi kaj spreminjal?

Preveri, da imaš pravilno določena imena polj posiljatelj, prejemnik, zadeva, sporocilo in da pri oddaji ta polja niso prazna.
 
 
  Kliknite, da odprete profil uporabnika  
sasko.123, 10.6.2011, 18:24
Pravzaprav sem samo skopiral kodo obrazca ker jaz nimam tiste vrstice z zavihki.
 
 
  Kliknite, da odprete profil uporabnika  
podtalje, 10.6.2011, 23:06
Na kateri strežnik si pa naložil? Ali podpira PHP? Mogoče ima ta strežnik blokirano pošiljanje mail-ov.
 
 
  Kliknite, da odprete profil uporabnika  
SloChampion, 12.6.2011, 13:16
Kako bi pa naredil, da bi bila pošiljatelj in zadeva že izpolnjena?

Lp,
SloChampion
 
 
  Kliknite, da odprete profil uporabnika  
sasko.123, 12.6.2011, 15:21
Naložil sem ga na strežnik 000space.com in zagotovo podpira php saj sem poskusil naložiti stran na kateri se lahko objavljajo komentarji (http://zmaga.com/ucenje.php?t=0&id=1....) in je delovalo.
 
 
  Kliknite, da odprete profil uporabnika  
podtalje, 12.6.2011, 18:56
SloChampion:
Kako bi pa naredil, da bi bila pošiljatelj in zadeva že izpolnjena?
Lp,
SloChampion


Takoj na začetku definiraj pošiljatelja:
<?php
$_POST['posiljatelj']='poljuben.uporabnik@domena.com';
...

Nato pa v obrazcu odstrani polje za vnos pošiljatelja.

 
 
  Kliknite, da odprete profil uporabnika  
podtalje, 12.6.2011, 19:00
sasko.123:
Naložil sem ga na strežnik 000space.com in zagotovo podpira php saj sem poskusil naložiti stran na kateri se lahko objavljajo komentarji (http://zmaga.com/ucenje.php?t=0&amp;....) in je delovalo.


Sem še enkrat pregledal kodo in v njej res našel eno napako, kar je bil razlog, da v prvo ni nič izpisalo. Sem sedaj v lekciji popravil kodo.

Sem pa preveril tudi na 000space.com in PHP res podpira. Vendar pa mora ponudnik podpirati tudi funkcijo mail() za pošiljanje pošte, kar pa zgleda, da ne tem gostovanju ni podprto.

Nepodpora tej funkciji je drugače na brezplačnih strežnikih dokaj pogosta, saj se to velikokrat zlorablja za pošiljanje neželene elektronske pošte.
 
 
  Kliknite, da odprete profil uporabnika  
SloChampion, 13.6.2011, 16:54
Podtalje: aha...pa še nekaj...kako bi pa naredil da bi bila zadeva in prejemnik že vpisana?
 
   
 
 
spletno pridobivanje znanja
Zmaga.com | sodeluj | forum | info