Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

bistroumna zamisao za baner..

[es] :: PHP :: bistroumna zamisao za baner..

Strane: 1 2

[ Pregleda: 8237 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

eyesearch

Član broj: 274
Poruke: 52
*.041net.co.yu

ICQ: 106399891


Profil

icon bistroumna zamisao za baner..08.06.2002. u 21:54 - pre 266 meseci
[php/mysql]

imam banner koji se nalazi u frejmu i koji bi trebao da se menja (da ga zameni drugi neki) a da pri tome nema nikakvog refresha. prvo, da li je to moguce bez refresha jer nesto razmisljam ostace mi url od onog prethodnog. ovo verovatno moze preko include-a ali ja bih to zeleo vise preko baze. drugo, ja sam zamislio to ovako: da pokupim vreme koje je sad trenutno (recimo sad je 10:25:00) i da se banner zameni za jedan minut. e samo me interesuje kako da izvedem ovu stopericu. ima li neko ideju za ovo? da li bih morao da pravim sat koji "tece" a ne ovaj sto daje samo trenutno vreme kad se uradi refresh?

ili jos bolje, ima li neko drugo resenje :)))) ???
 
Odgovor na temu

dwarf
Beograd, Srbija

Član broj: 1328
Poruke: 336
*.yubc.net



Profil

icon Re: bistroumna zamisao za baner..09.06.2002. u 01:09 - pre 266 meseci
Ako baner drzis u frejmu, za sta si se, izgleda, vec odlucio, nadam se da znas da mozes da napravis zasebnu stranu koja ce u sebi sadrzavati sliku. E, u toj strani mozes ili preko meta taga ili preko JS-a da napravis taj refresh koji ti je potreban. A da bi bio siguran da zaista dobijas random podatke iz baze koristis ORDER BY RAND() LIMIT 1 (limit je tu da bi dobio samo jedan slog).

Nadam se da sam ti pomogao makar malo...
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: bistroumna zamisao za baner..09.06.2002. u 13:30 - pre 266 meseci
Nije moguce bez refresh-a, mislim i da je moguce nije zdravo to raditi sa dhtml-om,
moras prvo da ucitas gomilu banera sto opterecuje stranicu, i da mislis na jos dosta
stvari. I to vec ne spada u ovaj forum jer se ne tice php-a naravno. Ali sta je lose u
refreshu ako vec koristis frame, nece se ni primetiti?

Inace evo ti jos jedna ideja za random izbor bannera iz baze:

SELECT CEILING(RAND() * COUNT(*)) FROM t_reklame
 
Odgovor na temu

Divine
Miloš Šaković
IT Manager
Yugoslavia

Član broj: 883
Poruke: 108
*.cg.yu

ICQ: 16044064
Sajt: www.divine.cg.yu


Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 01:10 - pre 266 meseci
pogledaj referencu htmla, tag: iframe

link:
http://www.htmlreference.com/htmlref89.html
I see dead people...
 
Odgovor na temu

eyesearch

Član broj: 274
Poruke: 52
*.041net.co.yu

ICQ: 106399891


Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 09:19 - pre 266 meseci
da, vidim i ja da bi izgledalo komplikovano... nista, uzecu refresh.

hvala
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 11:33 - pre 266 meseci
pa cekaj stvarno ne razumem u čemu je problem?
imas onaj lepi <iframe> tag koji doduse ne radi sa nekim browser-ima (stari netscape i ranija mozilla koliko ja znam). To ti je najobicnija html/php/ili sta ti vec hoces stranica. Onda mozes tu da postavis refresh u meta tagu na 10sec na primer i da koristis random() funkciju php-a za vadjenje jednog zapisa iz baze i prikazivanja odredjene slike. Bitno je da ti margine u tom iframe-u budu 0 inace ce ruzno da izgleda. Ovako se refresh-uje samo jedna stranica i to je to...

E sada ukoliko zelis kompatibilnost sa svim browser-ima slusaj ovo:

PHP pored HTML moze da salje i neki drugi output. Znaci na stranicu postavis bican <img> tag ali src namestis na baner.php (<img src="baner.php" width="480" height="60">). E sada imas trik u baner.php: bitno je da pre bilo kog echo(), print()... ubacis header("Content-Type: image/pjpeg") za ovo stvarno nisam siguran, ali mislim da je ovo za JPEG slike, ako gresim ispravite me.

Zatim lupis random funkciju i iz baze izvuces jedan zapis, procitas lokaciju banera koji treba prikazati i iskoristis je u fopen(), procitas velicinu zapisa i posaljes header("Content-Lenght: $size"); - opet nisam siguran da li je ok naziv, zatim sa fget() procitas ceo fajl i jednostavno ga echo()-ujes.

Ovo ce prikazati tvoju sliku na stranici na kojoj se nalazi <img src="baner.php">, ako ovome dodas jedan name="baner" i iz JavaScript-a napravis funkciju koja menja sliku koristeci window.baner.src="baner.php", a timeout podesis na neku razumnu brojku, dobices upravo ono sto si trazio, zamenu banera bez ponovnog ucitavanja stranice.

Sada sam u skoli, pa ne mogu da testiram/napisem kod, ali kada dodjem kuci, mogu da ti napisem kod za ovo.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 14:53 - pre 266 meseci
Po meni ovo nije ideja za PHP resenje vec ideja za JavaScript resenje (koje je tako prosto napisati da je to neverovatno)...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

stinger
Luka Gerzic
DELTA M, IT Department
DELTA M HQ

Član broj: 126
Poruke: 1099
*.drenik.net

ICQ: 57419599
Sajt: www.gerzic.net


Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 15:00 - pre 266 meseci
Citat:
leka:
Po meni ovo nije ideja za PHP resenje vec ideja za JavaScript resenje (koje je tako prosto napisati da je to neverovatno)...


e super, aj leko daj nam resenje, meni treba takva skriptica koja ce da iz nekog img/ dir-a izvlaci razne banere (random ali true random) i da ih prikazuje na predefinisanom vremenskom itnervalu. zakaci je za poruku.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.verat.net



+257 Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 15:50 - pre 266 meseci
Ja sam tako nesto vec radio ranije, imao sam ideju da napravim sistem za brojanje reklama (i naplata po broju kliknutih prolaza tj. click through) i slicno (slika koju vidite na www.sf.co.yu naslovnoj se tako generise), ali to nije zazivelo, pa sam radi testiranja stavio to na sf.co.yu....
Kod je trebalo da vodi racuna da ne klikne neko vise puta na baner pa da mu se dodeljuje non stop broj click-through-a, a trebalo je namestiti da moze da bude tekstualni link ili link na slici. To je postignuto na ovaj nacin:
Code:

if ($js == 1) 
{
    if ($tip == "text") 
    {
        echo "document.write('$url');"; // ispisi $url koji si uzeo iz baze
    exit;
    }
    else
    {
    echo "document.write ('<img border=0 src=$baner>')"; //u zavisnosti od kupca prikazi baner
    exit;
    }
    }
else
    {
    // Header("Content-type: image/$exten"); //i ovo nije potrebno, radi i bez toga!
    Header( "Expires: Wed, 11 Nov 1998 11:11:11 GMT");
    Header( "Cache-Control: no-cache");
    Header( "Cache-Control: must-revalidate");
    Header("Location: $baner");
    exit;
    }

Gde je u $baner adresa slike na glavnom serveru odakle se skida, a $exten (koji se ispostavilo da nije potreban) se dobijalo na sl. nacin:
Code:

list(,$exten) = split ("\.",$slika); 

gde je $slika bilo ime slike, recimo banner.jpg. Gornji kod ukoliko je detektovan javascript ukljucen (sto je ostvareno sa script i noscript html tagovima) salje tekstualni link ili sliku sa linkom, a ukoliko nije detektovan js onda salje obavezno sliku.
Eto, dao sam ti kod za ispis slike, a refresh mozes da uzmes i iz obicnog html-a, ili da pravis preko javascript-a. Bez refresha-a neces moci, jer ti onda nikad nece zavrsiti stranicu (otprilike)

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: bistroumna zamisao za baner..10.06.2002. u 23:10 - pre 266 meseci
Citat:
leka:
Po meni ovo nije ideja za PHP resenje vec ideja za JavaScript resenje (koje je tako prosto napisati da je to neverovatno)...


OK mozda i JavaScript to moze da odradi na foru da se slike nalaze u nekom dir-u sa specijalnim imenima na primer 1.gif, 2.gif, 3.gif... a onda javascript na timeout() bira sledecu sliku, ili bira random sliku.

Ipak, ovo je PHP forum, covek je pitao za PHP skript i ja sam mu dao ideju za to. Znaci PHP koji skenira sve slike u direktorijumu, bira random sliku od tih (tip slike i naziv se automatski detektuju), pise statistiku broja kliknutih, prikazanih banera u txt fajl ili mySQL tabelu. Sve sto treba uraditi da se ubaci novi baner jeste u mysql tabelu ili txt fajl upisati naziv fajla i link ka kome treba da vodi i to je to. Baner moze biti i na udaljenom serveru...

Stvarno smatram da je skript dosta robustan i fleksibilan... i ne vidim razlog zasto ne napraviti celu ideju na taj nacin...
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 01:57 - pre 266 meseci
Citat:
Go! X:
Ovo ce prikazati tvoju sliku na stranici na kojoj se nalazi <img src="baner.php">, ako ovome dodas jedan name="baner" i iz JavaScript-a napravis funkciju koja menja sliku koristeci window.baner.src="baner.php", a timeout podesis na neku razumnu brojku, dobices upravo ono sto si trazio, zamenu banera bez ponovnog ucitavanja stranice.


Kao prvo ... ovo ne moze.
Ne moze zato shto ce se svaki put kada se reloaduje, uchitavati slika koju je PHP prvi put generisao.

A kao drugo, ono shto si predlagao da se sa fopen() i fread() chupa slika ili shto je Jbyn4e predlagao sa svim onim header funkcijama je nepotrebno.
Moze se lepo iskoristiti readfile funkcija koja kompletan fajl [sa sve headerom] ispisuje na STDOUT [kod PHPa browser jelte]

Tako da, evo scripta koja sakuplja sve fajlove iz zadatog direktorijuma i onda bira random sliku da je ispishe.

Code:

<?php
/*
small pic rotator v2
pReTeNdEr - [email protected]
readfile() advise by FlatLine

$path - path to folder with images [for example $path = ""; or $path = "images/";]
*/

$path = "images/";

##################################
$file_list = array();

if ($dir = opendir($path)) {
   while (false !== ($file = readdir($dir))) { 
       if ($file != "." && $file != "..") { 
           $file_list[] = $file;
       } 
   }
   closedir($dir); 
}


mt_srand((double)microtime()*1000000);
$num = mt_rand(0, (count($file_list)-1));

$pic = $path . trim($file_list[$num]);

readfile($pic);
?>


To se normalno poziva sa <img src="ime_fajla.php">

Nije problem ni da se uradi da proverava da li ti fajlovi imaju gif, jpg i png extenziju, ali nisam to stavljao jer rachunam da se obichno samo banneri koji su za razmenu stave u taj direktorijum...

Inache na http://www.web19a.co.yu/pret/rotate.php.txt imate i malo drugachiju verziju ove scriptice u kojoj zadajete direktorijum, ali i pojedinachno fajlove koje hocete da se prikazuju [ako nekome iz nekog razloga trreba bash to].

E sada za refresh deo trenutno nemam ideju a i vec je skoro 2, tako da ... mozda sutra ako se niko ne seti. ... ali znam da je to moguce [poshto je eyesearch kada je postavio topic pitao da li je to moguce]

Josh jednom da napomenem onaj javascript "refresh" ne radi iz gore pomenutog razloga tako da to otpada
 
Odgovor na temu

eyesearch

Član broj: 274
Poruke: 52
*.ptt.yu

ICQ: 106399891


Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 09:36 - pre 266 meseci
prvo, pitao sam moze li bez refresha i neko mi je odgovorio (gojko i sf, cini mi se) da ce tesko ici. to me je prvenstveno interesovalo! sad i ja vidim zasto, malo sam razmisljao sinoc o ovome i vidim da nema sanse bez refresha, tj. moze ali da adresa na koju je banner linkovan bude uvek ista (!) a da kad neko klikne na banner, onda skripta proceslja po kodu gde bi trazila odgovarajucu adresu slike (bannera) koje je trenutno aktivan. a to je, sad vidim, mucenje i komplikovanje bezveze.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 13:50 - pre 266 meseci
mogao bi PHP kod da vodi racuna na sesiju i da pazi kojem korisniku je dao koji baner pa po kliku da preusmerava korisnika na dobar link.

Naravno da bez refresh-a nekog elementa ne moze da se ovo izvede, ali mozes da refresh-ujes samo sliku, a da strana ostaje ucitana. Kada bi JavaScrip zamenio sliku, ponovo bi probao da ucita baner.php (posto se u php-u salje Header koji kaze browseru da ne kešira). PHP bi ponovo odradio random() i poslao drugi output, a slika bi ponovo bila ucitana...

Ako ti ovo stvarno treba mogu da ti iskodiram...
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 15:59 - pre 266 meseci
Ma moze choveche bez refresha i nije toliko teshko.
Ako hocesh samo banneri da se vrte bez mogucnosti kliktanja [mada znam da nisi to trazio], evo ispod kod.

Citat:
Go! X:
(posto se u php-u salje Header koji kaze browseru da ne kešira)


Moja greshka, na ovo sam zazboravio ... tako da evo ga php deo

rotate.php
Code:

<?php
/*
small pic rotator v2
pReTeNdEr - [email protected]
readfile() advise by FlatLine
no-cache headers() idea by Go! X

$path - path to folder with images [for example $path = ""; or $path = "images/";]
*/

$path = "images/";

##################################

header("Expires: Thu, 3 Jun 1982 05:30:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$file_list = array();

if ($dir = opendir($path)) {
   while (false !== ($file = readdir($dir))) { 
       if ($file != "." && $file != "..") { 
           $file_list[] = $file;
       } 
   }
   closedir($dir); 
}


mt_srand((double)microtime()*1000000);
$num = mt_rand(0, (count($file_list)-1));

$pic = $path . trim($file_list[$num]);

readfile($pic);
?>


a evo i html koji sve to uchitava i prikazuje

rotate.html
Code:

<HTML>
<HEAD>
<script>

function reload() {
    window.banner.src = "rotate.php";
    setTimeout("reload()", 30000);
}

</script>
</HEAD>
<body onLoad="reload()">

<img src="rotate.php" name=banner>

</BODY>
</HTML>


U ovom sluchaju se banner osvezava na 30 sekundi [to ti je onaj broj 30000 ...microsekunde, tu se menja po zelji]

Za neshto ozbiljnije, tipa baza sa banerima i adresama i brojanje clickova i sl stvarno sada nemam vremena .. a i "vremena"
 
Odgovor na temu

stinger
Luka Gerzic
DELTA M, IT Department
DELTA M HQ

Član broj: 126
Poruke: 1099
*.drenik.net

ICQ: 57419599
Sajt: www.gerzic.net


Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 16:42 - pre 266 meseci
Eto postavio sam pitanje u Java forumu pa sad da se preselimo tamo... a ovde cemo posle da postavimo pitanje kako da se js implementira sa tim postojecim skriptom kako bi to lepo moglo da radi sa bazom :) Link za tu temu je sledeci:

http://www.elitesecurity.org/tema.php?TopicID=10534

hvala svima koji zele da pomognu!
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.78.EUnet.yu



+257 Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 18:41 - pre 266 meseci
Citat:
RAZZLEDAZZLER:
Kao prvo ... ovo ne moze.
Ne moze zato shto ce se svaki put kada se reloaduje, uchitavati slika koju je PHP prvi put generisao.
A kao drugo, ono shto si predlagao da se sa fopen() i fread() chupa slika ili shto je Jbyn4e predlagao sa svim onim header funkcijama je nepotrebno.

Postoji razlog zasto sam ja to radio sa Header i slicno, i zasto idu oni expires i ostali kodovi, bas iz prostog razloga da se kaze browseru da ne vadi sliku iz cache-a vec da je ponovo ucita ukoliko se promenila slika (pa i ako je u pitanju naziv slike drugaciji , a mozda je ima u cache-u). Mogla bi i ovakva kombinacija... a meni je izgledalo najlakse sa header :). A ostali js deo je tu samo da bi se odlucilo da li je rec o text ili slika baneru, i da li je omogucen javasctript...

Cek da vidim sta ste jos pisali sve ;)

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.78.EUnet.yu



+257 Profil

icon Re: bistroumna zamisao za baner..11.06.2002. u 18:57 - pre 266 meseci
Citat:
RAZZLEDAZZLER:
Ma moze choveche bez refresha i nije toliko teshko.
...
Code:

<HTML>
<HEAD>
<script>

function reload() {
    window.banner.src = "rotate.php";
    setTimeout("reload()", 30000);
}

</script>
</HEAD>
<body onLoad="reload()">
<img src="rotate.php" name=banner>
</BODY>
</HTML>


Hm, ako ovo nije refresh, onda ne znam sta je.... ;)
Moze sve da se uradi, lep ti je kod za ono prikazivanje banera, nije lose. Problem je kad treba i da se broji koliko je puta kliknuto na baner (mora da se vodi racuna i o IP-ju i cookie-u (akoneko ima iskljucen cookies), ili sve to resiti pomocu sesija.

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.beg.sezampro.yu



Profil

icon Re: bistroumna zamisao za baner..12.06.2002. u 16:48 - pre 266 meseci
Citat:
Jbyn4e:
Hm, ako ovo nije refresh, onda ne znam sta je.... ;)


Ja sam shvatio da chovek nece da se refreshuje cela stranica, znachi ceo sadrzaj na strani, ... a da slika moze.
Znachi da se ne uchitava cela stranica, nego samo novi banner ... a to je upravo taj kod gore. Ako nije to mislio ... moja greshka.

Citat:
Problem je kad treba i da se broji koliko je puta kliknuto na baner (mora da se vodi racuna i o IP-ju i cookie-u (akoneko ima iskljucen cookies), ili sve to resiti pomocu sesija.


Da, to su problemi, a ima ih josh nekoliko verovatno, ali kao shto rekoh, nemam vremena za sve to. Ovaj kod gore je chisto za rotaciju slichica, bez ikakvog kliktanja i pracenja... ako nekome zatreba, a i da se pokaze da je moguce bez refresha kompletne stranice.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.verat.net



+257 Profil

icon Re: bistroumna zamisao za baner..12.06.2002. u 18:13 - pre 266 meseci
Citat:
RAZZLEDAZZLER:
Ja sam shvatio da chovek nece da se refreshuje cela stranica, znachi ceo sadrzaj na strani, ... a da slika moze.
...
vremena za sve to. Ovaj kod gore je chisto za rotaciju slichica, bez ikakvog kliktanja i pracenja... ako nekome zatreba, a i da se pokaze da je moguce bez refresha kompletne stranice.

Da, vidis, sve zavisi kako se shvati "refresh" - nije da pametujem, ali volim da budemo precizni - refresh cele strane i refresh kao ponovno ucitavanje nekog dela strane....
Sto se tice koda - kome treba ,lepo si napisao, znace da upotrebi. Lepo. Moglo bi se malo i drugacije uraditi akoje potreban i link, tako sto ce da se pozove php fajl preko javascript-a (<script language="javascript" src="fajl.php">) koji ce da izvrsi uzimanje url-a iz baze za odgovarajucu slicicu... znaci tabela u bazi - id, slika, url, pa onda nesto kao:
Code:

document.write ('<a href="<?echo $url;?>"><img src="<? echo $putanja_do_slike;?>" alt=""></a>';

(nemam sad vremena da proveravam da li sam ispravno napisao, ali tako nekako), gde se $url i $putanja_do_slike uzimaju iz baze na osnovu id-ja koji moze random da se generise.

Naravno, ovo pretpostavlja da je kod posetioca ukljucen javascript...

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5220
*.mediaworks.co.yu

Sajt: www.akcenat.info


+8 Profil

icon Re: bistroumna zamisao za baner..14.06.2002. u 13:05 - pre 266 meseci

Interesting link
 
Odgovor na temu

[es] :: PHP :: bistroumna zamisao za baner..

Strane: 1 2

[ Pregleda: 8237 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.