Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Include'owanie pliku ze zmienną GET
Raven1122
post
Post #1





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Witam,

Mam następujący problem:


Mam klasę Router, która sprawdza, czy link ma tylko model który ma zaincludować np.: localhost/Galeria

Czy też zawiera Id powiedzmy albumu, który ma także zaincludować np.: localhost/Galeria/12

Jednak po dopisaniu ID albumu PHP wypluwa, że nie ma takiego pliku:

Warning: include(inc/models/galeria.php?nid=12): failed to open stream: No such file or directory in /libs/router.php


Czy da się to jakoś zrobić?

Jeżeli nie, to czy jest jakiś inny sposób na to by to zrobić? Tzn. jakoś przesłać do modelu gallery, który album ma wyświetlić?
Go to the top of the page
+Quote Post
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Spróbuj tak i wyciągnij wnioski:

  1. // index.php
  2. $i = 153;
  3. include 'plik_2.php';

  1. // plik_2.php
  2. echo 'aaaaaa';
  3. echo $i;
  4. echo 'bbbbbb';


Zadziała to identycznie jak to:
  1. // index.php
  2. $i = 153;
  3. echo 'aaaaaa';
  4. echo $i;
  5. echo 'bbbbbb';


Chodzi o to, że includowanie działa podobnie, jakbyś w miejscu wywołania wkleił całą zawartość załączanego pliku. Więc automatycznie wszystkie zmienne dostępne w danej linijce będą dostępne w załączanym pliku.

Ten post edytował sowiq 1.08.2013, 21:18:09
Go to the top of the page
+Quote Post
Raven1122
post
Post #3





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Zalezaloby mi bardziej na GET
Go to the top of the page
+Quote Post
gitbejbe
post
Post #4





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

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


Cytat
Mam klasę Router, która sprawdza, czy link ma tylko model który ma zaincludować np.: localhost/Galeria
Czy też zawiera Id powiedzmy albumu, który ma także zaincludować np.: localhost/Galeria/12

przecież @sowiq Cię naprowadził

w tej Twojej klasie Router -wniosuke z tego co napisałeś, masz 2 główne warunki. Sprawdzasz czy ma zostac wczytany sam plik czy plik ze zmienną get. Zakładam, ze w pliku galeria.php pewnie masz też jakiś warunek czy istnieje zmienna GET i na jej podstawie coś tam robi. Jeśli tak, to przez includowwaniem zapisz sobie zmienną GET do np zmiennej $id ($id = $_GET['id']) i w pliku galeria sprawdzaj nie zmienną GET tylko zmienną $id. Jeśli jednak chodzi Tobie o coś innego to najlepiej wklej tą klase Router ; )
Go to the top of the page
+Quote Post
sowiq
post
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(Raven1122 @ 1.08.2013, 22:48:07 ) *
Zalezaloby mi bardziej na GET

GET jest tablicą superglobalną. Znaczy to ni mniej, ni więcej tyle, że w każdym miejscu Twojego kodu* możesz odwołać się do $_GET['coś'] nie martwiąc się o zasięg.

(*) oczywiście trzeba pamiętać o odpowiednim filtrowaniu danych pochodzących od użytkownika.

Ten post edytował sowiq 2.08.2013, 08:42:36
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.12.2025 - 18:22