[ Duka91 @ 07.01.2008. 10:46 ] @
Ovako, na sajtu sam uradio da posetilac može da ostavi komentar i da se to meni pošalje na mejl.
Evo koda kojim to pokušavam da odradim:
Code:
<?php
$prima="[email protected]";
$ime=$_POST["ime"];
$poruka=$_POST["komentar"];
mail($prima, $naslov, $poruka);
?>

U HTML kodu kada se klikne na "Pošalji" poziva se mail.php (kod od gore).
Sve sam to lepo ispisao uplodovao na server i probao. Kada sam kliknuo na "Pošalji" otvorila mi se nova stranica "mail.php" bez ikakve greške (znači da je se sripta izvršila). Odem da proverim mejlove kad ono ništa nije stiglo. Probam još par puta i opet isto. Menjao sam adresu na koju šaljem mejl ali opet se isto dešava.
Onda sam napisao sledeću skriptu:
Code:
 <?php
$prima="[email protected]";
$naslov="Proba";
$text="Ovaj mejl je poslat sa www.duka.contrateam.com";
mail($prima, $naslov, $text);
?>

Uplodovao na server pozvao stranicu, ona se izvrši ali meni ne stiže mejl. Opet sam mislio da sam negde pogrešio pa sam prepisao skriptu Nemanje Avramovića iz njegovog maturskog rada:
Code:
<?php  
$prima =”[email protected]”;  
$naslov =”Poruka broj”;  
$text =”Ovo je jednostavan skript koji ce 10\n puta poslati istu poruku na jednu e-
mail adresu”; 
for ($i=1; $i<=10; $i++) { 
  $ok = mail($prima, $naslov . “ $i”, $text);  
  if ($ok) { echo “Poruka broj $i je poslata!<br>\n”; } 
   else { die(“Prekidam!”); } 

echo “<br>\n”; 
echo “Sve poruke su poslate!”; 
?> 
Kada sam pokušao da izvršim skriptu pojavila se greška:
Code:
Parse error: syntax error, unexpected '@' in /home/contrate/public_html/duka/mejlovi.php on line 2

Sada mi ništa nije jasno. Ovaj kod mora da bude ispravan ako predpostavim da moja dva prethodna nisu bila. Ovaj sam samo iskopirao i ispravio mejl adresu. Jel može neko da mi pomogne? Ne vidim u čemu je problem. Početnik sam što se tiče PHP-a.


[Ovu poruku je menjao Duka91 dana 07.01.2008. u 16:06 GMT+1]
[ dakipro @ 07.01.2008. 10:52 ] @
Dok ti nemanja ne odgovori obrati paznju da ” nije isto sto i ".
[ Nemanja Avramović @ 07.01.2008. 12:22 ] @
Tako je, ” nije isto što i ", a meni je u maturskom Word zeznuo navodnike svuda u kodu pa moraš svuda to da ispravljaš. Takođe, moja skripta radi i proveru da li je mejl zaista poslat, pa će ti reći da li jeste ili nije (odnosno da li je omogućena mail() funkcija na serveru ili ne).

p.s. Obrati pažnju da je "pametni" Word stavljao i “ i ” navodnike, što su dva različita karaktera (da znaš ako radiš replace )
[ Duka91 @ 07.01.2008. 13:02 ] @
Aha znači problem je u navodnicima.
Probao sam " zamenim sa ” svugde u kodu ali opet nije radilo.
Na tastaturi imam " i ' a ove sam kopirao.
Sa kojim navodnikom da zamenim " ?
Edit:
Sada sam gledao na http://www.w3schools.com/php/func_mail_mail.asp i oni su stavljali obične navodnike ("").
A meni sa njima neće da radi.
Edit:
Kakve god navodnike da stavim pojavljuje se ona ista greška:
"Parse error: syntax error, unexpected '@' in /home/contrate/public_html/duka/mail.php on line 2"

[Ovu poruku je menjao Duka91 dana 07.01.2008. u 16:05 GMT+1]
[ beep @ 07.01.2008. 14:10 ] @
Mozda ti je promaklo al probaj da dodas header from:[email protected] . Ima i napomena o tome

Note: When sending an email, it must contain a From header. This can be set with this parameter or in the php.ini file.
[ Jbyn4e @ 07.01.2008. 18:38 ] @
beep, nema to veze sa njegovom greskom (parse error) koji je moguc samo kad nije dobro linija zatvorena (npr. fale navodnici, znaci navoda ili slicno).

Duka, dusane, posalji nam ceo /home/contrate/public_html/duka/mail.php koji sad koristis, da vidimo sta je u liniji 2!
Mozes da ga zakacis uz poruku, tako se nece izgubiti nista iz fajla...
[ beep @ 07.01.2008. 19:07 ] @
Nisam mislio na tu gresku ,jer ako pogledas njegovu skriptu i Nemanjinu, videces da nema nikave razlike jer i jedna i druga skripta koriste mail funkciju bez header-a from ....
[ Nemanja Avramović @ 07.01.2008. 19:21 ] @
Citat:
Duka91:
Probao sam " zamenim sa ” svugde u kodu ali opet nije radilo.


Ne čitaš šta pišem, treba i “ i ” da zameniš sa "
[ Duka91 @ 07.01.2008. 20:33 ] @
Jupii evo izvršavaju se sada obe skripte.
Avramova se izvršila i ispisala je text da su svih 10 mejlova poslati ali ni jedan mejl mi nije stigao.
Ni od moje ni od Avramove skripte. Menjao sam i mejl adresu na koju šaljem mejlove ali opet ništa ne stiže.
Šta bi to moglo da bude?
[ Nemanja Avramović @ 07.01.2008. 21:36 ] @
To znači da je PHP uspeo da prosledi poruku mejl serveru koji treba da je pošalje, pa verovatno on negde baguje, ili je otišlo u spam, ili je server koji prima poruku nešto zakazao. A moguće je da nemaš From: header, mada iz ličnog iskustva znam da je neki default (skoro) uvek podešen u php.ini fajlu
[ Duka91 @ 08.01.2008. 11:52 ] @
U spam nisu stizali mejlovi na sa jednog mejl servera.
E sada ne znam kako da dodam from header, gledao sam na PHP sajtu i trebalo bi da je ovako nešto:
Code:
$headers = "From: [email protected]";

I onda samo mail() f-ji prosledim jedan parametar više
Code:
$headers

E vi potvrdite ako je ovo dobro.
[ Duka91 @ 08.01.2008. 12:07 ] @
Jeeaaa
Čim sam dodao header form proradilo je.
Puno vam hvala na pomoći