Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] zmienne globalne, prośba o poprawienie kodu
hoshimin
post 19.10.2006, 09:29:26
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.10.2006

Ostrzeżenie: (0%)
-----


hi!
mam coś takiego - wiem już, że to korzysta ze zmiennych globalnych, teraz muszę przerobić to by nie robiłe tego. czyli co? pobieranie z tablicy $_get[...]questionmark.gif

kod ma służyć includowaniu plików:

  1. <?php
  2. if ($m)
  3. {
  4. $plik = $m . "/";
  5.  
  6. if ($i) {
  7. $plik .= $i . ".php";
  8. } else {
  9. $plik .= $m . ".php";
  10. }
  11. if (file_exists($plik))
  12. {
  13. include($plik);
  14. }
  15. else
  16. printf ("<center>Niepoprawny adres. Wybierz inny link.");
  17. } else
  18. {
  19. include("pliczek.php");
  20. }
  21. ?>


jak to poprawić??

  1. <?php
  2. if ($_GET['m'])
  3. { i dalej??
  4. ?>


bo jednak tak mi to nie działało...
Go to the top of the page
+Quote Post
kszychu
post 19.10.2006, 09:43:53
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


DAj na początku:
  1. <?php
  2. foreach($_GET as $indeks => $wartosc) $$indeks = $wartosc;
  3. ?>

i nie musisz dalej nic zmieniać.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
nexis
post 19.10.2006, 09:48:53
Post #3





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


A poprawa wygląda tak:

  1. <?php
  2. if (isset($_GET['m'])) {
  3. $plik = $_GET['m'].'/';
  4. if (isset($_GET['i'])) {
  5. $plik .= $_GET['i'].'.php';
  6. } else {
  7. $plik .= $_GET['m'].'.php';
  8. }
  9. if (file_exists($plik)) {
  10. include($plik);
  11. } else {
  12. echo '<center>Niepoprawny adres. Wybierz inny link.</center>';
  13. }
  14. }
  15. ?>


Ten post edytował nexis 19.10.2006, 09:49:28


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
uli
post 19.10.2006, 09:52:16
Post #4





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

Ostrzeżenie: (0%)
-----


Pokaż kod, który odwołuje się do tej strony. Bo pytanie brzmi skąd bierzesz m i i.


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
hoshimin
post 19.10.2006, 10:03:25
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.10.2006

Ostrzeżenie: (0%)
-----


z adresu strony:
http://www.witryna.pl/?m=costam&l=costamjeszcze
Go to the top of the page
+Quote Post
nexis
post 19.10.2006, 13:34:39
Post #6





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Sprawdzałeś moją propozycję? Powinna być tym, co szukasz.


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
erix
post 19.10.2006, 16:30:31
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
  1. <?php
  2. if (isset($_GET['m'])) {
  3. $plik = $_GET['m'].'/';
  4. if (isset($_GET['i'])) {
  5. $plik .= $_GET['i'].'.php';
  6. } else {
  7. $plik .= $_GET['m'].'.php';
  8. }
  9. if (file_exists($plik)) {
  10. include($plik);
  11. ?>

Świetna propozycja... Dosłownie miód (ironia!)

Najprostsza droga do odczytania plików systemowych :/

Zamiast $_GET['*'] wstawiaj basename" title="Zobacz w manualu php" target="_manual($_GET['*']).


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:44