Posts Tagged ‘php’

27 May, 2010

Dinamičko pozivanje PHP-a uz pomoć jQuery-ja

Evo jednog kratkog i jednostavnog primera koji pokazuje kako se iz statičkog XHTML fajla, uz pomoć jQuery JavaScript biblioteke može pozvati eksterni PHP fajl koji obrađuje vrednost izabranu u padajućoj listi na XHTML stranici i bez ponovnog učitavanja cele stranice, dinamički vraća rezultat obrade nazad.

Za potrebe ovog primera, odabrao sam jednostavno računanje kvadrata broja izabranog u padajućoj listi. Iz “stranica.xhtml” datoteke, bira se broj iz liste i klikom na dugme “Okini“, JavaScript funkcija iz datoteke “funkcije.js” poziva eksterni PHP fajl “obrada.php” koji računa kvadrat broja i vraća vrednost nazad u polje “<span id=”rezultat”>NaN</span>” koje se nalazi u početnoj XHTML stranici.

Da bi probali ovu skriptu, potrebno je da u istom folderu napravite sledeće datoteke sa sadržinom koja je navedena:

stranica.xhtml



Kvadrat izabranog broja je: NaN

        

funkcije.js

// Funkcija koja poziva eksterni PHP fajl i ucitava rezultat
function funkcija(value) {
    $('#rezultat').load('obrada.php?broj='+ value);
}

// Okidac koji klikom na dugme poziva funkciju
$(document).ready(function() {
    $("#dugme").click(function() {
        // Uzimamo vrednost iz padajuceg menija
        funkcija(document.getElementById('broj').value);
    });
});

obrada.php

< ?php
    // Ulaz: Provera da li je poslata vrednost za $broj
    if(isset($_GET['broj'])) {
        $broj = $_GET['broj'];
    }
    else {
        $broj = "NaN";
    }

    // Obrada: Racunanje kvadrata broja
    $rezultat = $broj * $broj;

    // Izlaz: Ispis rezultata rada
    echo ($rezultat);
?>
Ostaje samo još jquery.js biblioteka, koju možete preuzeti sa zvaničnog sajta.
Kako se WP plugin za syntax highlight koda čudno ponaša sa ovim primerima, postavio sam i probni kod, kao i arhivu sa celim primerom.
Nadam se da će ovo nekome biti korisno icon smile Dinamičko pozivanje PHP a uz pomoć jQuery ja

12 December, 2009

Grabljivica.com v2 – Žene su jednostavno strašne!

Prethodnih dana bio sam u strašnoj gužvi, a ni sada nije mnogo bolja situacija, no svratih samo da se pohvalim da sam u portfolio dodao još jedan sajt. Kao što je Branko već i objavio, zajedno sa drugim delom knjige, krenuo je sa radom i novi sajt grabljivica.com.

U pitanju je ženski kutak za ćaskanje o ljubavi, seksu i ogovaranje muškaraca. I sve to sa osmehom i uz kaficu. A tu su i ostale stvari koje zanimaju moderne devojke poput ženskih saveta, horoskopa, testova i sl.

grabljivica com homepage 640x400 Grabljivica.com v2   Žene su jednostavno strašne!

Nas dvojica smo ceo sajt od nule napravili za svega par dana, a još par dana je trajalo peglanje sitnih nedostataka i prebacivanje korisnika sa starog sajta (Joomla CMS) i foruma. Kompletan vizuelni identitet i sav dizajn odradio je Branko aka foxbunny, a ja sam projektovao bazu i isprogramirao sve ostalo. Čisto napomene radi, sve je nastalo kao rezultat korišćenja slobodnog softvera: Linux, Gimp, Inkscape, Gvim, PHP, MySQL, phpMyAdmin, Firefox

Kao što sam ranije već twitao, odavde sam zaključio neke bitne stvari, a ono što bih izdvojio da nikada ne prihvatate projekte kojima je deadline za vreme ispitnog roka ili kolokvijumske nedelje i da, ako je ikako moguće, izbegavate programiranje na tuđem računaru – pa makar to značilo i 24h kodiranja na Eee PC-ju – u komadu.

Prvom prilikom pojasniću prethodne savete malo detaljnije, a do tada svratite da vidite šta rade cyber ženske na grabljivica.com icon wink Grabljivica.com v2   Žene su jednostavno strašne!

14 April, 2009

Ispravljanje krive Drine – LAMP i problem sa belinama

Prošle noći sam izgubio 4h na debagovanje i modifikaciju koda koji je bio ispravan, ali nije radio – a ja sam jedva provalio o čemu se radi. Glavni krivac bio je Windows, a šta se desilo, kako sam otkrio o čemu se radi i kako sam problem rešio, saznaćete vrlo brzo icon smile Ispravljanje krive Drine – LAMP i problem sa belinama Naime, razrešenje ove misterije nije išlo gore pomenutim redosledom, pa upravo zato i reših da svoje iskustvo podelim sa ostatkom svet.

Pretprošle noći krenuh u realizaciju jednog mog mini WEB projekta. Kako su pitanju XHTML/CSS + PHP/MySQL tehnologije, krenuo sam sa radom u lokalu. Startovah LAMP pa se bacih na izradu baze i back panel-a. Zaključno sa sistemom za logovanje korisnika, privedoh rad kraju za taj dan (noć zapravo) pa sam sve do tada urađeno okačio na server. Probao sam skriptu i sve do tada implementirano je radilo bez ikakvih problema.

Onda prošle noći reših da malo sredim kod, formatiranje i komentare, pa sam sve ponovo svuk’o u lokal, sredio i vratio online. Jedina razlika bila je što sam ovog puta radio sa WAMP-om na mašini sa Windowsom. Ništa značajno nisam menjao što se koda tiče, ali ipak reših da još jednom proverim da li je sve ok. Kad imam šta i da vidim: na svakom fajlu pucaju neke funkcije (2-3 uproseku). Od svega su se najviše bunile sesije (kreiranje i promena podataka). Tu je krenulo 4h pakla sa istraživanjem šta tačno ne radi i zašto se od jednom buni, a prethodnog dana je radilo.

Probao sam sve i svašta. Čak sam i potpuno promenio sistem za logovanje. Menjao pamćenje nekih stvari u cookie umesto u sesiju i svašta drugo što mi je palo na pamet. No na kraju je ipak negde pucalo. Onda reših da sklonim komentare sa početka fajla, jer sam čitao da neke PHP funkcije moraju biti apsolutno na početku koda (iako su u demo primerima, čak i u dokumentaciji, radile i ako pre njih ima belina ili komentara). Iz web-editora sam otvorio, izmenio i sačuvao svaki fajl ponaosob, posle čega je, na moje zaprepašćenje, sve ponovo proradilo bez ikakvih grešaka. U neverici sam ponovo vratio komentare, kako bih bio siguran da je do toga, no i dalje je sve radilo. Nekoliko minuta sam gledao u kod i češkao se po glavi dok se nisam setio sličnih problema jednog prijatelja. Branku je pucao IE7 prilikom izvršavanja JavaScript-a pisanog na Windows platformi, pa sam pomislio da i ovde CR-LF pravi probleme.

Ovu teoriju sam eksperimentalno dokazao na sledeći način: Prvo sam sve fajlove upload-ovao preko FTP-a (text-modom) gde sistem autoamtski sređuje EOL. Pokrenuo sam skriptu sa servera i nije bilo nikakvih grešaka. Zatim sam iste fajlove arhivirao i ponovo upload-ovao (ovaj put kao jednu arhivu, binarnim modom) pa otpakovao na serveru. Prilikom pokretanja skripte, ponovo su se javile misteriozne greške o nemogućnosti pokretanja sesija.

Suma sumarum: Ukoliko se bavite WEB development-om i radite pod Windows-om, imajte na umu da je većina WEB servera pod nekim UNIX-olikim operativnim sistemom (Linux, BSD, Solaris, MacOS…) te da je preporučljivo da svoje fajlove spakujete u odgovarajući format kako ne bi dolazilo do ovakvih problema. Sa druge strane, ako radite u Linux okruženju, a koristite komponente koje su razvijala treća lica, obavezno proverite da li su sami fajlovi sačuvani na odgovarajući način. Na taj način uštedećete vreme i sebi i drugima ukoliko dođe do ovakvih problema.

100% Kiza Approved