Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi

PHP - 2.del

  Nadaljujemo s programiranjem v PHP-ju, kjer bomo spoznali, kako se prikažejo podatki, ki so bili poslani iz obrazca.
 
 
1
 
 
Ostali smo pri posebni spremenljivki $_GET, ki nam prikaže podatke poslane iz obrazca. Ker pa smo rekli, da ne želimo teh podatkov v URL-ju, bomo uporabili posebno $_POST spremenljivko.

V samem obrazcu moramo metodo spremeniti v post, nato pa se v PHP kodi prav tako sklicevati s $_POST.

V kolikor ste zamudili prvi del, si ga lahko ogledate na strani PHP 1.del.
 
 
2
 
 
Tako. Na vrsti je prvi preizkus znanja. Naloga je takšna:

V PHP programskem jeziku napišite funkcijo, ki vrne zmnožek treh števil, ki se jih poda kot argumente funkcije. Funkcija se v začetku zažene in rezultat se izpiše na ekran.

Vaše rezultate objavite na forumu.

Pomoč: Dobro si poglejte prejšno lekcijo.
 
 
3
 
 
Če vam je uspelo rešiti prejšno nalogo gremo naprej. Sicer se ustavite in ponovno preberite prvo lekcijo. Oglejmo si kako bi izpisali datum na serverju.

<?php
echo date("d.m.y");
?>

Funkcija date torej vrne rezultat na serverju. Podati ji moram en argument v katerem zapišemo format. V tem primeru se bo izpisalo:

22.08.2008

Če bi napisali   date("d.m.y");   bi se namesto 2008 izpisalo le 08.
S ukazom date pa lahko izpišemo tudi čas.

<?php
echo date("d.m.y  H:i:s");
?>

Na ekranu bo izpisano  22.08.08 11:55:20  .
V formatu lahko uporabljamo različna ločila. Glavni znaki pa so:
  • d - dan v mesecu od 1 do 31
  • D - poimenovan dan v tednu od Mon do Sun
  • j - dan v mesecu brez začetnih ničel
  • l - poimenovan dan v tednu od Monday do Sunday
  • N - dan v tednu od 1 do 7
  • S - vrstna končnica dneva (st, nd, rd, th)
  • z - dan v letu od 0 do 365
  • W - teden v letu
  • F - meseci
  • t - število dnevov v mesecu
  • Y - leto
  • y - leto, zadnji dve številki
  • G - ura (24 ur)
  • g - ura (12 ur)
  • H - ura (24 ur) brez ničel
  • h - ura (12 ur) brez ničel
  • i - minute
  • s - sekunde
  • u - milisekunde
Več na tem naslovu.
 
 
4
 
 
Na vrsti sta ukaza include ter require. Ta vključita neko datoteko v le-to. Oba delujeta enako, le da različno delujeta ob napaki. Include vrne napako ter nadaljuje z izvajanjem require pa vrne usodno napake in izvanjanje skripte se ustavi.

Pripročam require() seveda pa lahko zaenkrat uporabljamo kar include. Tako bomo videli, da če datoteka ne obstaja tudi podatkov, ki jih bomo želeli črpati iz nje ne bomo dobili. Pa si poglejmo primer.

casovneFunkcije.php :

<?php
$time["navaden"] = date("G.i.s");
$time["datum"] = date("d.m.Y");
$time["vse"] = date("d.m.Y  G.i.s");
?>


mojaDatoteka.php:

<?php
include("casovneFunkcije.php");

echo "Trenuten čas je ".$time["navaden"];
echo "<br>Danes je ".$time["datum"];
echo "<br>Če to združimo dobimo ".$time["vse"];

?>

Torej v datoteki casovneFunckije.php nastavimo določene spremenljivke na neko vrednost. Vendar kako lahko imajo vse tri spremenljivke enako ime? To je mogoče. Spremenljivka $time je pravzaprav množica. Množica se označi z [ in ]. Tako nek objekt v tej množici poimenujemo ter mu določimo vrednost. Skratka objekt "navaden" v množici $time ima vrednost trenutnega časa. Objekt "datum" ima vrednost trenutnega datuma itd. To datoteko smo potem vstavili v datoteko mojaDatoteka.php s funkcijo include(). Tako lahko sedaj dostopamo do vseh spremenljivk v vstavljeni datoteki.

 
 
5
 
 
Imate radi piškote? Da? Kaj pa računalniške piškote, ki jim pravimo kar cookies? Zagotovo ste jih že poskusili. Piškotki so posebne datotekice shranjene v brskalniku, ki spletnim stranem omogočajo shranjevanje določenih besedic.

Pojdite v Mozillo Firefox in se prijavite v zmago.com. Potem kliknite na Orodja/Možnosti/Zasebnost/Pokaži piškote. Odpre se vam okno s vsemi piškoti v vašem brskalniku. Mnjam! V zgornje polje zapišite zmaga.com in videli boste katere piškote vse si je zmaga.com shranila na vaš računalnik. Jaz sem jih naštel kar 22. Poglejte si njihova imena. Verjetno boste našli piškotek (ali dva) z naslovom anketa ter številko ankete. Zmaga si torej kot pomoč zapiše cookie, da ste že glasovali in kasneje ne morete več.

Sedaj pa si poglejmo še en zelo pomemben piškotek. Ta ima ime PHPSESSID . Ta shranjuje podatke o prijavljenem uporabniku. Ste že nestrpni kajne? Gremo na primer.

<?php

setcookie("mojPrviPiškotek", "kljuka");
echo $_COOKIE["mojPrviPiškotek"];

?>

Najprej smo s funkcijo setcookie nastavili vrednost našega piškotka. Prvi argument je ime drugi pa vrednost piškotka. Potem smo izpisali ta naš cookie s posebno spremenljivko $_COOKIE . PHP ima ogromno teh posebnih spremenljivk kot so $_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER, $_REQUEST, $_ENV vsaka od teh množic (!) pa ima mnogo objektov. Če si sedaj spet pogledamo listo cookiejev in vpišemo zgoraj localhost bomo videli naš cookie. Spodaj piše da poteče ob koncu seje torej ko se brskalnik zapre. Mi lahko to tudi spremenimo tako, da čas podamo v tretjem argmuentu.

<?php

setcookie("mojPrviPiškotek", "kljuka", time()+3600);
echo $_COOKIE["mojPrviPiškotek"];

?>

Če si sedaj pogledamo piškotek vidimo da bo potekel čez eno uro.
 
 
6
 
 
PHPSESSID pa je poseben piškotek, ki označuje vrednost seje. PHP pozna seje, ki so uporabne pri prijavljanju uporabnikov. Poglejmo si primer.

<?php
session_start();

if (isset($_SESSION["prijavljen"])==false) {
    if (isset($_GET["user"])){
        $_SESSION["prijavljen"] = $_GET["user"];
        die ("Uspešno ste prijavljeni!");
    }
    die ("Napačno uporabniško ime!");
}
echo "Še vedno ste prijavljeni kot ".$_SESSION["prijavljen"];
?>

To pa je že poplava novih funkcij. Gremo lepo po vrsti. Najprej smo pognali funkcijo session_start ki poskrbi, da lahko sploh gledamo v sejo. Ta funkcija je obvezna, če se želimo ukvarjati s sejo.

Nato pride na vrsto stavek if  , ki z funkcijo isset preveri če objekt "prijavljen" v seji ne obstaja. Če ne obstaja potem preveri, če obstaja argument user Url vrstici. Če obstaja potem nastavi objek "prijavljen"  v seji na vrednost, ki ste jo vpisali v url. Če pa user ne obstaja potem z funkcijo die prekine nadaljevanje skripte in hkrati izpiše sporočilo "Napačno uporabniško ime!" .

Če pa na začetku stavek if ugotovi, da ste že prijavljeni, potem izpiše "Še vedno ste prijavljeni kot " ter ime. Sedaj poskusite preveriti. Odprite to datoteko. Izpisalo se bo, da je uporabniško ime napačno. Sedaj pa zgoraj v URL vrstici dodajte

?user=zmaga

In kliknite enter. Izpisalo se bo uspešno ste prijavljeni. Sedaj zbrišite tisti zadnji del in povovno odprite datoteko. Izpisalo se bo, da ste še vedno prijavljeni kot zmaga. Če se želimo odjaviti moramo pognati ukaz unset($_SESSION) , ki sejo izbriše.
 
 
Komentiraj
 
 
 
 
 
30.8.2008, 13:30
Super stvar za začetnike. Pogrešam pa mogoče v prvem delu razlago " in ' (dvojni in enojni narekovaj).

To zna začetnike zmedet...
 
 
 
 
30.8.2008, 15:14
Mogoče ja. Torej če je spremenljivka $a in napišemo echo 'zmaga $a' se bo izpisalo točno tako če pa uporabimo " se bo izpisala vrednost spremenljivke.
 
 
 
 
30.8.2008, 15:32
čeprau itak bolše da se naučijo s '.$a... pisat...

razmišlam da bi jaz začeu nekaj takega pisati za c++,glede na to da php imaš že ti
 
 
 
 
30.8.2008, 16:11
Seveda. Jaz se namreč šele učim C++ in mi ne gre ravno v glavo. Znam edino VB. Aja pa ne pozabi še omeniti namestitve prevajalnika pa vse to.
 
 
 
 
31.8.2008, 9:16
Kako ti ne gre v glavo ko pa je enako kot PHP, le da ima malce bolj neumen prevajalnik
 
 
 
 
31.8.2008, 9:30
Saj mi tisto osnovno gre ko v notepadu napišeš pač main() pa tri vrstice ampak potem v naprimer Visual Studiu pa se vse podre Torej le začni s C++
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!