Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z funkcją include...
Forum PHP.pl > Forum > Przedszkole
paffel
Witam,
mam pewien problem, którego za nic nie potrafię rozwiązać...
http://www.differ.home.pl/forum/lasttopic.php - wszystko jest ok, pobiera tematy z bazy... ale gdy próbuję ten plik includ'ować na stronę główną:
http://www.differ.home.pl - pojawia się taki błąd... o co chodzi?

Na innym serwerze działa bez problemu: http://www.differ.pl
Z góry dzięki za pomoc.
Pride
Pewnie pokręciłeś ścieżki smile.gif
paffel
Niestety wszystko jest ok worriedsmiley.gif
lilik
pewnie jak wkleisz kod to latiwej bedzie stwierdzic smile.gif
matx132
z tego błedu wynika ze chyba include ronbisz przez link
sprobój

include('forum/lasttopic.php');
paffel
Kod pliku lasttopic.php
  1. <?
  2. /** 
  3. * newest_posts - raw dump of newest posts from forum
  4. *
  5. * @copyright (c) 2008 ameeck / Vojtech Vondra - phpBB.cz
  6. * @license <a href=\"http://opensource.org/licenses/gpl-license.php\" target=\"_blank\">http://opensource.org/licenses/gpl-license.php</a> GNU Public License 
  7. */
  8. define('IN_PHPBB', true);
  9. $phpbb_root_path = './';
  10. $phpEx = substr(strrchr(__FILE__, '.'), 1);
  11. include($phpbb_root_path . 'common.' . $phpEx);
  12.  
  13. // Start session management
  14. $user->session_begin();
  15. $auth->acl($user->data);
  16. $user->setup();
  17.  
  18. // Number of posts and grabbing permissions
  19. // Počet příspěvků pro zobrazení a oprávnění
  20. $topic_limit = request_var('topic_limit', 6);
  21. $forums = array_unique(array_keys($auth->acl_getf('f_read', true)));
  22.  
  23. // Select the last topics to which we have permissions
  24. // Vybrat poslední témata ke kterým máme oprávnění
  25. $sql = 'SELECT p.post_id, p.topic_id, p.forum_id, p.post_subject, p.post_time, u.usernam
  26.  
  27. FROM ' . POSTS_TABLE . ' p , ' . USERS_TABLE . ' u
  28. WHERE post_approved = 1
  29. AND ' . $db->sql_in_set('forum_id', $forums) . '
  30. AND u.user_id = p.poster_id
  31. ORDER BY post_time DESC
  32. LIMIT 0,' . $topic_limit;
  33. $result = $db->sql_query($sql);
  34. // Now let's output the content
  35. // A teď vypsat obsah
  36. echo '<div id="post_content" align="left"><ul>';
  37. while ($row = $db->sql_fetchrow($result))
  38. {
  39. $url = generate_board_url() . "/viewtopic.{$phpEx}?f={$row['forum_id']}&t={$row['topic_id']}&p={$row['post_id']}#p{$row['post_id']}";
  40. echo '<li><a target="_top" href="' . $url . '">' . iconv("UTF-8","ISO-8859-2",$row['post_subject']) . ' | ' .
  41.  $user->format_date($row['post_time']) . '</a><br /> </li>';
  42. }
  43. echo '</ul></div>';
  44. ?>

A tak wygląda include w pliku index.php
  1. <?php
  2. include ("http://www.differ.home.pl/forum/lasttopic.php");
  3. ?>


http://www.differ.home.pl/forum/lasttopic.php - sam plik działa...

Próbowałem tak:
  1. <?php
  2. include ("forum/lasttopic.php");
  3. ?>

nie działa.

http://www.differ.home.pl/php/index.rar - plik index.php z funkcją include.
tomsi
Moim zdaniem coś masz chyba źle w bibliotece PEAR.
paffel
To teraz jakaś szybka rada? smile.gif
Czy to wina hostingu? Bo na innym działa bez problemu...
artega
Wystarczy spojrzeć do dokumentacji o konstrukcji include i przeczytać o allow_url_fopen. Prawdopodobnie hosting nie zezwala na zdalne włączanie pliku. Stosuj jedynie włączenia lokalne.
Spykaj
Spróbuj dać:

include("./forum/lasttopic.php");
paffel
Wrzuciłem:
  1. <?php
  2. include("./forum/lasttopic.php");
  3. ?>

Teraz wywala inny błąd i strona się rozjeżdża...
piotrooo89
hmmm... może podasz o czym "mówi" błąd?
paffel
http://www.differ.home.pl - tutaj można zobaczyć błędy. Wydaję mi się, że coś jest nie tak z home.pl i tego się boję bo nie wiem jak inaczej mógłbym zincludować ostatnie tematy na stronę główną...
l0ud
Zostaw include tak jak teraz jest i w lasttopic.php zamień linię:

  1. <?php
  2. $phpbb_root_path = './';
  3. ?>


na

  1. <?php
  2. $phpbb_root_path = './forum/';
  3. ?>
paffel
Pojawiły się najnowsze tematy ale:
http://www.differ.home.pl
matx132
z tego co wiem to phpbb jest specyficzne i jesli chcesz jakis plik includować on bedzie chciał też zapewne includować inne których nie znajdzie w damym katalogu:)


jak sama nazwa wskazuje

"phpBB Debug"
l0ud
No niestety nie jest przeznaczeniem tego skryptu, aby został on gdzieś zaincludowany. Spróbuj zakomentować/usunąć tą linię:
  1. <?php
  2. $user->session_begin();
  3. ?>


edit: nie zauważyłem błędu dalej (poniżej). Występował on przed dołączeniem skryptu?

Chyba nie tędy droga, aby zmusić ten skrypt do działania w ten sposób. Spróbujmy tak:

1. Przywróć poprzednią wersję piku lasttopic.php (przed tą modyfikacją, którą poleciłem)
2. Zamiast include("./forum/lasttopic.php"); użyj tej linii:
  1. <?php
  2. readfile('http://www.differ.home.pl/forum/lasttopic.php');
  3. ?>

3. Jeżeli dalej nie będzie działało, utwórz plik php.ini o następującej treści:
Kod
allow_url_fopen=on

i wrzuć go do głównego [nadrzędnego] folderu na serwerze.
paffel
Ok zrobione:
http://www.differ.home.pl smile.gif

~l0ud - jesteś wielki smile.gif

dodałem plik php.ini i zmieniłem include na readfile.
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.