Kako dobiti dane u mjesecu sa PHP-om?

Naprimjer, na jednoj stranici želimo kalendar sa svim danima i mjesecima. Funkcija uzima kao argumente mjesec i godinu a vraća redni broj dana i skraćeni...
Naprimjer, na jednoj stranici želimo kalendar sa svim danima i mjesecima. Funkcija uzima kao argumente mjesec i godinu a vraća redni broj dana i skraćeni naziv (tri slova) za dan na engleskom jeziku. function ds_getDays($year, $month) { // Mon Tue Wed Thu Fri Sat Sun $list = []; for($d=1; $d<=31; $d++) { $time = mktime(12, 0, 0, $month, $d, $year); if (date('m', $time)==$month) { $dateExplode = explode('-',date('Y-m-d-D', $time)); array_shift($dateExplode); array_shift($dateExplode); $list[] = $dateExplode; } } return $list; } Zatim imamo funkciju koja zove prvu: function ds_runOnMonth($year, $fn) { $list = []; for ($i=1; $i<13; $i++) { $list[] = $fn($year, $i);...

Codeigniter – registracija/prijava

Prije ovoga bacite oko na ovu objavu. Kod je na github. Cijeli postupak ide ovako: registracija korisnikakorisnik pošalje email i šifruako email ne postoji napravi...
Prije ovoga bacite oko na ovu objavu. Kod je na github. Cijeli postupak ide ovako: registracija korisnikakorisnik pošalje email i šifruako email ne postoji napravi novi korisnički računprijava korisnikakorisnik pošalje email i šifruako email postoji - prijavi korisnika Kod registracije unosimo email, šifru i user id (UUID) u bazu podataka. Kad se korisnik prijavi šaljemo mu (http-only) browser-only cookie. Znači cookie do kojeg se ne može doći sa javascriptom u internet pregledniku. U sesiji (session) dodajmo ključ ["user-logged-on" => 'f750204d-e73d-43e7-a5c2-cff967d233c6']. Na ponovnoj posjeti, provjeravamo (preko cookie-ja) "user-logged-on" iz sesije. Na odjavi, brišemo ključ sesije. U phpMyAdmin (ili preko terminala) pravimo...

Codeigniter – Model

Modelom nazivamo sve ono u PHP (ili bilo kojem jeziku) što radi sa bazompodataka. To su klase, validacija i wrapper funkcije/metode. Prije ovoga bacite oko...
Modelom nazivamo sve ono u PHP (ili bilo kojem jeziku) što radi sa bazompodataka. To su klase, validacija i wrapper funkcije/metode. Prije ovoga bacite oko na ovu objavu i ne bi bilo loše da prelistamo querybuilder dokumentaciju. U CodeIgniteru pristupne podatke unosimo u .env datoteku. #-------------------------------------------------------------------- # DATABASE #-------------------------------------------------------------------- database.default.hostname = localhost database.default.database = ci4_app database.default.username = root database.default.password = root database.default.DBDriver = MySQLi Datoteku modela pravimo sa: php spark make:model User --suffix Datoteke modela su u "/app/Models" direktoriju. Takva datoteka jepovezana s jednom tablicom. Tamo određujemo koji su stupci dozvoljeni: protected $allowedFields = [ "name", "email", ]; Tu imamo...

Codeigniter – View predlošci

Prije ovoga tutoriala potrebno je baciti oko na ovu objavu. U CI kontroler return string je ono što je prikazano vizualno u internet pregledniku. class...
Prije ovoga tutoriala potrebno je baciti oko na ovu objavu. U CI kontroler return string je ono što je prikazano vizualno u internet pregledniku. class HelloController extends BaseController { public function index() { return "ja sam tekst prikazan u pregledniku!"; } } View funkciju zovemo da učitamo template (html predložak) iz "app/View" direktorija. class HelloController extends BaseController { public function index() { return view("moja-view-datoteka.php"); } } Ili ako imamo pod-direktorij "app/View/header" class HelloController extends BaseController { public function index() { return view("header/moja-view-datoteka.php"); } } Kako prenosimo podatke iz kontrolera u predložak? Podatke prenosimo iz kontrolera u predložak preko asocijativnog array-a....

CodeIgniter – POST Zahtjev

Klasični post zahtjev iz frome Pod pretpostavkom da imamo već instaliran CodeIgniter.Pravimo kontroler: php spark make:controller Post --suffix Zatim pravimo HTML template ./app/Views/posts.php i dodajemo...
Klasični post zahtjev iz frome Pod pretpostavkom da imamo već instaliran CodeIgniter.Pravimo kontroler: php spark make:controller Post --suffix Zatim pravimo HTML template ./app/Views/posts.php i dodajemo sadržaj: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title></title> </head> <body> <form action="<?= site_url('post') ?>" method="post"> <p>Name: <?php echo $name ?></p> <p>Email: <?php echo $email ?></p> <br> <p>Unesi podatke: </p> <input type="text" name="name" placeholder="Enter name"/> <br><br> <input type="email" name="email" placeholder="Enter email"/><br><br> <button type="submit">Submit</button> </form> </body> </html> Dodajemo putanju u "/app/Config/routes.php": $routes->get('post', 'PostController::index'); $routes->post('post', 'PostController::index'); U PostController::index unosimo: public function index() { $templateData = [ 'name' => null, 'email'...

Codeigniter

Kada dođemo do točke gdje se Wordpress jednostavno više ne može prilagoditi za naše potrebe, treba nam framework. To može biti CRUD za neku bazu...
Kada dođemo do točke gdje se Wordpress jednostavno više ne može prilagoditi za naše potrebe, treba nam framework. To može biti CRUD za neku bazu podataka, API ili slično. Što je framework? Framework je softver koji rješava probleme ponovnog pisanja koda i sigurnosti. Što znači, da se radi o jednom "abstraktnom sloju" iznad običnog PHP-a. Framework nam pruža set klasa i wrapper funkcija koje olakšavaju/ubrzavaju rad s projektom. Zašto CodeIgniter? A zašto ne? Ako Google-amo CodeIgniter dobijemo sponzorirane gluposti koje govore o tome da CodeIgniter nije siguran. Svatko pametan će nakon toga otići na: https://www.cvedetails.com/vulnerability-list/vendor_id-6918/Codeigniter.html pa sam provjeriti sigurnosne propuste....

Kako postati WordPress developer – ili jednostavni uvod u WordPress development

Cilj ovdje je na što jednostavniji način doći do toga da možemo lagano modificirati/naučiti Wordpress iznutra. Tako da kao freelancer možemo krenuti SAMI na put...
Cilj ovdje je na što jednostavniji način doći do toga da možemo lagano modificirati/naučiti Wordpress iznutra. Tako da kao freelancer možemo krenuti SAMI na put da postanemo fullstack developer. Za početak, znanje PHP nije potrebno. Dovoljno je znanje HTML/JS a kasnije ćete Vi sami postepeno naučiti PHP koji i nije toliko drugačiji od javascripta. Pa se nakon toga možete uhvatiti npr. Laravela uz Wordpress za projekte koji nisu brzinski izvedivi u Wordpress-u... Prije svega moramo imati instalirane razvojne komponente (paketiće): Debian/Ubuntu sudo apt-get install nginx php php-fpm mariadb phpmyadmin composer php-intl ArchLinux/Manjaro sudo pacman -S nginx php php-fpm mariadb phpmyadmin...

Float 2 kuna

Hrvatska uskoro prelazi na euro valutu. Pa će postojati prijelazni period u kojem će na e-trgovinama morati biti navedene obije cijene. Tečaj (JSON) uzimamo sa...
Hrvatska uskoro prelazi na euro valutu. Pa će postojati prijelazni period u kojem će na e-trgovinama morati biti navedene obije cijene. Tečaj (JSON) uzimamo sa besplatnog HNB api-ja na: https://api.hnb.hr/tecajn/v1?valuta=EUR Nas zanima "Srednji za devize":"7,563015" dio u JSON datoteci. Cijenu u eurima dobivamo sa formulom: cijenaEuro = cijanaKuna * (1 / srednjiTecaj) Cijenu u eurima je lagano kasnije prikazati kao string a za dobivanje stringa kune iz float broja koristimo ove funkcije: //Javascript function float2Kuna(x) { //is number if(typeof x != 'number') { return null; } const currencyString = 'kn'; //is float? if (Number(x) === x && x % 1...

Vanilla PHP REST webapi

Rest webapi sa PHP-om? Zvuči nemoguće? Ali zašto ne? Današnje moderne client-side-rendering JS React/Vue/Svelte web stranice se koriste sa podacima sa "treće strane" odnosno sa...
Rest webapi sa PHP-om? Zvuči nemoguće? Ali zašto ne? Današnje moderne client-side-rendering JS React/Vue/Svelte web stranice se koriste sa podacima sa "treće strane" odnosno sa drugih servera. Podatci se servera se uzimaju sa HTTP request-om dok se za sigurnost i valjanost podataka koriste sigurnosni tokeni. Sigurnost (imam-kod VS nije-testirano) Zašto ne framework? Pa zato što haker može pročitati source kod i jednostavno google-ti propuste i ako ste na nešto starijoj verziji - nahebali ste. A s druge strane, privatni kod može imati propuste ali to haker mora sam tražiti pa preko logova možete i sami vidjeti 'ko radi i gdje...

WordPress – forma i funkcija

Uff.. užasno mi se "neda" pisati iznova-i-iznova kod u kojem šaljem POST zahtjev u Wordpress-u. Tu se obično radi o ogromnom komadu koda, gdje je...
Uff.. užasno mi se "neda" pisati iznova-i-iznova kod u kojem šaljem POST zahtjev u Wordpress-u. Tu se obično radi o ogromnom komadu koda, gdje je PHP pomiješan sa HTML-om i koji mi svaki put bespotrebno uzme komadić života. Može li to biti bolje riješeno? …može! 'ajmo složiti funkciju! Sesija Treba nam sesija za spremanje varijabli izvan POST/GET zahtjeva. Jer PHP se doslovno cijeli izgrađuje nakon svakog HTTP zahtjeva ('ko da kompajliramo C program svaki put prije nego ga pokrenemo… vjerovatno postoje razlozi za to…). Pa nam je život varijable vezan uz život HTTP zahtjeva. POST i varijabla zahtjeva Moramo provjeriti...