Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
zašto ne radi ... (php.)
Goto page 1, 2  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 15.09.2004 21:04    Post subject: zašto ne radi ... (php.) Add user to your forum ignore list Reply with quote

Code:
<?php
         //brojac posjeta v2 - s cookiem :)
      if (isset($_COOKIE['brojac'])){
         setcookie("brojac","1",time()+120);
         include("condb.php"); //za spajanje na db
      
            $datum0 = getdate();
            $datum = "$datum0[mday].$datum0[mon].$datum0[year]"; //formira datum

      
         $query1 = "SELECT * FROM brojac WHERE datum = '$datum'";
         $br = mysql_query($query1,$konekt); //traži broj posjeta današnjeg datuma...
         
         $brf = mysql_fetch_assoc($br); //fetcha rezultat
         $new = $brf['broj'] + 1; //poveca ga za jedan ako nije bilo niceg (0) onda to broji kao prvi posjet...
         $query3 = "INSERT INTO brojac (datum, broj) VALUES ('$datum', '1')";
            
            if(!mysql_query($query3,$konekt)){ //datum je jedinstvene vrste pa ako zelimo napravit novo polje s istim datumom vratit ce false
               $query2 = "UPDATE brojac SET broj = '$new' WHERE datum = '$datum'";
               mysql_query($query2, $konekt); //ako vrati false znaci da datum postoji i da treba samo updateat rezultat
            };

         mysql_close($konekt);
      };
?>


znači ovo je kod ... Smile problem je što dio s cookiem ne radi !?
ono u čem je problem ... (i ako imate kakav savjet za skriptu da bude bolja or something...)

ps.
znam da je malo čudno riješen dio s updateom ali ono Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 15.09.2004 21:34    Post subject: Add user to your forum ignore list Reply with quote

OK, neću se puno pravit pametan jer nisam pisao PHP godinu dana... Ali onaj time()+120 u cookieu me muči, što neće cookie prebrzo biti 'expired' Confused

Pitanje broj dva se odnosi na dio koji gleda današnji datum i ostalo... Što ako dva usera isti dan budu na sajtu? Jer u query-ima nema ničega user-specific, pa kako on zna koji podatak odgovara kojem surferu?

Žao mi je što na pitanjima odgovaram sa pitanjima... Smile ali mi nije baš ovo na mjestu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 15.09.2004 21:46    Post subject: Add user to your forum ignore list Reply with quote

Sulien wrote:
OK, neću se puno pravit pametan jer nisam pisao PHP godinu dana... Ali onaj time()+120 u cookieu me muči, što neće cookie prebrzo biti 'expired' Confused

pa dvije minute (? or) Smile to je bilo samo da isprobam ...

Sulien wrote:

Pitanje broj dva se odnosi na dio koji gleda današnji datum i ostalo... Što ako dva usera isti dan budu na sajtu? Jer u query-ima nema ničega user-specific, pa kako on zna koji podatak odgovara kojem surferu?


baš ne kužim kaj želiš reć Smile sory Wink Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 15.09.2004 22:04    Post subject: Add user to your forum ignore list Reply with quote

Uuu, fak... Nešto sam zabrijao ovo drugo. Forget it Embarassed Nisi nam dao dovoljno informacija o tome što točno brojač broji i kako broji, pa zato

Rješenje sa query-em koji vraća false mi se ne sviđa, to se moglo i elegantnije... Ali kad kažeš da cookie ne radi, objasni mi točno njegovu ulogu. Što ako cookie nije setiran (prvi "if" u kodu)? Kad se cookie inicijalizira?

S kolačićima sam uvijek imao problema u IE, i stalno sam mislio da ja nešto griješim dok nisam čuo potvrdu od drugih ljudi da nisam ja lud -- dobra stara praksa "ako kolačić ne radi dobro, izbriši ga i pokreni ispočetka"... To sam konačno naučio kod autologina na mi3
Back to top
View user's profile Send private message Send e-mail Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 15.09.2004 22:10    Post subject: Add user to your forum ignore list Reply with quote

Sulien wrote:

Rješenje sa query-em koji vraća false mi se ne sviđa, to se moglo i elegantnije... Ali kad kažeš da cookie ne radi, objasni mi točno njegovu ulogu. Što ako cookie nije setiran (prvi "if" u kodu)? Kad se cookie inicijalizira?


lol where was i thinking Very Happy
treba ic !isset .... jer ako ga nema onda ga treba postavit i pribrojit posjet Smile lol

but (always Sad)
Warning: Cannot add header information - headers already sent by (output started at c:\phpdev\www\mobypal\index.php: Cool in c:\phpdev\www\mobypal\index.php on line 30

??? now what? Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 15.09.2004 22:36    Post subject: Add user to your forum ignore list Reply with quote

I ja sam isto mislio !isset, ali sam mislio da opet brijem

a ovaj header -- Smile

Ajde reci kako točno hoćeš da stranica broji posjete i ja ću dati svoj prijedlog -- mislim da se može jednostavnije ovo riješti Wink
Back to top
View user's profile Send private message Send e-mail Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 15.09.2004 22:40    Post subject: Add user to your forum ignore list Reply with quote

Sulien wrote:
I ja sam isto mislio !isset, ali sam mislio da opet brijem

a ovaj header -- Smile

Ajde reci kako točno hoćeš da stranica broji posjete i ja ću dati svoj prijedlog -- mislim da se može jednostavnije ovo riješti Wink


pa jednostavno broji posjete Very Happy znače ne posjetitelje već posjete (cookie je tu samo da bi spriječio nakon ponovnog učitavanja/vraćanja na front povećanje posjeta ... mislio sam stavit na 1h ... možda postoji neki drugi način ... sumnjam Smile)

znači ono je radilo super ali s cookiem ne radi ... Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 15.09.2004 22:52    Post subject: Add user to your forum ignore list Reply with quote

unique wrote:
Sulien wrote:

Rješenje sa query-em koji vraća false mi se ne sviđa, to se moglo i elegantnije... Ali kad kažeš da cookie ne radi, objasni mi točno njegovu ulogu. Što ako cookie nije setiran (prvi "if" u kodu)? Kad se cookie inicijalizira?


lol where was i thinking Very Happy
treba ic !isset .... jer ako ga nema onda ga treba postavit i pribrojit posjet Smile lol

but (always Sad)
Warning: Cannot add header information - headers already sent by (output started at c:\phpdev\www\mobypal\index.php: Cool in c:\phpdev\www\mobypal\index.php on line 30

??? now what? Smile


A koja je linija 30? Smile

Uglavnom, moraš radnju na liniji 30 obaviti prije bilo kakvog HTML outputa.

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
PsychoPod



Joined: 05 Oct 2003
Posts: 166

PostPosted: 16.09.2004 00:46    Post subject: Add user to your forum ignore list Reply with quote

mozda da napravis pomocu sessiona da pamti, i ako je session_id setan da ne broji, a ako nije, setiras ga i dodas broj u tablicu. nesto slicno?
Back to top
View user's profile Send private message
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 16.09.2004 09:31    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:

A koja je linija 30? Smile
Uglavnom, moraš radnju na liniji 30 obaviti prije bilo kakvog HTML outputa.


to bi bilo setcookie Smile
to bi značilo da moram cookie postavit prije nego što provjerim dal ga imam ? Very Happy

psycho wrote:
mozda da napravis pomocu sessiona da pamti, i ako je session_id setan da ne broji, a ako nije, setiras ga i dodas broj u tablicu. nesto slicno?


pa to i radim samo s cookiem Smile

ps. session security bug? Smile ne znam baš o ćem se radi, nije mi se baš dalo čitat Smile ali ako nekog zanima Smile...

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
strija



Joined: 14 Sep 2003
Posts: 473
Location: Čakovec

PostPosted: 16.09.2004 09:53    Post subject: Add user to your forum ignore list Reply with quote

unique wrote:

Warning: Cannot add header information - headers already sent by (output started at c:\phpdev\www\mobypal\index.php: Cool in c:\phpdev\www\mobypal\index.php on line 30

??? now what? Smile


probaj na pocetku koda ubaciti
ob_start();

_________________
We can exist in ambiguity, but it means the deepest loneliness. | creolab.hr | thefarewellreason.com
Back to top
View user's profile Send private message Visit poster's website
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 16.09.2004 10:19    Post subject: Add user to your forum ignore list Reply with quote

unique wrote:
edgar wrote:

A koja je linija 30? Smile
Uglavnom, moraš radnju na liniji 30 obaviti prije bilo kakvog HTML outputa.


to bi bilo setcookie Smile
to bi značilo da moram cookie postavit prije nego što provjerim dal ga imam ? Very Happy


Ne. Ali zapravo to NIJE linija #30. Koliko ja vidim, to je linija #4 ...

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
che.UP
mi3.crew


Joined: 07 Sep 2003
Posts: 2320
Location: zagreb

PostPosted: 16.09.2004 10:27    Post subject: Add user to your forum ignore list Reply with quote

strija wrote:
unique wrote:

Warning: Cannot add header information - headers already sent by (output started at c:\phpdev\www\mobypal\index.php: 8) in c:\phpdev\www\mobypal\index.php on line 30

??? now what? :)


probaj na pocetku koda ubaciti
ob_start();


no dobro necemo sad to koristit di nije potrebno, jel?:)

treba samo provjeriti da nema ama bas nista drugo u prvoj liniju osim <?php
znaci ne smije biti ni space ni enter, nista...

_________________
UP | TypeTester | Accommodations App
Meni u Firefox-u ne radi AJAX
Back to top
View user's profile Send private message Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 16.09.2004 10:54    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:

Ne. Ali zapravo to NIJE linija #30. Koliko ja vidim, to je linija #4 ...


to nije cijelo kod Smile ... još ima ispred js i ostalo

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 16.09.2004 11:11    Post subject: Add user to your forum ignore list Reply with quote

unique wrote:
edgar wrote:

Ne. Ali zapravo to NIJE linija #30. Koliko ja vidim, to je linija #4 ...


to nije cijelo kod Smile ... još ima ispred js i ostalo


e pa vidiš. Upravo je taj js i 'ostalo' problem. Skripta mora bit ČISTA od bilo kakvog HTML outputa prije korištenja cookie-a. Kužiš?

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 16.09.2004 11:24    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:

e pa vidiš. Upravo je taj js i 'ostalo' problem. Skripta mora bit ČISTA od bilo kakvog HTML outputa prije korištenja cookie-a. Kužiš?


edit: --------- Wink Laughing

da u tom je bio problem Smile sory svi (moj veliki bad) i hvala na pomoći , tenks edgar...

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 16.09.2004 11:53    Post subject: Add user to your forum ignore list Reply with quote

Savjet: uvijek organiziraj kod tako da u php skriptama ne pišeš html, ili barem što manje html-a. Najbolje je da imaš praksu pisanja koda u više modula i skripti koje imaju međusobnu interakciju. To zahtijeva malo više organizacije i promišljanja, ali krajnji učinak je s programerskog gledišta daleko bolje riješenje. Miksanje svog sranja u jednu skriptu je loše i najčešće ne radi kako treba, a niti je moguće neke stvari izvesti.
Odvajanje php koda od html-a je daleko elegantnije rješenje.

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 16.09.2004 11:57    Post subject: Add user to your forum ignore list Reply with quote

tenks

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 16.09.2004 20:43    Post subject: Add user to your forum ignore list Reply with quote

PsychoPod wrote:
mozda da napravis pomocu sessiona da pamti, i ako je session_id setan da ne broji, a ako nije, setiras ga i dodas broj u tablicu. nesto slicno?

Pa i ja sam mislio predložiti da to bude sessionom. Meni je to daleko elegantnije i kraće (svega par linija koda uključujući i SQL query-e)

Dakako, i session_start() mora biti prije ikakvog html outputa


EDIT: napisao sam "ukljućujući"... Embarassed

Last edited by Sulien on 18.09.2004 23:47; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 18.09.2004 16:44    Post subject: Add user to your forum ignore list Reply with quote

sulien wrote:
Rješenje sa query-em koji vraća false mi se ne sviđa, to se moglo i elegantnije...


evo sad sam to malo elegantnije.. Smile
pa što kažete Smile
Code:

<?php
      if (!isset($_COOKIE['v1_valid'])){
         setcookie("v1_valid","1",time()+60);
         include("condb.php"); //za spajanje na db

            $datum0 = getdate();
            $dan = $datum0[mday];
            $mjesec = $datum0[mon];
            $godina = $datum0[year];
         
         $query1 = "SELECT * FROM brojac WHERE dan = '$dan' AND mjesec = '$mjesec' AND godina = '$godina'";
         $izlaz = mysql_query($query1,$konekt);
         $data = mysql_fetch_assoc($izlaz);
         $v1 = $data['v1'] + 1;
         $v2 = $data['v2'];
         
         if (!isset($_COOKIE['v2_valid'])){
            $v2++;
            setcookie("v2_valid","1",time()+31536000);}
         if ($v1 == 1){
            $query2 = "INSERT INTO brojac (dan, mjesec, godina, v1, v2) VALUES ('$dan' ,'$mjesec', '$godina', '$v1', '$v2')";
         }else $query2 = "UPDATE brojac SET v1 = '$v1', v2 = '$v2' WHERE dan = '$dan' AND mjesec = '$mjesec' AND godina = '$godina'";

         mysql_query($query2, $konekt);
         mysql_close($konekt);         
      };
?>

znači razdvojoi sam datum na dan, mjesec i godina (radi lakšeg kasnijeg izvlačenja podataka)
v1 - broj posjeta (cookie na 1h trenutno je 1 min)
v2 - broj posjetitelja (cookie na jednu godinu)
(to je i tablica Smile)

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
PsychoPod



Joined: 05 Oct 2003
Posts: 166

PostPosted: 18.09.2004 20:33    Post subject: Add user to your forum ignore list Reply with quote

meni to sve ok izgleda, samo sta sam dodajes u mysql iduci dan u mjesecu. ili si vec unaprijed ubacio u tablicu te datuma. mislim na
Code:
$query1 = "SELECT * FROM brojac WHERE dan = '$dan' AND mjesec = '$mjesec' AND godina = '$godina'";

jer po ovome to je vec u bazi. sta si stavio unaprijed sve datume u bazu pa samo dodajes posjete radi statistike?
i ovaj cookie koji vrijedi minutu(sat) mi je nekako cudno. za takve vremenske periode mi nekako bolje sessione koristiti. dok za ovaj od godinu dana je ok:)
Back to top
View user's profile Send private message
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 18.09.2004 21:22    Post subject: Add user to your forum ignore list Reply with quote

PsychoPod wrote:
meni to sve ok izgleda, samo sta sam dodajes u mysql iduci dan u mjesecu. ili si vec unaprijed ubacio u tablicu te datuma. mislim na
Code:
$query1 = "SELECT * FROM brojac WHERE dan = '$dan' AND mjesec = '$mjesec' AND godina = '$godina'";

jer po ovome to je vec u bazi. sta si stavio unaprijed sve datume u bazu pa samo dodajes posjete radi statistike?

ne nisam Very Happy to bi bilo glupo Smile nego on traži ako već postoji taj dan pa onda samo updatea a ako ne postoji on će vratit 0 pa ću ja pribroji 1 = 1 Smile i upisat novi (ne update) 'rezultat'...

PsychoPod wrote:

i ovaj cookie koji vrijedi minutu(sat) mi je nekako cudno. za takve vremenske periode mi nekako bolje sessione koristiti. dok za ovaj od godinu dana je ok:)

1h je da bi spriječio zbrajanje posjete za svako vraćanje na front s neke tablice ili već nečeg...ne pada mi na pamet bolje riješenje !?
ja nisam baš upoznat s tim sessionima ... može neki intro pls. Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
silence



Joined: 24 Apr 2004
Posts: 890
Location: .....ni na nebu, ni na zemlji.....

PostPosted: 19.09.2004 10:07    Post subject: Add user to your forum ignore list Reply with quote

meni su sessioni u svakom slučaju draži....

_________________
This End-User License is an agreement between Microsoft Corporation (hereafter referred to as "Microsoft") and you, the end-user (hereafter referred to as "our bitch").
Back to top
View user's profile Send private message Visit poster's website
unique



Joined: 29 Mar 2004
Posts: 655

PostPosted: 19.09.2004 11:11    Post subject: Add user to your forum ignore list Reply with quote

silence wrote:
meni su sessioni u svakom slučaju draži....

why? why? why?
ps.
why? Smile

_________________
Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE!
Back to top
View user's profile Send private message
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 19.09.2004 12:10    Post subject: Add user to your forum ignore list Reply with quote

session ti traje dok je korisnik na stranici.
to ti je kao varijabla koja je prisutna na svim stranicama tvog sajta.

postavis je na jednom pageu i mozes dobiti vrijednosti iz nje na nekom desetom.

uglavnom, kako ta stvar funkcionira - u session varijablu pohranis nesto te se ta informacija cuva u nekoj datoteci na serveru.
postoji vrijeme kroz koje session "zivi", odnosno kolko ce ta datoteka postojati u direktoriju sa sessionima.

kako nesto strpas u session? ovako:

$_SESSION['ime_varijable'] = 'nekakva vrijednost';

svaki korisnik kada se spoji na stranicu dobije tzv. session_id, odnosno 32bitni niz znakova (obicno izgleda ovako: 2ds14lmj2455klsa itd) koji identificira korisnika i pridruzuje mu njegovu session datoteku.


ovo je quickie objasnjenje. imas li jos pitanja - pitaj Smile
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group