PDA

Prikaži potpunu verziju : PHP skripte - problem sa ubacivanjem!


Farmaceut
12.6.2008, 20:23
E ljudi pomagajte...
Registrovao sam se na www.php0h.com (http://www.php0h.com) i dobio besplatan web prostor :) podrzava i PHP i MySql... Poceo sam dda pravim sajtic i dolazim do problema sa PhP skriptama!! Pokusao sam da ubacim najjednostavniju skriptu a to je brojac posjeta koji sarzi brojac.php i folder podaci.Sve sam po prebacio na server u folderu brojac, i u index.html na mjestu gdje sam htjeo da postavim brojac kucao kod <? include("brojac.php"); ?> i nista....
Pokucao sam i sa <? include("brojac/brojac.php"); ?> jer mi se php nalazi u folderu brojac i nista.....
Naveo sam primjer najjednostavnije skripte, a da nepricam o npr. anketi, novosti, downlad......

Hitno potrebna pomoc!!!!!

Patton
12.6.2008, 20:33
Zar ne treba fajl da se zove index.php?

Farmaceut
12.6.2008, 21:34
fajl mi je index.html, a php se valjda moze ubacivat u .html

holodoc
12.6.2008, 21:50
fajl mi je index.html, a php se valjda moze ubacivat u .html
Odgovor glasi ne. Da bi server na kome se "izvršava" bilo koja stranica (fajl) znao da je u njemu sadržan PHP kod fajl mora da se završava ekstenzijom .php (ili ekstenzijama .php3, .php4 odnosno .php5 ako server podržava višestruke PHP verzije).

Pošto tvoj .html fajl sadrži PHP kod (pomenuta "include" linija) a server na osnovu ekstenzije zaključuje da se radi o običnom HTML fajlu, server fajl tretira kao običan HTML fajl pashodno tome se i ponaša po jednom od osnovnih načela HTML standarda da ignoriše tagove koje ne poznaje (u ovom slučaju početno "<?php" i krajnji "?>" tag odnosno sve između njih).

Rešenje...? Svaki fajl koji sadrži makar i jednu jedinu liniju PHP koda mora da se završava .php ekstenzijom.

PDarko
12.6.2008, 23:25
Rešenje...? Svaki fajl koji sadrži makar i jednu jedinu liniju PHP koda mora da se završava .php ekstenzijom.
Ne mora, ali je poželjno. Mora samo prvi tj. onaj kog poziva server, a to je uglavnom index.php. To znači da ukoliko napišeš:
//index.php
<?php
include 'neki-fajl.doc';
?>//neki-fajl.doc

bla bla bla
<?php
echo 'bla drn bla';
?>
drn drn drn

na izlazu ćeš dobiti
bla bla blabla drn bladrn drn drn

Dakle, ako fajl koji se direktno poziva sadrzi php kod mora imati ekstenziju .php, a ukoliko se fajl poziva iz skripta može imati bilo koju ekstenziju.

I još nešto:
include('neki-fajl.php'); - pogrešno
include 'neki-fajl.php'; - ispravno

holodoc
12.6.2008, 23:47
Koliko se ja dobro čitam ja nigde nisam napomenuo bilo kakvo pravilo koje je vezano za include-ovanje fajlova ;) Ja sam napomenuo samo da svaki fajl koji sadrži makar i jednu jedinu liniju PHP koda mora da ima ekstenziju .php kako bi bio obrađen (parsiran) od strane PHP parsera inače će kompletan kod sadržan u PHP blokovima biti ignorisan ;)

BTW, što se tiče korišćenja odnosno nekorišćenja zagrada kod include "funkcije"... I jedan i drugi format funkcionišu dobro i neće praviti problema prilikom izvršavanja koda. Dakle, obe varijante su ispravne ali se varijante bez zagrada često koriste iz određenih semantičnih razloga u PHP-u (pogledaj na PHP.net-u odeljak o include-u) gde može da dođe do nepredviđenih rezultata kada se include (li kad smo već kod toga require) koristi za logičko upoređivanje.

Farmaceut
13.6.2008, 10:15
E ljudi uspeo sam!!!
Probao sm prvo sa zagradama pa onda bez ali nista.....Onda sam index.html promjenio u index.php i ocitava mi php skriptu!!!
Hvala vam !!!!

Patton
13.6.2008, 10:18
E ljudi uspeo sam!!!
Probao sm prvo sa zagradama pa onda bez ali nista.....Onda sam index.html promjenio u index.php i ocitava mi php skriptu!!!
Hvala vam !!!!
Eto da i ja pomognem nekome sto se PHP-a tice... hvala ostalima sto su podrobnije sve to objasnili... i tebi Farmaceutu sto si mi otkrio taj free host. Sad imam prostor na kome mogu da testiram neke moje PHP smicalice :)