My site
Main | PHP - MySQL ili ODBC - Forum | Registration | Login
[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum » TUTORIJALI » PHP - MySQL ili ODBC » PHP - MySQL ili ODBC
PHP - MySQL ili ODBC
ValentinoDate: Saturday, 2011-07-09, 2:21 PM | Message # 1
Colonel
Group: Administrators
Messages: 186
Reputation: 196
Status: Offline
Da li u PHP-u koristiti MySQL upite ili raditi preko ODBC-a? Naravno, preko ODBC-a je bolje, ali tu imamo par problema...
Šta je ODBC?

ODBC je programski interfejs dizajniran za pristup raznim izvorima podataka. Pod izvorima se podrazumjevaju i podaci i baze, kojima pripadaju i platforme na kojima su te baze postavljene, i mreže kojim se pristupa tim platformama. ODBC je dizajniran da obezbjedi pristup prvenstveno SQL podacima, na raznim platformama.

Zašto je ODBC bolje rješenje?

Preko ODBC-ja možemo da povežemo bilo koju bazu, naravno i MySQL, samo treba da skinemo ODBC drajvere za tu bazu ako ih nemamo. ODBC drajveri konkretno za Access bazu dođu instalirani uz Windows.

Zašto onda uopšte koristiti MySQL upite?

Mnoge firme koje se bave WEB hostingom ne daju ODBC konekciju na njihovom serveru. Na primer ako želite WEB hosting paket na linux serveru u Internetu Crne Gore ne dobijate uz njega i ODBC konekciju.

Zašto bi onda uzimali WEB hosting paket na linux serveru?

Prvi razlog je zato što je jeftiniji. Drugi razlog je taj jer uz njega dobijate mogućnost prvljenja neograničenog ( provjerite ) broja e-mail alias-a, kao i detaljnu statistiku prisupa vašem sajtu.

Uskoro ćemo vam prikazati kako se pravi ODBC konekcija, kao i šta treba da uradite da biste mogli pristupiti vašoj bazi u PHP-u (bilo preko ODBC-a, bilo preko MySQL-a).

MySQL i linux server ICG-a

Kako pristupiti Control Panel-u za administriranje sajta preko WEB-a na linux serveru Interneta Crna Gora? Kako napraviti bazu? Kako joj pristupiti i praviti tabele preko WEB-a? Kako joj pristupiti iz PHP koda?

Kako pristupiti Control Panel-u za administriranje sajta preko WEB-a?

Kada uzmete paket na linux serveru i na primer domen www.xxxxxx.cg.yu tada imate pristup Control Panel-u za administriranje sajta preko weba. Control Panel-u pristupate kucajući u exploreru www.xxxxxx.cg.yu/admin i onda unesete username i password koji ste dobili od webmastera ICG-a.

Kako napraviti bazu na linux serveru Interneta Crna Gora?

Da bi napravili bazu morate uzeti jedan od tri paketa koji dozvoljava njeno kreiranje.
Zatim pristupite Control Panel-u i kliknete na link MySQL Admin Tool. Kliknite na link Create Database koji se nalazi pri vrhu stranice. Ukucajte ime baze, tj. samo dio imena jer će vam baza počinjati sa xxxxxx_cg_yu_-_ i onda ide ime koje unosite. Pritisnite dugme za potvrdu i baza je kreirana.
 
ValentinoDate: Saturday, 2011-07-09, 2:21 PM | Message # 2
Colonel
Group: Administrators
Messages: 186
Reputation: 196
Status: Offline
Kako joj pristupiti i praviti tabele preko WEB-a?

Prvo treba kliknuti na link pri vrhu stranice Change Password i promijeniti šifru tj. napraviti šifru.
Zatim idete na Manage Databases i onda na MySQL Administration Tool. Kucate username i password. Username je xxxxxx a password je onaj koji ste kreirali. Kada se ulogujete vidjećete vašu bazu na lijevoj strani. Kliknite na nju i imaćete dolje Create new table on database xxxxxx_cg_yu_-_ono_što_ste_unijeli. Unesite ime tabele i broj polja i dobićete novu stranicu gdje definišete imena polja i vrste promjenljivih.

Kako pristupiti MySQL bazi iz PHP koda?

Napravite fajl koji će se na primer zvati konekcija.php i otkucajte sledeći kod:

$link = mysql_connect('localhost', 'xxxxxx', 'sifra_koju_ste_ kreirali');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db=mysql_select_db('xxxxxx_cg_yu_-_ono_što_ste_unijeli',$link);
?>

Sada kad želite da pristupite bazi iz koda kucate samo:

require 'konekcija.php';

naravno u PHP kodu, pri čemu fajl konekcija.php mora da se nalazi u istom folderu kao i onaj iz kojeg mu pristupate (za sada), a na kraju da bi zatvorili konekciju kucate:

mysql_close($link);

Kada pristupite bazi možete nad njom raditi razne upite.

Više o upitima sledeći put. Naravno, napisaćemo tekst i o pristupu bazi na Windows serveru ICG-a.

PHP - prenos vrijednosti i upis u bazu

Kako iz HTML forme koja se popunjava uzeti vrijednosti u PHP-u? Kako ih upisati u bazu? Ovo ću pokušati što jednostavnije prikazati.

Kako iz HTML forme koja se popunjava uzeti vrijednosti u PHP-u?

Prvo sam pokušao objasniti kako da se sve ispiše i uradi ali sam vidio da je komplikovano. Zbog toga sam odlučio napraviti sam fajlove koje možete skinuti ovdje.

Dakle direktorijum ucenje1 koji ste download-ovali smjestite u direktorijum C:\apache\htdocs. Startujte Apache. Startujte Internet Explorer i unesite adresu localhost/ucenje1/imeiprezime.htm. Unesite nešto u polja i pritisnite OK. Vidite šta se dešava.

Sada pogledajte kod fajla imeiprezime.htm. Kao što vidite, da bi mogli koristiti unijete vrijednosti u fajlu prikazi.php na koji vodi dugme Submit morate dati imena poljima za unos (ja sam im dao imena ime i prezime).

Pogledajte sada kod fajla prikazi.php. Vidite da vrijednosti iz polja dobijate kao $ime i $prezime. Tačka se koristi za spajanje stringova u PHP-u. Dakle spojio sam vrijednost polja ime, jednu prazninu i vrijednost polja prezime i to sam ispisao (echo se koristi za ispis stringa).

Dakle naučili smo kako se prenosi vrijednost polja za unos. Sada trebamo naučiti kako da vrijednosti unesemo u bazu.
 
ValentinoDate: Saturday, 2011-07-09, 2:22 PM | Message # 3
Colonel
Group: Administrators
Messages: 186
Reputation: 196
Status: Offline
Kako ih upisati u bazu?

Dakle morate kreirati bazu i tabelu u bazi koja će se zvati npr. imeiprezime i imati polja id (autoincrement), ime i prezime (MySQL bazi - pravljenje objašnjeno u knjizi koju sam ranije pominjao).

Pogledajte kod fajla prikazi.php i umjesto postojećeg PHP koda između iskopirajte:

include 'konekcija.php';
if(mysql_query("insert into imeiprezime(ime,prezime) values('$ime','$prezime')")) echo "Unijeto";
else echo "Nije unijeto";
mysql_close($link);

gdje je konekcija.php fajl koji sam pominjao u prethodnim "lekcijama" i koji ste prethodno smjestili u direktorijum ucenje1. Sačuvajte fajl i pokrenite ponovo localhost/ucenje1/imeiprezime.htm u IE. Unesite nešto u polja i pritisnite OK. Ako ste sve uradili kako treba pisaće Unijeto i time ste unijeli vrijednosti polja u bazu, u suprotnom pisaće Nije unijeto.
Rupe u PHP-u

PHP-ov razvojni tim objavio je zakrpe za nedavno otkrivene ozbiljne propuste. Istovremeno, upućen je apel korisnicima da što prije nadgrade sisteme na verziju 4.3.10 zbog ozbiljnosti problema.

Prema tvrdnjama stručnjaka, propusti su vezani za PHP-ovu funkciju unserialize(), a zloupotrebom tih propusta napadači mogu da preuzmu računar. Drugi propusti omogućuju napadačima preuzimanje datoteka sa Apache servera.Secunia, nezavisna danska kompanija koja se bavi istraživanjem bezbijednosti, ocijenila je propuste visoko kritičnim. Pored navedenih, zakrpa rješava i tridesetak manje ozbiljnih propusta, a više detalja naći ćete na PHP-ovoj Web stranici www.php.net.

Windows server ICG-a i ODBC

Ranije smo govorili o linux serveru Interneta Crna Gora i pristupu bazi preko Control Panel-a i iz koda. Kod Windows servera ICG-a imamo potpuno drugačiji pristup.

Na Windows serveru ICG-a umjesto MySQL baze imamo ODBC konekciju na najčešće Access bazu. Naravno podrazumjeva se da je kupljen paket koji uključuje ODBC konekciju.
Znači kod Windows servera sami kreiramo bazu (u Access-u npr.) i smjestimo je u direktorijum na našem sajtu koji će se zvati "_private" (preporučujemo). Bitno je smjestiti bazu u posebni direktorijum da bi se mogao zaštititi (zaštitu vrši webmaster ICG-a po zahtjevu korisnika).

Kako pristupamo bazi iz koda?

Kada napravimo bazu i sajt smjestimo na server moramo pozvati webmastera ICG-a (081/403-425) i dogovoriti se sa njim kako će se zvati naša ODBC konekcija. Neka se zove npr. mojakonekcija. Treba kreirati fajl, koji će se zvati npr. konekcija.php, sledeće sadržine:

if(!$con = odbc_connect('mojakonekcija','','')) die(mysql_error());
?>

Potom treba da smjestite taj fajl u direktorijum gdje se nalaze stranice iz kojih pristupate bazi. Sada pristupate bazi kucajući samo:

require 'konekcija.php';

i radite upite nad bazom i izvršavate ih. Kada želite da zatvorite konekciju kucate:

odbc_close($con);

Šta ako želim to da isprobam kući ne stavljajući sajt na server?

Kod kuće radite potpuno isto samo što sami pravite ODBC konekciju na bazu:

Start -> Settings -> Control Panel -> Administrative Tools -> Data Sources (ODBC) -> Add

Odaberete Microsoft Access Driver ukoliko je u pitanju Access baza. Selektujete bazu na računaru, a kao Data Source Name stavite ime koje želite za vašu ODBC konekciju. Pritisnite OK i to je to.

Napomena:
Koliko nam je poznato ICG ne dozvoljava više korišćenje PHP-a na Windows serveru već samo ASP-a. Zato ćemo se više koncentrisati na MySQL funkcije.
 
Forum » TUTORIJALI » PHP - MySQL ili ODBC » PHP - MySQL ili ODBC
  • Page 1 of 1
  • 1
Search:

V & M Company © 2010 
made by VALENTINO
Free web hostinguCoz