Na par mjesta sam vidio link do ovog tutorial, medjutim posto sam promjenio stranicu dobijete praznu stranicu. Pa evo tutorial ponovo:

Rekurzivna funkcija je funkcija koja poziva samu sebe da obnovi operaciju. Paznja: Svaka rekurzivna funkcija treba da ima exit ili return da bi izbjegli beskonacnu petlju. Evo vrlo jednostavan primjer.

function factorial($broj) {

    if ($broj < 2) {
        return 1;
    } else {
        return ($broj * factorial($broj-1));
    }
}

echo factorial(6);

Znaci evo i objasnjenje:

Prvi put funkcija je pozvana i variabla $broj je 6 znaci:
$broj = 6
Ako je $broj manji od 2 vrati true (1) exit. Ako nije vrati
6 * factorial(5) … zasto 5 $broj - 1 = 6 - 1 = 5

Znaci sada to ponovimo sa 5

6 * (5 * factorial(4))

Ponovimo sa 4

6 * (5 * (4 * factorial(3)))

Ponovimo sa 3

6 * (5 * (4 * (3 * factorial(2))))

Ponovimo sa 2

6 * (5 * (4 * (3 * (2 * factorial(1)))))

Medjutim 1 je manji od dva, i funkcija ce vratiti true. Sta smo dobili

6 * 5 * 4 * 3 * 2 = 720

6! = 720

Lagano zar ne :)

 

Kategorija Ostalo » Septembar 2nd, 2008 » Nema Komentara.

Vec par dana se prica o novom google pregledniku (browser-u) chrome. Ideja i potreba je vise nego dobro dosla. Naravno, google ce uzeti ovu priliku da pokrije greske koji su vec odavno u sve i jednom browseru (tab i memorija problemi, mutli-process funkcije itd).

Da bi saznali malo vise pogledajte ovaj mali cartoon.

Chrome Preglednik

Pa eto i izaso je i mozete ga download: http://www.google.com/chrome/

Kategorija Ostalo » Septembar 2nd, 2008 » Nema Komentara.

Nekoliko nacina da se dokaze ko je geek :)

http://royal.pingdom.com/?p=341

Kategorija Ostalo » Septembar 2nd, 2008 » Nema Komentara.

Evo ukratko kako da napravite svoj BOT za Windows Live, Google Talk, Yahoo Messanger i druge poznate IM programe.

1. Idite na www.imified.com i trazite invite. Zapamtite jedan bot za jedan email.

2. Dobit ce te email sa key. Kopirajte taj key i idite ovdje da bi dobili sifru.

3. Na stranici gdje zelite da imate vas BOT, napravite novi PHP file i kopirajte sljedece

<?php
// Google Suggests - sve poznatije
$u = "http://google.com/complete/search?output=toolbar";
$u = $u . "&q=" . $_REQUEST['msg'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $u);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$xml = simplexml_load_string(curl_exec($ch));
curl_close($ch);

// Analiziraj keywords i prikazi ih u IM prozorcicu
$result = $xml->xpath(’//@data’);
while (list($key, $value) = each($result)) {
echo $value .”<br>”;
}
?>

Testirajte!

Ovo radi sa bilo kojim jezikom, znaci nemora biti PHP.

Kategorija Ostalo » Septembar 2nd, 2008 » Nema Komentara.

Znaci za sada imate MySql instoliran na vasem kompjuteru ili koristite server koji ima MySql instoliran. Jedan problem sto sam imo prije je svaki put kada zelim da napravim novu bazu podataka nisam bio u mogucnosti i moro sam svaki put pitati Sirmu da to uradi, (Sirmo - codeum administrator). Naravno dok nisam naucio PHP :)

Evo i komande kako da napravite vasu bazu podataka.

Recimo da zelimo da napravio knjigu gostiju. i treba nam baza podataka sa informacijama.

$sql = 'CREATE TABLE `knjiga_gostiju` (
`kg_ime` VARCHAR( 40 ) NOT NULL,
`kg_prezime` VARCHAR( 40 ) NOT NULL,
`kg_subjekat` VARCHAR( 100 ) NOT NULL,
`kg_datum` DATE DEFAULT '0000-00-00' NOT NULL,

`kg_id` INT NOT NULL auto_increment,
`kg_ip` VARCHAR( 50 ) NOT NULL,
`kg_text` TEXT NOT NULL
PRIMARY KEY ( `kg_id` )
)';
echo 'baza podataka napravljena !';
mysql_query( $sql );

VAZNO nemoj da zaboravite da napravite konekciju sa bazom podataka i tek onda da pravite bazu podataka. ISTO TAKO PAZITE DA nezatvorite konekciju sa bazom podataka jer ako to uradite nece biti u mogucnosti da napravite tabelu.

Objasnjenje:
CREATE TABLE `knjiga_gostiju`

Create je komanda u MySql koja ce napraviti tabelu koja se zove knjiga_gostiju

`kg_ime` VARCHAR( 40 ) NOT NULL,
`kg_prezime` VARCHAR( 40 ) NOT NULL,
`kg_subjekat` VARCHAR( 100 ) NOT NULL,
`kg_datum` DATE DEFAULT '0000-00-00' NOT NULL,
`kg_id` INT NOT NULL auto_increment,
`kg_ip` VARCHAR( 50 ) NOT NULL,
`kg_text` TEXT NOT NULL
PRIMARY KEY ( `kg_id` )

VARCHAR (40) stoji za jednu liniju texta duzine 40 charactera.
DATE je naravno za datum, i u slucaju da ne postavite datum pisace 0000-00-00.
INT je integer vrijednost. BROJ od 0 pa nadalje

auto_increment znaci da ako se jedna osoba upisala u bazu podataka i kada tu bazu update kg_id broj ce se automatski promjeniti (prosli_broj + 1).
TEXT je erija gdje mozete da pisete vece textove kao sto ce u nasem slucaju biti poruka.
PRIMARY KEY ( `kg_id` ), postavljamo kg_id da bude glavni kljuc ove baze podataka i svi ostali ce biti povezani sa tim brojem.
NOT NULL znaci da vrijednost tog polja nemoze ostati prazan. Ako necete da dobijate errors uklonite ovu opciju.

Evo kako bi sve trebalo da izgleda.

<?php
$link = mysql_connect("localhost","username","password");
if(! $link)

die("Nismo se konektirali u bazu podataka");
else
{
$sql = 'CREATE TABLE `knjiga_gostiju` (
`kg_ime` VARCHAR( 40 ) NOT NULL,
`kg_prezime` VARCHAR( 40 ) NOT NULL,
`kg_subjekat` VARCHAR( 100 ) NOT NULL,
`kg_datum` DATE DEFAULT '0000-00-00' NOT NULL,
`kg_id` INT NOT NULL auto_increment,
`kg_ip` VARCHAR( 50 ) NOT NULL,
`kg_text` TEXT NOT NULL

PRIMARY KEY ( `kg_id` )
)';
echo 'baza podataka napravljena !';
mysql_query( $sql );
}
";

mysql_close($link);
print "sve radi kako treba";
?>

To je to… Ako ste sve uradili kako treba, onda trebate da dobijete poruku sve radi kako treba…. Ako niste a sigurni ste da ste uradili sve kako treba javite se putem foruma.

Znaci sada imamo bazu podataka koja se zove knjiga_gostiju…
Slijedeci korak ce biti da se konektiramo sa bazom podataka i da pokupimo par informacija iz te baze podataka a i ujedno da sahranimo neke podatke u tu istu tabelu….

Nastavak kasnije :)

Kategorija Ostalo » Avgust 22nd, 2008 » Nema Komentara.

Recimo sada zelite da imate forum fields gdje ce gost biti u mogucnosti da pohrani informacije u bazu podataka.

<html>
<head>
<title>Knjiga Gostiju</title>
</head>

<body>
<form action="knjiga_gostiju.php" method="post">

Ime:
<input type="text" name="ime">

E-mail:
<input type="text" name="email">

URL Stranice:
<input type="text" name="url" value="http://">

Komentar:
<textarea name="koment" cols="45" rows="5">
</textarea>
</body></html>

ovo je obicni html i <?php i ?> nisu ni potrebni.. sad za sad Eto to je to za sada slijedeci put cemo da napravimo tutorial kako da se upisu vrijednosti iz forme u bazu podataka….
Pozdrav Svima

Kategorija Ostalo » Avgust 22nd, 2008 » Nema Komentara.

Koriste se za definisanje objekta ? klasa je samo sablon na osnovu koga se kreiraju objekti. Na osnovu jedne definicije klase moguce je kreirati vise objekata. Novi objekat se kreira upotrebom kljucne rijeci new na sledeci nacin:

<ime_varijable > = new <ime_klase>(<lista_varijabli>)
<lista_varijabli> - varijable koje se predaju konstruktoru

NPR: $obj = new my_class();

class <ime_klase>
{
<varijable>
<konstruktor klase>
<funkcije>
}

<varijable> - lista varijabli koje ce biti koristene unutar klase

<konstruktor klase> - funkcija istog imena kao i klasa koja se poziva kada se kreira nova instanca klase
<funkcije> - funkcije klase

4.1 Varijable

class c_test
{
//test varijable
var $a;
var $b;

}

$a = new c_test(); // kreiranje objekta "a" na osnovu klase "c_test"
$b = new c_test(); // kreiranje objekta "b" na osnovu klase "c_test"

Ovde su $b i $a objekti ili instance klase c_test. Prustup varijablama se vrsi kao:

$a->a = "varijabla a"
$a->b = "varijabla b"

echo $b->a; //izlaz je "", zato sto varijable objekta b jos nisu primile //nikakvu vrijednost i zato sto nemaju nikakve veza sa objektom a.

echo "ja sam " . $a->a ; //izlaz je "ja sam varijabla a"

echo "a ja " . $a->b ; //izlaz je "a je varijabla b"

Operator "->" - koristi se za pristup clanovima klase.

4.2 Funkcije

class c_test
{

//test varijable
var $a;
var $b;
function zbir() { return $this->a + $this->b; }
function produkt() { return $this->a*$this->b; }
function razlika() { return $this->a-$this->b; }

function kolicnik() {
if ($this->b != 0){
return $this->a/$this->b;
}else{
return "nije definisano" ;
}

function pozovi_zbir(){
//primjer pozivanja funkcije
return ($this->zbir());
}
}

$this - isto kao $a->a za pristup varijabli a u objektu a, $this->ime_varijable koristi se za pristup varijabli koja je definisana u klasi, za varjable u oblasti funkcije ne treba koristiti $this.

$obj = new c_test();

$obj->a = 15;
$obj->b = 20;

echo $obj->zbir(); // izalz je 35
echo $obj->produkt(); // itd.

echo $obj->razlika; //ne radi zato sto nema "()" iza funkcije;

4.3 Konstruktori klase
Konstruktor klase je funkcija koja se poziva prilikom kreiranja nove klase. Funkcija je konstruktor ako ima isto ime kao i klasa.

class test {
function test() { echo "testing…"; }
}

$x = new test(); //
$y = new test(); // ) ? svaki put se poziva funkcija test() klase test
$z = new test(); // /

class osoba{
var $ime;

var $prezime;
function osoba ($ime ="", $prezime="") //konstruktor
{
$this->ime = $ime;
$this->prezime= $prezime;
}
}

$x = new osoba("abc","xyz"); //ovi argumenti su predati funkciji "osoba"
$y = new osoba(); //argumenti su izostavljeni pa se koriste podrazumijevane vrijednosti

echo $x->ime . "
"; //abc
echo $x->prezime; //xyz

4.4 Nasle?ivanje

class <nova_klasa> extends <osnovna_klasa>
{
}

Ovako definisana klasa nasledjuje sve osobine osnovne klase. Sve funkcije koje je imala osnovna klasa bice dostupne u novoj klasi. Ako nova klasa nema konstruktora koristi se konstruktor osnovne klase ukoliko postoji.

NPR:

class a{
function aa(){ echo "ovo je funkcija aa klase a
"; }
}
class b extends a{
function bb(){ echo '"ovo je funkcija bb klase b
"; }
}

Klasa b je naslijednila sve osobine klase a, klasa a sadrzi funkciju aa, a klasa b sadrzi funkciju aa i bb.

$x = new b();
$b->aa();
$b->bb();

Izlaz:
ovo je funkcija aa klase a
ovo je funkcija bb klase b

Kategorija Ostalo » Avgust 22nd, 2008 » Nema Komentara.

Evo korak po korak instrukcije kako da isjecete PDF sliku i napravite webstranicu.

Stranica je na Engleskom, ali se moze vidjeti svaka instrukcija.

Pogledajte stranicu ovdje

Kategorija Ostalo » Avgust 1st, 2008 » Nema Komentara.

Steta! Da bi programirali i pravili iPhone aplikacije morate imati Mac OS X! Pronaso Sam par aplikacija koji kazu da omogucavaju windows iPhone programiranje medjutim sve koje sam probo nisu radile ono sto sam trazio! Iskreno se nadam da ce se apple opametiti i promjeniti misljenje i windows programiranju. Ako znate za dobru soluciju postavite komentar.

Kategorija Ostalo » juli 28th, 2008 » Nema Komentara.

Dali ste ikada zeljeli da imate “google” search na vasoj stranici u vasoj bazi podataka? Naravno, bez explode(” “, $text) i onda WHERE moj_text IN ($text), vec bas tekst koji trazite onako kako ste ga napisali. Fulltext opcija u MySQL and SQLlight vam pruza ovu mogucnost. U MySQL, na primjer, kada pravite definicije od table, jedna od opcija ce da bude fulltext.


CREATE TABLE `moji_text` (
  `id` int(11) NOT NULL auto_increment,
  `moj_text` text character set utf8,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `moj_text` (`moj_text`)
)

Znaci, sada imamo field moj_text koji radi kao fulltext. Jedino sto je preostalo je napraviti select query.


SELECT *
  MATCH(moj_tex)
AGAINST ('".trim($trazilica)."' IN BOOLEAN MODE) AS score
FROM
  moj_text
WHERE
  MATCH(sp.PHRASE)
AGAINST ('".trim($trazilica)."' IN BOOLEAN MODE)

$trazilica u ovom slucaju je text koji zelite da nadjete. Znaci bilo sta “Programeri su najbolji” na primjer; Ovaj select statement ce da vrati score kao jedan od rezultata. Sto znaci ako imate tekst u bazi podataka koji ima rijec najbolji na kraju a Programeri na pocetku i imate drugi text gdje imate Programeri i najbolji blizi jedno drugom, drugi text ce imati jedan dok ce prvi text imati dva.

To je to, postavite pitanja ako zelite malo vise detalja.

Kategorija Ostalo » juli 14th, 2008 » Nema Komentara.