Webboard

Pełna wersja: Podstrona w MyBB bez użycia szablonu
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Witam, mam pytanie jak zrobić podstronę w mybb bez używania szablonu, mój kod panel.php:

Kod PHP:
<?php
define
('IN_MYBB'1); 
require 
"./global.php"
 
add_breadcrumb("Panel Gracza""panel.php");

?>

<html>
<head>
{$headerinclude}
<title>Tutaj podaj tytuł</title>
 
</head>
<body>
{$header}
<table border=\"0\" cellspacing=\"{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class=\"tborder\" style=\"clear: both; border-bottom-width: 0;\">
<tr>
<td class=\"thead\" colspan=\"2\">
 
Tutaj wpisz tytuł
 
</td>
</tr>
<tr>
<td class=\"trow2 post_content\">
 
Tutaj wpisz treść
 
</td>
</tr>
</table>
{$footer}
</body>
</html> 


Większość wziąłem z: http://mybbsite.pl/dodawanie-nowej-podstrony
takie używanie zmiennych "{$header}" jest możliwe tylko w szablonach mybb Ty nie korzystasz z persera szablonów, wywołuj to echem
pod co, powiedz po co mieszać te kody? sam sobie komplikujesz

btw temat bardziej pasuje do dzialu mybb, bo tyczy sie mybb
Jak mam echo to niby działa ale nawigacji nie ma

Demo: http://psr-serv.pl/forum/panel.php
ehhh
Kod PHP:
<?php
define
('IN_MYBB'1); 
require 
"./global.php"

$szablon "<html>
<head>
{$headerinclude}
<title>Tutaj podaj tytuł</title>
 
</head>
<body>
{$header}
<table border=\"0\" cellspacing=\"
{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class=\"tborder\" style=\"clear: both; border-bottom-width: 0;\">
<tr>
<td class=\"thead\" colspan=\"2\">
 
Tutaj wpisz tytuł
 
</td>
</tr>
<tr>
<td class=\"trow2 post_content\">
 
Tutaj wpisz treść
 
</td>
</tr>
</table>
{$footer}
</body>
</html>"
;
 
add_breadcrumb("Panel Gracza""panel.php");
output_page($szablon);
exit;

?>
na stronie demo biala strona
Dzięki wielkie, działa :D

A naprowadzisz mnie czemu pokazuje się kod PHP?
Kod PHP:
<?php
define
('IN_MYBB'1); 
require 
"./global.php";

require 
"SampQueryAPI.php";
$query = new SampQueryAPI('80.72.47.182''3644');

$szablon "<html>
<head>
{$headerinclude}
<title>Tutaj podaj tytuł</title>
 
</head>
<body id=\"panel\">
{$header}

<div class=\"thead sort_by\" style=\"padding: 0;\" colspan=\"8\">
    <ul style=\"margin: 12px 12px 15px -40px;\" class=\"Options_sortby\">
        <li><a class=\"activeSORTBY\" href=\"panel.php\">Strona Główna</a></li>
        <li><a href=\"panel_gangi.php\">Gangi</a></li>
    </ul>
</div>

<div class=\"podglad\">
<div class=\"info_podglad\">
<div class=\"calosc_podglad\">
<div class=\"lewa_podglad\">

    <ul class=\"tabs\">
        <li class=\"active\"><a href=\"#tab1\">Gracze OnLine</a></li>
        <li><a href=\"#tab2\">Statystyki</a></li>
        <li style=\"border-bottom: none !important;\"><a href=\"#tab3\">Mapa</a></li>    
    </ul>
</div>


<div style=\"margin-top: 100px;\" class=\"prawa_podglad\">
<div class=\"tab_container\">
<div style=\"display: block;\" id=\"tab1\" class=\"tab_content\">
<div class=\"thead\"><strong>Gracze OnLine</strong></div>
    <table class=\"tborder\">


if(
$query->isOnline())
{
   
$aInformation = $query->getInfo();
   
$aServerRules = $query->getRules();
  
   
$aPlayers = $query->getDetailedPlayers();
      
   if(!is_array(
$aPlayers) || count($aPlayers) == 0)
   {
       <center><br><br><b>Brak graczy na serwerze! :(</b></center>
   }
   else
   {
    <tr>
   <td class=\"thead_sidebox\" width=\"1%\"><b>ID</b></td>
   <td class=\"thead_sidebox\" align=\"center\"><b>Nick</b></td>
   <td class=\"thead_sidebox\" align=\"center\"><b>Respekt</b></td>
    </tr>
       foreach(
$aPlayers as $sValue)
       {
        <tr>
            <td class=\"trow1\" align=\"center\">"
.$sValue["playerid"]."</td>
            <td class=\"trow1\" align=\"center\">"
.htmlentities($sValue['nickname'])."</td>
            <td class=\"trow1\" align=\"center\">"
.$sValue["score"]."</td>
        </tr>
       }
   }
}

    </table>
</div>
</div>
</div>
</div>
</div>
</div>
{$footer}
</body>
</html>"
;
 
add_breadcrumb("Panel Gracza""panel.php");
output_page($szablon);
exit;
?>
Masz namieszane w samej składni PHP + HTML.
nie mając pojęcia o łączeniu znaków w php (składnia języka, podstawa), sam sobie dołki kopiesz.
Prościej i estetyczniej skorzytać z wbudowanego w MyBB systemu szablonów.
Okej, żeby nie robić spamu piszę w tym wątku

Plik panel/index.php
Kod:
<?php
    define('IN_MYBB', 1);
    define('THIS_SCRIPT', 'index.php');
    require "../global.php";
    require_once "includepanel.php";

    if(!$mybb->user['uid'])
    {
        error_no_permission();
        exit;
    }

    add_breadcrumb("Panel Gracza", "index.php");
    eval("\$podstr = \"".$templates->get("panel_index")."\";");
    output_page($podstr);
?>

i szablon panel_index
Kod:
<html>

<head>
    {$headerinclude}
    <title>Tutaj podaj tytuł</title>
</head>

<body>
    {$header}
    <?php
        $wynik = mysql_query("SELECT * FROM playersOnline") or die('Błąd zapytania');
        if(mysql_num_rows($wynik) > 0) {
            echo "<table class=\"tborder\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
                <tbody><tr>
                <td class=\"thead\" colspan=\"7\">
                    <div>Gracze OnLine</div></td>
                </tr>
                <tr>
                    <td class=\"tcat\" align=\"center\" width=\"2%\">ID</td>
                    <td class=\"tcat\" align=\"center\">Nick</td>
                    <td class=\"tcat\" align=\"center\">Exp</td>
                    <td class=\"tcat\" align=\"center\">Level</td>
                </tr>";

            while($r = mysql_fetch_array($wynik)) {
                echo "<tr>";
                    echo "<td class=\"trow1\" align=\"center\">".$r[0]."</td>";
                    echo "<td class=\"trow1\" align=\"center\">".$r[1]."</td>";
                    echo "<td class=\"trow1\" align=\"center\">".$r[3]."</td>";
                    echo "<td class=\"trow1\" align=\"center\">".$r[4]."</td>";
                echo "</tr>";
            }
            echo "</tbody></table>";
        }
?>
{$footer}
</body>

</html>

Demo: http://psr-serv.pl/forum/panel/

Jak jestem zalogowany to działa a jak wchodzę jako goć to mam błąd
Kod:
Wewnętrzny błąd MyBB

MyBB napotkało błąd wewnętrzny i nie może kontynuować.

Typ błędu:
    Ostrzeżenie (2)
Treść błędu:
    Cannot modify header information - headers already sent by (output started at /home/samppsrd/domains/psr-serv.pl/public_html/forum/panel/index.php:1)
Lokalizacja:
    File: inc/functions.php
    Line: 1861
Fragment kodu:
    Plik     Linia     Funkcja
    /inc/class_error.php     208     errorHandler->output_error
    [PHP]           errorHandler->error
    /inc/functions.php     1861     header
    /inc/class_session.php     362     my_setcookie
    /inc/class_session.php     94     session->load_guest
    /global.php     54     session->init
    /panel/index.php     3     require

Odwiedź Polski Support MyBB aby uzyskać pomoc.

Testowe konto: MyBBPL; test123
Nie znam się to się wypowiem.

po użyciu funkcji error_no_permission(); nie używany już exit;

jaki sens ma pchanie tego php do szablonu, uświadom mnie proszę.
(19.02.2016, 14:27)Supryk napisał(a): [ -> ]nie mając pojęcia o łączeniu znaków w php (składnia języka, podstawa), sam sobie dołki kopiesz.
Prościej i estetyczniej skorzytać z wbudowanego w MyBB systemu szablonów.
no więc właśnie, kod php wrzucasz do pliku php a w szablonu używasz zmiennych, jak header itd
Tak mam i to samo

index.php:
Kod:
<?php
    define('IN_MYBB', 1);
    define('THIS_SCRIPT', 'index.php');
    require "../global.php";
    if(!$mybb->user['uid'])
    {
        error_no_permission();
    }
    require_once "includepanel.php";

    $wynik = mysql_query("SELECT * FROM playersOnline") or die('Błąd zapytania');
        if(mysql_num_rows($wynik) > 0) {
            $content = "<table class=\"tborder\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
                <tbody><tr>
                <td class=\"thead\" colspan=\"7\">
                    <div>Gracze OnLine</div></td>
                </tr>
                <tr>
                    <td class=\"tcat\" align=\"center\" width=\"2%\">ID</td>
                    <td class=\"tcat\" align=\"center\">Nick</td>
                    <td class=\"tcat\" align=\"center\">Exp</td>
                    <td class=\"tcat\" align=\"center\">Level</td>
                </tr>";

            while($r = mysql_fetch_array($wynik)) {
                $content .= "<tr>";
                    $content .= "<td class=\"trow1\" align=\"center\">".$r[0]."</td>";
                    $content .= "<td class=\"trow1\" align=\"center\">".$r[1]."</td>";
                    $content .= "<td class=\"trow1\" align=\"center\">".$r[3]."</td>";
                    $content .= "<td class=\"trow1\" align=\"center\">".$r[4]."</td>";
                $content .= "</tr>";
            }
            $content .= "</tbody></table>";
        }

    add_breadcrumb("Panel Gracza", "index.php");
    eval("\$podstr = \"".$templates->get("panel_index")."\";");
    output_page($podstr);


?>
szablon:
Kod:
<html>

<head>
    {$headerinclude}
    <title>Tutaj podaj tytuł</title>
</head>

<body>
    {$header}
{$content}
{$footer}
</body>

</html>
to jeszcze jest problem z odczytaniem/zapisem cistek, bo masz pliki katalog wyzej niiz global.php
i tu tez masz ten blad, merales cos w plikach mybb?
Stron: 1 2