Skocz do zawartości
  • 0
KaLu

Dodanie kodu PHP do szablonu

Pytanie

Hi. Czemu jak dodaję ten kod do pewnego szablonu, to wyskakuje mi błąd? :huh:

<?php



require "SampQueryAPI.php";

$query = new SampQueryAPI(serwer);



if($query->isOnline())

{

$aInformation = $query->getInfo();

$aServerRules = $query->getRules();


?>

<b>General Information</b>

<table width="400">

<tr>

<td>Hostname</td>

<td><?= htmlentities($aInformation['hostname']) ?></td>

</tr>

<tr>

<td>Gamemode</td>

<td><?= htmlentities($aInformation['gamemode']) ?></td>

</tr>

<tr>

<td>Players</td>

<td><?= $aInformation['players'] ?> / <?= $aInformation['maxplayers'] ?></td>

</tr>

<tr>

<td>Map</td>

<td><?= htmlentities($aInformation['mapname']) ?></td>

</tr>

<tr>

<td>Weather</td>

<td><?= $aServerRules['weather'] ?></td>

</tr>

<tr>

<td>Time</td>

<td><?= $aServerRules['worldtime'] ?></td>

</tr>

<tr>

<td>Version</td>

<td><?= $aServerRules['version'] ?></td>

</tr>

<tr>

<td>Password</td>

<td><?= $aInformation['password'] ? 'Yes' : 'No' ?></td>

</tr>

</table>


<br />

<b>Online Players</b>

<?php


$aPlayers = $query->getDetailedPlayers();


if(!is_array($aPlayers) || count($aPlayers) == 0)

{

echo '<br /><i>None</i>';

}

else

{

?>

<table width="400">

<tr>

<td><b>Player ID</b></td>

<td><b>Nickname</b></td>

<td><b>Score</b></td>

<td><b>Ping</b></td>

</tr>

<?php

foreach($aPlayers as $sValue)

{

?>

<tr>

<td><?= $sValue['playerid'] ?></td>

<td><?= htmlentities($sValue['nickname']) ?></td>

<td><?= $sValue['score'] ?></td>

<td><?= $sValue['ping'] ?></td>

</tr>

<?php

}


echo '</table>';

}

}

?>

Błąd:

W szablonie pojawił się błąd, spowodowany zazwyczaj źle sformatowanym kodem PHP. Proszę poprawić błąd i zapisać ponownie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

13 odpowiedzi na to pytanie

Polecane posty

  • 0

Bo tak się w szablonach nie wstawia kodu php, tylko jak już to

<php>kod</php>

Ale to co chcesz zrobić, to powinieneś wykonać jako hook a nie wstawiać takie coś

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Nie pisałem nigdy hooków/aplikacji.

Jakieś wskazówki?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Musiałbyś zapoznać się z dokumentacją, bo tutaj nie ma jakiejś prostej instrukcji, żeby opisać krok po kroku co zrobić

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Okej, dam sobie raczej spokój jak narazie z tym. A mógłbyś mi np. przekształcić ten kod na taki, który mógłbym dodać do szablonu?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Tak jak pisałem wyżej:

zamień

<?php
na
<php>
oraz
?>
na
</php>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Tak właśnie zrobiłem, jednakże:

W szablonie pojawił się błąd, spowodowany zazwyczaj źle sformatowanym kodem PHP. Proszę poprawić błąd i zapisać ponownie

Kod:


<php>


require "SampQueryAPI.php";

$query = new SampQueryAPI(serwer);


if($query->isOnline())

{

$aInformation = $query->getInfo();

$aServerRules = $query->getRules();

</php>

<b>General Information</b>

<table width="400">

<tr>

<td>Hostname</td>

<td><?= htmlentities($aInformation['hostname']) ?></td>

</tr>

<tr>

<td>Gamemode</td>

<td><?= htmlentities($aInformation['gamemode']) ?></td>

</tr>

<tr>

<td>Players</td>

<td><?= $aInformation['players'] ?> / <?= $aInformation['maxplayers'] ?></td>

</tr>

<tr>

<td>Map</td>

<td><?= htmlentities($aInformation['mapname']) ?></td>

</tr>

<tr>

<td>Weather</td>

<td><?= $aServerRules['weather'] ?></td>

</tr>

<tr>

<td>Time</td>

<td><?= $aServerRules['worldtime'] ?></td>

</tr>

<tr>

<td>Version</td>

<td><?= $aServerRules['version'] ?></td>

</tr>

<tr>

<td>Password</td>

<td><?= $aInformation['password'] ? 'Yes' : 'No' ?></td>

</tr>

</table>

<br />

<b>Online Players</b>

<php>

$aPlayers = $query->getDetailedPlayers();

if(!is_array($aPlayers) || count($aPlayers) == 0)

{

echo '<br /><i>None</i>';

}

else

{

</php>

<table width="400">

<tr>

<td><b>Player ID</b></td>

<td><b>Nickname</b></td>

<td><b>Score</b></td>

<td><b>Ping</b></td>

</tr>

<php>

foreach($aPlayers as $sValue)

{

</php>

<tr>

<td><?= $sValue['playerid'] ?></td>

<td><?= htmlentities($sValue['nickname']) ?></td>

<td><?= $sValue['score'] ?></td>

<td><?= $sValue['ping'] ?></td>

</tr>

<php>

}

echo '</table>';

}

}

</php>


Myślisz, że te linijki mogą powodować ten błąd?

<td><?= $sValue['ping'] ?></td>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Witam,

tak dokładnie błędem są linijki typu


<td><?= htmlentities($aInformation['hostname']) ?></td>
[/code]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Da się to jakoś inaczej przerobić i zastosować czy niezbyt?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

A czemu by miało się nie dać?


<?= htmlentities($aInformation['hostname']) ?>[/code] to nie oznacza nic innego jak:
[code]<? echo htmlentities($aInformation['hostname']); ?>
czyli możesz to zamienić na:
<php> echo htmlentities($aInformation['hostname']); </php>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

a zamieniłeś wszystkie <? te znaki ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

A no. Mógłbyś zrobić to po swojemu (po zamieniać), gdy znajdziesz chwilę czasu? Być może ja coś pominąłem. :unsure:

Edytowano przez Karol170396

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

A no. Mógłbyś zrobić to po swojemu (po zamieniać), gdy znajdziesz chwilę czasu? Być może ja coś pominąłem. :unsure:

Jak znajdę ok, ale nie wiem kiedy to będzie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies.