Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Includowanie skryptu
Forum PHP.pl > Forum > Przedszkole
pedro84
Witam!

Mam plik index.php, tutaj includuję wszystkie pliki i skrypty. MAm problem z includowaniem jakiegokolwiek skryptu. Wszystko ładnie się inlcuduje, ale po kliknięciu na jakikolwiek link w tym skrypcie wywala błąd 404 bądź inne błedy

index.php:
  1. <?php
  2. if (isset($_GET['op'])){
  3. switch ($_GET['op']) {
  4. case 1:
  5. include("guestbook/gbook.php");
  6.  break;
  7. case 2:
  8. include("content2.php"); 
  9.  break;
  10. case 3:
  11. include ("sendtofriends/sendtofriends.php");
  12. break;  
  13. default:
  14. include("news/show_news.php"); 
  15. }
  16. } 
  17.  
  18. else {
  19. include ("news/show_news.php"); 
  20. } 
  21. ?>


Wydaje mi się, że trzeba pozmieniać linki w skryptce, patrząc z pozycji pliku index.php - skrypt znajduje się w folderze guestbook - ale to nie działa. Bo co zrobić w przypadku, kiedy includowany przeze mnie plik - ggbook.php, zawiera w sobie taki odsyłacz:
[php]<a href="gbook.php?a=sign">Sign guestbook</a>

Próbowałem już na różne sposoby, czytałem php.net, ale za bardzo nie wiem co z tym zrobić. Próbowałem wiele skryptów księgi gości, ale generalnie z każdym miałem ten sam problem.

Pozdrawiam
A.
uli
Problem tkwi najprawdopodobniej (jeśli nie na pewno) w plikach, które includujesz. W nich są odwołania do innych plików (ze ścieżką względną). Podpinając je pod swój index.php, który jest katalog wyżej, odwołania do plików (w plikach includowanych) gubią ścieżkę.

Ponieważ się zamotałem tłumacząc, wyjaśnię na przykładzie smile.gif :

Masz w głównym katalogu index.php.

Includujesz do niego gbook.php znajdujący się w podkatalogu guestbook. Jeśli w pliku gbook.php masz teraz np. takie odwołanie: include('costam.php') to skrypt będzie szukać pliku costam.php w głównym katalogu (a przecież costam.php znajduje się w podkatalogu guestbook). Stąd błędy.

Rozwiązaniem jest zmiana w plikach ścieżek względnych na bezwzględne, czyli w przykładzie:

include('costam.php') -> include('/guestbook/costam.php')
pedro84
Dwie kwestie.

Czy jeśli includuję ten plik gbook.php, ale on on zawiera linki do innych plików, to czy je też musze includować w index.php?

Druga kwestia, co zrobić w sytuacji, kiedy odsyłacz ma postać:
  1. <?php
  2. gbook.php?s=sign?
  3. ?>



Scieżki
  1. <?php
  2. include('costam.php') -> include('/guestbook/costam.php')
  3. ?>


muszę zmienić w pliku gbook.php czy też index.php?

Pozdrawiam
A.
mike
Proszę poprawić temat wątku.
Nie jest zgodny z zasadami panującymi na forum Przedszkole.
uli
Dwie kwestie.

Czy jeśli includuję ten plik gbook.php, ale on on zawiera linki do innych plików, to czy je też musze includować w index.php?

ODP: NIE

Druga kwestia, co zrobić w sytuacji, kiedy odsyłacz ma postać:
  1. <?php
  2. gbook.php?s=sign?
  3. ?>


ODP:
  1. <?php
  2. /guestbook/gbook.php?s=sign?
  3. ?>


Scieżki
  1. <?php
  2. include('costam.php') -> include('/guestbook/costam.php')
  3. ?>


muszę zmienić w pliku gbook.php czy też index.php?

ODP:
W gbook.php
pedro84
Właśnie znalazłem to co chciałem Ci pokazać, w pliku gbook.php

A co jeśli po wcisnięciu przycisku - dodaj wpis - wywala 404?

Wydaje mi się, że znalazłem:
Kod
<a href=\"$PHP_SELF?action=add


Wielkie dzięki za zainteresowanie problemem!

Dobra, zmieniłe skrypt:laugh.gif:

Ale tu też mam mały problem. Mianowicie, jak zmienię ścieżkę na:
Kod
('/guestbook/costam.php')

to otwiera się, ale na całą stronę, a ja chcę, żeby było includowane do mojego diva na stronie;)


Mi chodzi o to, żęby po kliknięciu na jakiś link w skrypcie otwierał w prawym div'ie:
............................
............................
. . .
. . .
. . .
. . .
. . .
............................

smile.gif

A jeśli zincludować ten cały skrypt do jednego pliku i dopiero go includować pomoże to coś? tylko jak:/

A jeśli zincludować ten cały skrypt do jednego pliku i dopiero go includować pomoże to coś? tylko jak:/
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.