Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Integracja Forum ze stroną - problem z wczytaniem podstron

Założony przez  Krzychu20.

wersja skryptu MyBB: 186
adres forum: localhost
na czym polega problem (screen, opis, komunikaty):

Witam, mam pewien problem. Otóż, próbuje z integrować forum ze strona zewnętrzną i aby to zrobić muszę wstawić ten kod:
<?php
define
("IN_MYBB"1);
chdir("forum"); // path to MyBB
require "global.php";
?>


Jednak gdy go użyję, nie działa ta część kodu:
<?php
$body 
$_GET["s"];
if (
$body=="")
{
include(
"includes/home.php"); //plik includowany jeśli body jest puste
}
else {
if (
is_file("includes/$body.php"))
{
include(
"includes/$body.php");
  
else
{
echo
"<h1>404</h1> Nie ma takiej strony!";
      
                            
?>
a dokładniej: 
if (is_file("includes/$body.php"))
{
include(
"includes/$body.php");
  

Tak jakby nie znajdowało pliku. Stronę home.php wczytuje normalnie, jednak gdy ma wczytać inną, wywala podany Error 404.

Po usunięciu kodu do połączenia strony z mybb działa wszystko normalnie, więc problem leży gdzieś z tym. Tak przynajmniej mi się wydaje i tutaj już potrzebuje pomocy :)
Zobacz
$mybb->get_input('s');
zamiast tego GET-a
Nadal to samo jak wyżej. Home wyświetla się normalnie jeśli odpalamy przez index.php. Jeśli spróbujemy ?s=home lub cokolwiek innego wyświetla się, że strony nie ma :)
Zobacz co zawiera $body, $_GET['s'] przy użyciu echo. Może $body jest już używane przez mybb (użyj innej nazwy).
Użyłem takiego kodu:
<?php
$testtestuktoryjesttestem 
$_GET['testtestuktoryjesttestem2'];
if (
$testtestuktoryjesttestem=="")
{
include(
"includes/home.php"); //plik includowany jeśli body jest puste
}
else {
if (
is_file("includes/$testtestuktoryjesttestem.php"))
{
include(
"includes/$testtestuktoryjesttestem.php");
  
else
{
echo
"<h1>404</h1> Nie ma takiej strony!";
      
                            
?>
(Próbowałem też podmienić $_GET na to co ty dałeś)

Nadal jest to samo, nie czyta innych podstron, jedynie includuje główną jeśli zmienna jest pusta albo wyświetla error.


Nadal jestem za tym, że jest to wina:
if (is_file("includes/$testtestuktoryjesttestem.php"))
{
include(
"includes/$testtestuktoryjesttestem.php");
  
Jednak, nie jestem jakiś obeznany w tym i czy można to jakoś zamienić, by działało tak samo.
to
"includes/$testtestuktoryjesttestem.php" 
Powinno wyglądać tak
"includes/"$testtestuktoryjesttestem .".php" 
Lub ewentualnie
"includes/{$testtestuktoryjesttestem}.php" 
heh, czyli to nie to. Nadal dzieje się to samo ;/
Wszystko działa. Na pewno masz pliki które chcesz dołączyć w odpowiednim folderze/odpowiednia nazwa i rozszerzenie?
page.php
<?php
// Wyświetlanie błędów, usuń jeżeli będziesz używał tego na wersji produkcyjnej
ini_set("display_errors","2");
ERROR_REPORTING(E_ALL);

define("IN_MYBB"1);
//chdir("forum"); // path to MyBB
require_once "global.php";

$page $_GET["s"];
if (
$page == "") {
    include(
"includes/home.php"); //plik includowany jeśli body jest puste
}
else {
    if (
is_file("includes/"$page .".php")) {
        include(
"includes/"$page .".php");
    }   
    else {
        echo
"<h1>404</h1> Nie ma takiej strony!";
    }       
}     

echo 
'<br>Nazwa wybranej strony: ' .$page;
?>

includes/strona.php
<?php
echo 'jestem stroną'
adres
/page.php?s=strona
W pewnym sensie działa, jeśli postawie to na nowym hostingu, u mnie to nadal wyświetla 404, chociaż zawartość jest ta sama, wychodzi na to, że to coś u mnie. Teraz tylko muszę ogarnąć co. Bo to jest dziwne, że jedno działa a drugie nie, jeśli mam te same zawartości i nazwy ^^


@EDIT: Po części już znam problem, jest to coś związanego z forum, bo teraz mam 2 wersje, przy includowaniu 1 działa wszystko, przy drugiej już nie. Zapewne, będzie to wina jakiegoś pluginu lub czegoś podobnego. Pozostanie mi zabawa od nowa z forum ;/


@EDIT2: Odkryłem gdzie leży problem, home.php wczytuje mi z folderu /includes/home.php, jednak jeśli chodzi o inne podstrony to /forum/includes/strona.php
To dlatego wyświetlało, że nie ma podanej strony ;) Matslom wielkie dzięki, bo w sumie bez ciebie tego problemu pewnie bym nie rozwiązał.


Temat do zamknięcia :)



Użytkownicy przeglądający ten wątek:

1 gości