[ urke @ 21.08.2003. 22:40 ] @
Poz.

Na kolubari (kolubara.mas.bg.ac.yu) sam postavio probnu prezentaciju, dok je ne sredim i doteram, i odmah nabasao na probleme.

Prvo: ne radi mail() funkcija. Kad se izvrši ovako nešto:

$rezultat = mail($to, $subject, $message, $headers);

pri čemu je $recipient moja e-mail adresa, $subject neki tekst, $message poruka koja se šalje, a $headers ovo:

$headers = "From: $realname <$email>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";

kad se pritisne dugme submit na strani, umesto da ova poruka odmah ode u mail spool na kolubari, ona ne ode nigde (ili ja grešim!?). Uglavnom, ovo kod mene na mašini u lokalu radi, ali na kolubari ne radi. Gde sam pogrešio? Primer ovoga je na http://kolubara.mas.bg.ac.yu/user/urke/index.php?kontakt

Drugo: stavio sam brojač poseta koji unifikaciju poseta radi sa kolačićima (eng. cookies). Ali, ni ovo, iako radi u lokalu kod mene na mašini, na kolubari OnLine ne radi. Evo koda:

$c_ip = $HTTP_COOKIE_VARS["user_ip"];
$counter_file = "hitcount";
$counter_file_line = file($counter_file);
$counter = $counter_file_line;
if(!$c_ip) {
setcookie("user_ip", $REMOTE_ADDR, time()+360000);
$counter_file_line[0]++;
$cf = fopen($counter_file, "w+");
fputs($cf, "$counter_file_line[0]");
fclose($cf);
} elseif ( $c_ip != $REMOTE_ADDR ){
$counter_file_line[0]++;
$cf = fopen($counter_file, "w+");
fputs($cf, "$counter_file_line[0]");
fclose($cf);
}

Kad se ovo izvršava na mojoj mašini, postavlja se kolačić (provereno u mozilli, operi i konqueroru). Kad isto to odradim na kolubari (sve strane prezentacije) ne postavlja se kolačić i svaka poseta se broji.

Gde sam ovde pogeršio?

Zahvalni svima, Shadow i ja :)
[ CONFIQ @ 21.08.2003. 22:49 ] @
1) mail() funcija vraća FALSE u slučaju da mail nije poslat... Možda sendmail demon u opšte nije postavljen na toj mašini.

2) na prvom redu napiši error_reporting(E_ALL) pa onda debug-uj....
Moguće da je register_globals off ili header za setovanje cookie nije poslat ili ne možeš da napišeš fajl hitcount ili....

~Say FiQ
[ urke @ 21.08.2003. 23:03 ] @
Hmmm... za sendmail, moram da vidim sa Shadow-om da li je uopšte podignut. Znači, jedino može biti problem nepodignuti sendmail?

Što se ovog drugog problema tiče, ako napišem ovo za prijavljivanje grešaka, izbaci mi na strani:

Code:
Notice: Undefined index: user_ip in /web/user/urke/index.php on line 15

Notice: Undefined variable: REMOTE_ADDR in /web/user/urke/index.php on line 20

Warning: Cannot add header information - headers already sent by (output started at /web/user/urke/index.php:15) in /web/user/urke/index.php on line 20


Ako je ipak register_globals isključeno, kako to da se prevaziđe bez uključivanja istih? Povrh toga, kako zaglavlje za kolačić može da se ne pošalje ako se radi onako kako sam napisao? I što je najbitnije, hitcount ima mod 666 i u njega se fino upisuje novi broj posete, znači nije on problematičan.

Neke ideje?
[ Goran Rakić @ 22.08.2003. 00:05 ] @
PROČITAJ FAQ PRE POSTAVLJANJA PITANJA, POGLEDAJ U PHP MANUAL-u ŠTA TE ZANIMA, NAROČITO DEO O PREDEFINISANIM VARIJABLAMA
[ Jbyn4e @ 22.08.2003. 14:50 ] @
Hm. smtp ti radi koliko vidim:
Citat:

telnet kolubara.mas.bg.ac.yu 25
Trying 147.91.27.242...
Connected to kolubara.mas.bg.ac.yu.
Escape character is '^]'.
220 kolubara.mas.bg.ac.yu ESMTP Sendmail (3.1.1)
^]
telnet> close

dakle, to ne bi trebalo da bude problem....valjda.
Da li si podesio sendmail_from u php.ini? Ili ga mozda podesavas pomocu ini-set, npr. ja volim to da uradim ovako:
ini_set("sendmail_from", "[email protected]");
a jedan od mailova koji je isao je bio ovog oblika:
Citat:

mail($email, "Ode ide subject: " . stripslashes($naslov) . " kraj subjecta", $body , "From:[email protected]\nErrors-To: [email protected]\nX-Mailer: server.com PHP/".phpversion());

Koliko vidim ti si koristio jos neke headere, i \r\n umesto samo \n (mada to verovatno ne predstavlja problem).
Da li si definisao u php.ini:
[mail function]
SMTP = localhost
(na ovaj nacin saljes preko porta 25 mail)
ili
sendmail_path = .... ?
Probaj da koristis SMTP opciju pa da vidimo sta ti se desava. Da li si pogledao /var/log/mail da vidis ima li tu nesto da pise o tome?Npr. ja ne koristim sendmail vec postfix, tako da imam nesto ovako:
Citat:

Aug 4 07:02:41 server postfix/local[93]: D6B622576F: to=<[email protected]>, relay=local, delay=7, status=bounced (unknown user: "nepoznati")

Tako da mozda mozes i po logovima da pronadjes neku od greski zasto ti ne radi mail funkcija.
Takodje, proveri da ti nije upisana slucajno mail funkcija u ovom delu php.ini-ja:
Citat:

; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_functions =

Toliko zasad, ako mi jos ensto padne na pamet, pisem drugi put :)

[ urke @ 22.08.2003. 15:56 ] @
E, de si Slavoljube prijatelju stari :)

L&M, sve bi to bilo super kad bi ja administrirao kolubaru, ali to radi Shadow :) U svakom slučaju, uputiću ga na ovu nit rasprave pa će da vidi šta i kako da sredi.

I, hvala ti za "gubljenje vremena" sa nama :)