[ vatri @ 12.04.2008. 22:03 ] @
Ljudi trazio sam i na ES i na google ali ne mogu naci:

zanima me kako da najjednostavnije spremim u varijablu vrijeme (ono koje pise na kompu).
Pokusao sam sa ovim:

$vreme = time(); ali mi ispise neke brojeve nidje veze

Molim pomoc

edit: usput jos me zanima kako da url spremim u varijablu? Znaci url na kome se ta php skripta ucitava?
[ Miroslav Ćurčić @ 12.04.2008. 22:24 ] @
Upravo su ti brojevi - vreme, da si pročitao uputstvo za funkciju time sve bi razumeo.
Druga je stvar šta želiš uraditi s podatkom o vremenu, ako ga želiš prikazati onda ga obradi funkcijom date, pogledaj primere u uputstvu (manual-u).

URL hvataš sa: $Promenljiva= $_SERVER['PHP_SELF'],
ili neki drugi član niza $_SERVER (da, opet manual).
[ vatri @ 13.04.2008. 00:32 ] @
Da skontao sam to i prije da su ti brojevi vrijeme (valjda u stotinkama), ali sta imam od njih?!
Jos jednom da kazem da sam citao manuale ali nazalost nisam dobar sa eng., a i pocetnik sam u PHP tako da nisam najbolje razumio. Nisam bezveze otvorio ovu temu...
To vreme sto cu spremiti u varijablu bi trebao da upisem u datoteku...
[ Miroslav Ćurčić @ 13.04.2008. 01:44 ] @
Paaaaaaa, ili nađi negde prevedeno uputstvo (ili knjigu) ili rečnik u ruke.

Lično, podatke o vremenu više volim da beležim kao broj, da bi kasnije bilo jednostavno izvlačiti podatke između dva datuma.
Ako bih to pisao kao dan.mesec.godina takva poređenja bi išla mnogo teže.
Naravno, ovo je za slučaj da tu datoteku treba da čita neki moj skript (što i jeste najčešće), a ne ja kroz notepad recimo.
[ vatri @ 13.04.2008. 09:22 ] @
Evo konkretno za sta mi treba:
Code:

<?php
$adr = $_SERVER['REMOTE_ADDR'];
$dat = 'pos.htm';
$upis = '<li>'.$adr.'</li>';
$ud = fopen($dat, 'a');
fwrite($ud,$upis);
fclose($ud);
?>

Ovo je jednostavna skriptica koja broji posjete, u fajlu pos.htm na pocetku se nalazi kod <ol> tako da sad ispise redni br. i ip adresu posjetioca. Sad planiram uraditi da kad posjetitelj dodje da ispise IP, datum, vrijeme, url, i mozda lokaciju te IP adrese i da to poslaze u tabelu fino.
[ ColdKeyboard @ 13.04.2008. 10:50 ] @
Pogledaj u php manual-u funkciju date() ona ce ti sigurno pomoci.



--
-==ColdKeyboard==-
www.MrdniSe.com
www.SasaKaranovic.com
[ vatri @ 13.04.2008. 13:35 ] @
Ima li ko da je raspolozen da napise 2 reda, da mi pomogne :(
[ emranonline @ 13.04.2008. 13:43 ] @
Citat:
vatri: Ima li ko da je raspolozen da napise 2 reda, da mi pomogne :(


evo ovako.
da bi prikazao datum i vreme na tvojoj stranici mozes koristiti date() funkciju.
evo primera.
Code:
<?php
echo date("G:i d. m. Y");


?>


kada se ovaj kod izvrsi prikazace se sledece:
Code:

14:41 13. 04. 2008 


Nadam se da je pomoglo.
[ vatri @ 13.04.2008. 18:12 ] @
To bi bilo to otprilike, ali ne pokazuje mi tacno vrijeme :(
Konkretnije u 7:10PM sto pise na kompu, na serveru mi je ispisao 12:10. Meni se cini da je to vrijeme na serveru na kojem je hostovan sajt... U cemu je problem sad ?
[ kazil @ 13.04.2008. 18:27 ] @
PHP uzima vreme sa racunara na kojem se izvrsava. Ovo nisam radio jos, al' po nekoj logici, ukoliko promenis u skriptu vremensku zonu (vremensku zonu servera), trebalo bi da da tacno vreme.
Sa ovom funkcijom postavljas vremensku zonu:
http://www.php.net/manual/en/f....date-default-timezone-set.php
A ovde mozes da vidis vremenske zone za Evropu (predpostavljam da ti to treba):
http://www.php.net/manual/en/timezones.europe.php
Pa bi koriscenje bilo otprilike ovako nekako:
Code:

date_default_timezone_set("Europe/Belgrade");

pa bi ti posle time, date i slicne funkcije trebale dati tacno vreme.
Kazem, ovo jos nisam radio, tako da nije sigurno da ce raditi.

Edit: radice, upravo gledam kol'ko je sati u Tokiju ;)
[ vatri @ 13.04.2008. 18:41 ] @
Ne moze izbacuje mi gresku:
"Fatal error: Call to undefined function: date_default_timezone_set() in /home..." :((

Evo upravo sam probao na localhostu i ispise tacno vrijeme i ne izbacuje gresku, za razliku od servera
[ Jbyn4e @ 13.04.2008. 19:00 ] @
Zato sto je to dodato sa php 5, a na serveru izgleda imas php 4. Moraces da se snadjes. Pogledaj primere u manualu php-a oko funkcije date.
[ Nemanja Avramović @ 13.04.2008. 19:01 ] @
Ili ti je isključena ta funkcija na hostu, ili je verzija PHPa na hostu manja od 5.1.0 jer ova funkcija postoji od 5.1.0

edit: preteče me Jbyn4e
[ kazil @ 13.04.2008. 19:10 ] @
na localhost-u ti daje 'tacno' vreme, jer ti se tada tvoj racunar ponasa kao server, tj. i onda dobijas serversko vreme.
Ja imam ideju za workaround, pa ako gresim, ostali ce me ispraviti ;)
Javascript se izvrsava kod klijenta, tako da njegove funkcije vezane za datum i vreme, vracaju 'tacno' vreme. Vise o JS date ovde: http://www.w3schools.com/js/js_obj_date.asp
E sad. Uzmes sa JSom datum i vreme, takodje JSom, postavis jedan cookie () (http://www.w3schools.com/JS/js_cookies.asp), koji ce za sadrzaj imati datum i vreme, pa posle isti taj cookie skines u PHPu. Mislim da se moze to uraditi.
Naravno, bice razlika u vremenu, nece biti tacno u sekundu, al' ono... Trebalo bi da radi :)

Editovani edit: Hteo sam ti kas'ti da promenis u ini.ju vremensku zonu, al' sad vidim da je to isto tek od 5.1.0, tako da ti ostaje jedino ovaj JS fazon
[ Jbyn4e @ 13.04.2008. 19:49 ] @
Pretece za minut, ali nema veze.

kazil, ako postavis cookie, neces ga moci procitati odmah (jer php cita to iz headera), vec pri sledecem refreshu stranice, sto moze da bude ko zna kad.

Hteo sam da malo sam potrazi, ali kad me vucete za ... :L) nos, malo goolge-a je dalo ovo:
http://www.modwest.com/help/kb5-258.html
pa probaj, mozda ce da radi (ako ti nije disable-ovano postavljanje sistemsih promenljivih).
[ kazil @ 13.04.2008. 20:37 ] @
evo ga jedan brutalan nacin :D
script.php:
Code:

<?php
if(isset($_GET['timestamp'])){
    echo $_GET['timestamp'];
}
else{
?>
<html>
<head>
<script type="text/javascript">
var d = new Date();
var timestamp = d.getTime();
window.location.href = "http://localhost/script.php?timestamp="+timestamp;
</script>
</head>
<body>
</body>
</html>
<?php } ?>


gadno, ali radi. sta radi? prvo proveri da li je setovana $_GET['timestamp'] promenljiva, ako jeste onda je ispise, ako nije, onda prelazi na sledeci deo, gde sa JS funkcijom getTime() uzimam trenutno unix vreme, pa browser redirektujem na isti taj fajl, sa promenljivom timestamp :)

ovo opet, radi samo jednom, tj. ako se uradi refresh strane, nece valjati sve dok se URL-a ne izbrise sve posle znaka ?
[ glavince @ 13.04.2008. 21:01 ] @
Vreme i vremenske zone php-a na serveru mozes da podesis sa "putenv"

putenv("TZ=Europe/Belgrade");

Radi na php4