![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, zrobiłem sobie funkcję o nazwie loadf, która ładuje mi z zabezpieczeniem pliki php.
Problem polega na tym, że gdy jej użyje to wcześniej użyta zmienna nie wyświetla się. Funkcja:
Index.php:
test.php (inc/func/test.php)
Niby ok, ale wyświetla mi się tylko: Coś tam., a nie: Działa (enter) Coś tam. gdy tylko w index.php zmienię to "loadf('test');" na "require_once('inc/func/test.php');" , wszystko normalnie działa, próbowałem bez tego zabezpieczenia htmlspecialchars(strip_tags(basename( ))), ale jest identycznie. Ma ktoś jakiś pomysł dlaczego nie działają zmienne użyte wcześniej ?. Ten post edytował Giluś 8.08.2012, 14:27:32 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. funkcja jest bez sensu, nie przemyślałeś jej działania.
2. tekst echo piszemy w apostrofach 3. nie musisz używać () w require 4. skoro odpalasz test.php, to dobrze wyświetla, bo nie masz w nim użytej tej funkcji. 5. nie wyświetlasz zmiennej $xzcv Ten post edytował !*! 8.08.2012, 14:17:52 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
4. skoro odpalasz test.php, to dobrze wyświetla, bo nie masz w nim użytej tej funkcji.
5. nie wyświetlasz zmiennej $xzcv Odpalam index.php, gdzie na początku ustalam zmienną $xzcv, później używam funkcji do " require ", i w pliku test.php odczytuję tą zmienną.. Chyba niczym raczej nie różni się:
od
A w 1 przypadku działa normalnie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Szczerze mówiąc to ni cholery nie mogę się połapać w tym co robisz... może za dużo kawy.
Zacznij od napisania poprawnie tej funkcji i sprawdź co Ci zwraca var_dump, i pokaż cały kod bo może coś źle nie w tej kolejności robisz. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
poczytaj o zasięgu zmiennych to co robisz nie ma prawa zadziałać, bo gdy interpreter wykonuje loadf wczytuje plik i wyświetla zmienną $x w granicach funkcji loadf skoro w tej funkcji takiej zmiennej nie ma, to jej nie wyświetli.
-------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wydawało mi się że zastosowanie takiego czegoś:
do wyświetlenia pliku test.php (w tym przypadku), wraz w zmienną zapisaną linijkę wcześniej (w pliku index.php) będzie działało, ponieważ jakoś dla mnie było bez różnicy między tym kodem:
Ale raczej to jest różnica ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
I działa. Napisałem że nie wyświetlasz przecież tych zmiennych.
efekt: Kod aaaTEKSTwPLIKUbbb
Ten post edytował !*! 8.08.2012, 15:17:48 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
No tak, nie wyświetlam, ale używając samego require, nie potrzebuję używać dodatkowo echo aby wyświetlić
![]() Wiec wydawało mi się jednoznaczne, czy użyję tego jako funkcji z require czy też samego require (bez mojej funkcji). Ten post edytował Giluś 8.08.2012, 15:15:24 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A niby dlaczego nie potrzebujesz, skoro chcesz wyświetlić?
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
No patrz jak użyję:
index.php :
test.php: To wtedy mi się samo wyświetli (cos1) na stronie index.php. Edit: Wynik: cos1 Ten post edytował Giluś 8.08.2012, 15:29:09 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A Ty się tam księcia z bajki spodziewałeś? Przecież tak ma być.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
To co w ostatnim poście napisałem, jest dla mnie zrozumiałe, gorzej z tą funkcją, bo Ciągle jak sobie sprawdziłem nie jest tak jak być powinno..
test.php (to samo co w przykładzie wyżej). Dla mnie jest to analogicznie to samo, a i tak mi się nie wyświetla : cos1 ![]() Edit: Wynik: (nic, pusto) Edit2: Źle napisałem: " tak mi się wyświetla ", a powinno być: " tak mi się nie wyświetla ". Tak jak by ta zmienna $cos, nie przechodziła do tego pliku test.php przy użyciu mojej funkcji. Ten post edytował Giluś 8.08.2012, 15:33:06 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Aha, w ten sposób. I tak ma być, ponieważ wczytujesz plik lokalnie w funkcji, dlatego powinieneś widzieć komunikat
Cytat Notice: Undefined variable: cos in Aby to zmienić użyj w funkcji. Mało eleganckie, ale pomoże. A w ogóle to przemyśl działanie i wczytywanie plików raz jeszcze, bo dobre to nie jest. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:27 |