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
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
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?