Dynamische Tabelle mit php erzeugen, leider leere anzeige obwohl datenbankeintrag besteht!
Also ich versuche derzeit eine art Pinnwand selbst zu kreieren, stolpere aber über das erzeugen einer dynamischen tabelle!
Mein problem ist das er mir leider nur eine Blanke seite anzeigt, ich den fehler aber nicht finden kann....
hier der Code:
Link zur seite ist: http://rpg.gaming-squad.eu/administration/board/board_test.php
Mein problem ist das er mir leider nur eine Blanke seite anzeigt, ich den fehler aber nicht finden kann....
hier der Code:
<?php
require_once ('./board/settings.php');
$conn = mysqli_connect (
$host,
$username,
$password,
$dbname
);
$sql = "SELECT * FROM adminboard ORDER BY date DESC ";
error_reporting(E_ALL);
?>
<center>
<table border="1" bordercolor="purple" width="65%">
<?php
$result=mysqli_query($sql);
$spalten = 4; //Spaltenanzahl
$fueller = '-'; //Fuellzeichen für leere Zellen z.B. ' '
$i = 0;
while ($rows = mysqli_query($result)[$i]) {
// Tabellenzeile beginnen
if ($i % $spalten == 4) {
echo '<tr>';
}
// Zellen erstellen und mit Daten füllen
?>
<td width="20%">
<?php $rows->"id" ?>
</td>
<td width="20%">
<?php
if ($rows['done'] == "0") {
echo "OFFEN";
} else {
echo "Erledigt";
}
?>
</td>
<td width="60%">
<?php $rows->"date" ?>
</td>
</tr>
</table>
<table border="1" bordercolor="green" width="100%">
<tr>
<td width="100%">
<?php $rows->"title" ?>
</td>
</tr>
<tr>
<td width="100%">
<?php $rows->"text" ?>
</td>
</tr>
</table>
<table border="1" bordercolor="green" width="100%">
<tr>
<td width="50%">
<?php $rows->"usersend" ?>
</td>
<td width="50%">
<?php $rows->"donefrom" ?>
</td>
</tr>
<?php
$i++;
// Zeile nach vorgegebener Spaltenzahl beenden
if ($i % $spalten == 4) {
echo '</tr>';
}
}
// Tabelle mit Zellen auffüllen und letzte Tabellenzeile korrekt abschliessen
if ($i % $spalten != 4) {
echo (str_repeat ('<td>' . $fueller . '</td>', $spalten - (bcmod($i, $spalten))));
echo '</tr>';
}
?>
</table>
Link zur seite ist: http://rpg.gaming-squad.eu/administration/board/board_test.php
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 270854
Url: https://administrator.de/contentid/270854
Ausgedruckt am: 05.11.2024 um 07:11 Uhr
14 Kommentare
Neuester Kommentar
Sag ich doch, da stellt es einem die Nackenhaare auf.
Das ist HTML von vor x Jahren als ich noch Jung war.
Versuch mal:
Das ist HTML von vor x Jahren als ich noch Jung war.
Versuch mal:
<?php
require_once ('./board/settings.php');
$conn = mysqli_connect (
$host,
$username,
$password,
$dbname
);
$sql = "SELECT * FROM adminboard ORDER BY date DESC ";
error_reporting(E_ALL);
?>
<center>
<table border="1" bordercolor="purple" width="65%">
<?php
$result= mysqli_query($conn,$sql);
$spalten = 4; //Spaltenanzahl
$fueller = '-'; //Fuellzeichen für leere Zellen z.B. ' '
$i = 0;
while($row = mysqli_fetch_array($result)) {
// Tabellenzeile beginnen
if ($i % $spalten == 4) {
echo '<tr>';
}
// Zellen erstellen und mit Daten füllen
?>
<td width="20%">
<?php $rows["id"] ?>
</td>
<td width="20%">
<?php
if ($rows['done'] == "0") {
echo "OFFEN";
} else {
echo "Erledigt";
}
?>
</td>
<td width="60%">
<?php $rows["date"] ?>
</td>
</tr>
</table>
<table border="1" bordercolor="green" width="100%">
<tr>
<td width="100%">
<?php $rows["title"] ?>
</td>
</tr>
<tr>
<td width="100%">
<?php $rows["text"] ?>
</td>
</tr>
</table>
<table border="1" bordercolor="green" width="100%">
<tr>
<td width="50%">
<?php $rows["usersend"] ?>
</td>
<td width="50%">
<?php $rows["donefrom"] ?>
</td>
</tr>
<?php
$i++;
// Zeile nach vorgegebener Spaltenzahl beenden
if ($i % $spalten == 4) {
echo '</tr>';
}
}
// Tabelle mit Zellen auffüllen und letzte Tabellenzeile korrekt abschliessen
if ($i % $spalten != 4) {
echo (str_repeat ('<td>' . $fueller . '</td>', $spalten - (bcmod($i, $spalten))));
echo '</tr>';
}
?>
</table>
Ich dafür zwei kleine Helferfunktionen:
Ausgehend von PHP 5.4 (oder war es 5.5?) wo
/** Escapt einen String für die HTML-Ausgabe
* @param string $string Der zu escapende String (UTF-8)
* @return string Ein escapter String, der in HTML-Seiten benutzt werden kann
* @warning Der String kann in HTML-Tags (<tt><p>string</p></tt>) aber NICHT in Attributen (<tt><img attr="string" /></tt>) benutzt werden
* @code
* //Beispiele:
* svr("<script>alert();</script>") #=> <script>alert();</script>
* @endcode
*/
function svr($string) {
return htmlspecialchars($string, ENT_NOQUOTES, 'UTF-8');
}
/** Shortcut: Escapt einen String und gibt ihn aus
* @param string $string Der zu escaptende String (UTF-8)
* @see svr()
*
*/
function sv($string) {
echo svr($string);
}
/** Escapt einen String für die HTML-Ausgabe in Attributwerten
* @param string $string Der zu escapende Wert in UTF-8
* @return string Ein escapter Wert
* @notice Diese Funktion ist für die Benutzung in Attributen gedacht (<tt><img src="string" /></tt>), für reguläre Werte (<tt><p>string</p></tt>) gibt es svr()
*/
function sar($string) {
return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
}
<?=
zur Standardsyntax gehört (nicht mehr deaktivierbar), würde sv()
sogar überflüssig.
Ah okay !
XSS-Lücke also "nur" wegen des möglichen inhalts der Variable aber nicht direkt wegen der einfachen Ausgabe per
(Ich für meinen Teil speichere die Daten bereits entsprechende escaped und ersetzt in der Datenbank.)
Waren die
Danke dog
~Arano
XSS-Lücke also "nur" wegen des möglichen inhalts der Variable aber nicht direkt wegen der einfachen Ausgabe per
echo $var;
.(Ich für meinen Teil speichere die Daten bereits entsprechende escaped und ersetzt in der Datenbank.)
Waren die
short_open_tags
nicht mal deprecated !? ...scheint als hätte ich da mal was falsches aufgeschnappt.Danke dog
~Arano