Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP REQUIRE pomoc potrebna

[es] :: PHP :: PHP REQUIRE pomoc potrebna

[ Pregleda: 1787 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dusanpetrovicdp
Dusan Petrovic
Inzenjer masinstva
Zemun

Član broj: 246410
Poruke: 38
*.adsl.eunet.rs.

Sajt: www.dusanpetrovic.net


Profil

icon PHP REQUIRE pomoc potrebna13.11.2011. u 19:46 - pre 151 meseci
imam potrebu da preko require funkcije pozovem drugi php fajl, ali sa nekim parametrima:

REQUIRE('header-probni.php?kod=13223');

fajl koji pozivam ima pocetnih par redova:
<?php
$kod = $_GET['kod'];
if ($kod !== "13223") {exit();} // Default
?>

ali to ne funkcionise! Da li neko zna kako to da nateram da radi, ili nekim drugim nacinom. Cilj je da se drugi PHP (header-probni.php) ne moze otvarati ako se ne pozove sa kod=13223, tacnije, ako se pokusa otvoriti direktno sa neta (bez znanja koda) ispis njegov je potpuno prazan.

Otvoren sam za sve predloge i sugestije
Hvala unapred
Dusan Petrovic, student masinstva, programer u pokusaju
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: PHP REQUIRE pomoc potrebna13.11.2011. u 20:08 - pre 151 meseci
Funkcija require ne radi tako.

Kada uključiš drugu datoteku, efekat je kao da si odradio kopiraj-ubaci (engl. copy-paste) i kod te datoteke ubacio na mesto require funkcije. Nema novog HTTP zahteva kojim bise postavio $_GET niz prema parametru, čak i prenos parametara ne postoji.

Uključena datoteka može da ima pristup svim lokalno vidljivim promenljivama, pa tako u jednoj datoteci možeš definisati $kod = 13223; i potom u uključenoj proveravati da li je $kod definisana i koju vrednost ima. Ovo koristi oprezno, pošto postaje košmar za održavanje kada na ovaj način "prebacuješ" promenljive bez ikakvog reda. U tvom primeru, zaštita od direktnog pozivanja, ovo jeste uobičajno. Uoči da vrednost "koda" uopšte nije važna niti ima potrebe da kod bude tajan. Uključena datoteka može da bude:

Code (php):

if(!is_set($top_level)) die("Access denied.");
...
 


A uključivanje činiš:
Code (php):

$top_level = true;
require("header-probni.php");
 


Ako je register_globals postavljen na isključeno (a tako i treba), niko ne može da pozove header_probni.php direktno tako da $top_level ima vrednost. Jedino ako se ista postavi u drugoj skripti, baš kako i tebi treba.


Kada međutim želiš neki drugi prenost promenljivih, čistije rešenje je da u uključenoj datoteci definišeš funkciju, poput:
Code (php):

function obradi($kod) {
  if($kod != "13223") exit();
  ...
}
 


Sada u osnovnoj imaš sledeće:

Code (php):

require("header-probni.php");
obradi(13223);
 


Prenos promenljive je sada eksplicitan, pa je razumevanje i održavanje koda nešto lakše. Ponavljam, u tvom primeru češće se koristi prvi primer, i tebi bliže rešenje.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

dusanpetrovicdp
Dusan Petrovic
Inzenjer masinstva
Zemun

Član broj: 246410
Poruke: 38
*.yubc.net.

Sajt: www.dusanpetrovic.net


Profil

icon Re: PHP REQUIRE pomoc potrebna14.11.2011. u 08:13 - pre 151 meseci
Hvala na brzom odgovoru, uradio sam preko funkcije, nekako mi je logicnije i jednostavnije, i radi
Pozdrav
Dusan Petrovic, student masinstva, programer u pokusaju
 
Odgovor na temu

doktor83
Subotica

Član broj: 293583
Poruke: 50

Sajt: www.oxo.rs


+1 Profil

icon Re: PHP REQUIRE pomoc potrebna20.11.2011. u 19:01 - pre 151 meseci
Obicno se u nekom pocetnom inicijalizacinom fajlu postavi sa DEFINE neka konstanta i posle na svakoj stranici koju ukljucujes u projekat samo proveris da li je ta konstanta prisutna.
Po meni je to bolje resenje nego preko funkcije.
----------------------------------------------------------
www.oxo.rs
 
Odgovor na temu

PETAR-

Član broj: 42296
Poruke: 47
91.226.243.*



Profil

icon Re: PHP REQUIRE pomoc potrebna21.11.2011. u 13:27 - pre 151 meseci
$_GET['id'] = $user;
include('userbuy.php');

ja sam ovako odradio. lepo radi
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
79.101.230.*

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: PHP REQUIRE pomoc potrebna22.11.2011. u 12:30 - pre 151 meseci
A ako odradiš ovako, još lepše i sigurnije ima da bude.... ah, taj $_GET.. ;)

Code (php):


$user = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_STRING);

 

about:networking
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: PHP REQUIRE pomoc potrebna23.11.2011. u 00:59 - pre 151 meseci
<?php
REQUIRE('header-probni.php?kod=13223');
?>

Mozes da resis ovako:

<?php
$_GET['kod'] = 13223;
REQUIRE('header-probni.php');
?>

Trebao bi drugacije da resavas ali ovo moze da ima smisla ako header-probni.php se nekada poziva posebno preko url-a a nekada kao require.
Mada i tada bi trebao drugacijom logikom
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

[es] :: PHP :: PHP REQUIRE pomoc potrebna

[ Pregleda: 1787 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.