Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z include
Forum PHP.pl > Forum > Przedszkole
dr4g0n79
Witam mam mały problemik problem tyczy się includowania
Nie chce mi się includować i otworzyć z od razu przekazaną zmienną
jeżeli wpis "index.php?id=aktualnosci" zmienię np na "menu1.php" działa wszytko OK. Ale chodzi mi jednak o to aby wywołać z przypisaną zmienną ID
Trochę to dziwne bo np. po wpisaniu adresu www.mojastrona.pl/index.php?id=aktualnosci otwiera się to o co mi chodzi.

  1. <?php
  2. if(empty($_GET['id']) or $_GET['id']=="aktualnosci"){
  3. include("index.php?id=aktualnosci");
  4. }
  5. ?>



Proszę o pomoc i dzięki z góry
Zyx
Rozwiązanie jest proste:
1. W przeglądarce wpisujesz adres URL i wszystko idzie protokołem HTTP.
2. W skrypcie wczytujesz kolejny skrypt PHP do przetworzenia i podajesz jedynie ścieżkę do pliku.

Różnice między ścieżką do pliku a adresem URL chyba znasz... tak czy inaczej dołączany przez include bądź require skrypt jest częścią tego samego żądania HTTP i widzi dokładnie te same zmienne.
michalkjp
include('plik.php');
header("location:plik.php?id=costam");

Powinno działać.

Po dłuższym zastanowieniu się nad tym co kolega chce osiągnąć i dlaczego tak, dochodzę do wniosku, że nie rozumiem. Więc proszę nie zwracać uwagi na ten post, bo jest nie na temat winksmiley.jpg
dr4g0n79
różniće znam ale jak wpiszę cały adres to wyświetla mi się strona w stronie :-(. Coś może szerzej poproszę
Chrom
jeżeli dołączasz stronę to zmienne działają również w niej dlatego nie ma sensu dołączać je do funkcji include
dr4g0n79
no dobra to jak to powinienem zrobić any działało??
Chrom
dołączasz plik index.php i w niej $_GET['id']==aktualnosci
możesz z tego spokojnie korzystać napisz do czego potrzebne jest $_GET['id'] lub wykorzystać to w pliku index.php
dr4g0n79
poprostu chodzi mi o to aby po wpisaniu adresu www.mojastrona.pl wyświetlała się jako pierwsza (główna) www.mojastrona.pl/index.php?id=aktualnosci nie zaś tylko index.php bez żadnych zmiennych
michalkjp
Cytat(dr4g0n79 @ 5.10.2008, 20:20:32 ) *
poprostu chodzi mi o to aby po wpisaniu adresu www.mojastrona.pl wyświetlała się jako pierwsza (główna) www.mojastrona.pl/index.php?id=aktualnosci nie zaś tylko index.php bez żadnych zmiennych


Często używam czegoś takiego

  1. <?php
  2. if (array_key_exists('action', $_GET)) {
  3.        if ($_GET['action'] == 'libuser_login') {
  4.            $user->libuser_show_login_box();
  5.        }
  6.    } elseif (array_key_exists('action', $_POST)) {
  7.        if ($_POST['action'] == 'libuser_login') {
  8.            $user->libuser_login();
  9.        }
  10.    } else {
  11.        print("Jakaś domyślna treść");
  12.    }
  13. }
  14. ?>


Może być?
Chrom
to raczej potrzebny
  1. <?php
  2. header('Location: =http://www.index.php?id=aktualnosci/');
  3. ?>
batman
@michalkjp Jesteś już na forum jakiś czas. Powinieneś wiedzieć, że należy używać bbcode. Popraw swoje posty, by zawierały poprawny bbcode.
michalkjp
Cytat(batman @ 5.10.2008, 20:28:32 ) *
@michalkjp Jesteś już na forum jakiś czas. Powinieneś wiedzieć, że należy używać bbcode. Popraw swoje posty, by zawierały poprawny bbcode.


Ok, postaram się o tym pamiętać.

Dzięki winksmiley.jpg
~batman
dr4g0n79
zrobiłem z header ale wywala mi za to Warning: Cannot modify header information - headers already sent by (output started ) czyli tak jakby już wcześniej był header zdefiniowany ale wcześniej w kodzie nie mam tego użytego

ok już wiem że jest to komunikat że przed tym header znajdują się jakieś znaczniki, ale czy jest na to jakaś rada??
michalkjp
Cytat(dr4g0n79 @ 5.10.2008, 21:27:42 ) *
ok już wiem że jest to komunikat że przed tym header znajdują się jakieś znaczniki, ale czy jest na to jakaś rada??


Przeczytaj

http://www.geekpedia.com/KB115_How-to-fix-...nformation.html
bez zobaczenia kodu pewnie nikt Ci nie pomoże.



Przy okazji – chyba wstawienie % przed header może pomóc (w każdym bądź razie kiedyś znalazłem takie obejście i chyba działało).
dr4g0n79
z tym % to niestety lipa
batman
Nie % tylko @. Poza tym nie jest usunięcie problemu, lecz jego obejście. Było o tym wiele razy na forum. Wystarczy poszukać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.