Mozilla macht meine Tabellen kaputt??
Andreas
- browser
Hallo,
ein User machte mich darauf aufmerksam, dass die Seiten im Downloadbereich mit Mozilla nicht zu lesen sind, da alle Struktur verschwunden scheint.
Hier ein Link wo ein Screenshot mit Mozilla zu sehen ist:
http://www.access-o-mania.de/forum.php?board=3;action=display;threadid=237
Hier eine der betreffenden Seiten:
http://www.access-o-mania.de/index.php?action=dloadrubrik&rubrik=Abfrage&cat=Access
Bitte schaut es euch mal an, vorallem mit Mozilla wenn ihr habt und gebt mal Feedback.
Gruß und Danke,
Andreas
Hallo,
gruss
Hallo,
hier mal ein Beispiel:
Line 633, column 352: cannot generate system identifier for general entity "kategorie"
...href="index.php?action=dloadredirect&kategorie=Access&KONTENTSID=4b2d17a4
Im PHP Script steht dies:
<a href="index.php?action=dloadredirect&kategorie='.$rubrikGroup.'" class="navi">
Also was ist da falsch?
Andreas
Hallo Andreas,
Also was ist da falsch?
& in Adressen mussen durch & ersetzt werden!
Gruß,
Michael
Ok, das wusste ich nicht,
danke.
Hallo,
ich wollte nochmals Feedback geben, und euch mitteilen dass ich die Seiten die Mozilla falsch dargestellt hat, validiert habe (*Schweinearbeit*) und tatsächlich funktioniert es jetzt auch.
Ich werde wohl im Laufe der Zeit die restlichen Seiten auch validieren und überarbeiten.
Danke nochmals an alle die mich auf den rechten Weg gebracht haben.
Gruß Andreas
Moin,
<a href="index.php?action=dloadredirect&kategorie='.$rubrikGroup.'"
Also was ist da falsch?
& ist ein Special Character, der Entities einleitet. Er versucht also eine Entity beginnend mit &kategorie... zu finden, welche es nicht gibt. Also Fehler.
Gruß,
-Efchen
Moin,
Ja, das stimmt. Da gibts Probleme.
Aber wenn Du diese Seite mal dem Validator gibst, findet er ZWEIUNDACHTZIG (82!) Fehler.
Auf dieser Basis ist eine Fehlersuche nicht möglich. Befreie Deinen Code erst bitte von den 82 Fehlern, vorher ist alle Fehlersuche vergebliche Liebesmüh.
Wie soll man Darstellungsfehler finden, wenn der Code für die Darstellung schon falsch geschrieben ist?
Gruß,
-Efchen
Hallo,
auf den Validator ist ...
Aber wenn Du diese Seite mal dem Validator gibst, findet er ZWEIUNDACHTZIG (82!) Fehler.
Dass Fehler drin sind ist schon klar, aber das kommt vom PHP Script, das der Validator falsch interpretiert.
Ich wollte ja eigentlich nur bestätigt wissen ob das in Mozilla wirklich so aussieht.
Andreas
Hallo,
ja es sieht so aus.
gruss
Dass Fehler drin sind ist schon klar, aber das kommt vom PHP Script, das der Validator falsch interpretiert.
Häh?
Wieso interpretiert der Validator falsch, dein Script muss sauberes HTML liefern.
Gruß,
Michael
Moin,
Hallo,
auf den Validator ist ...
Nana!
Dass Fehler drin sind ist schon klar, aber das kommt vom PHP Script, das der Validator falsch interpretiert.
Ganz sicher nicht! Weißt Du überhaupt, was PHP ist und was der Validator macht? Von PHP weiß der Validator, genauso wie der Mozilla, rein gar nichts.
Deine Fehler sind alle HTML-Fehler, mit PHP hat das rein gar nichts zu tun. Korrigiere Deine Fehler, sonst wird eine weitere Fehlersuche für Dich zur Qual!
Gruß,
-Efchen
Hi Efchen,
Deine Fehler sind alle HTML-Fehler, mit PHP hat das rein gar nichts zu tun. Korrigiere Deine Fehler, sonst wird eine weitere Fehlersuche für Dich zur Qual!
Ersetze in alle Links in href & durch &, wie unten schon genannt wurde, dann dürfte die hälfte alle Fehler weg sein.
Bei drei Javascripten hast du das type="text/javascript" vergessen und sonst noch ein paar Kleinigkeiten.
Bedenke, dass die Zeilenangaben nicht unbedingt mit den Zeilen im PHP Script übereinstimmen. Es handelt sich um die Zeilen ist der HTML Ausgabe.
MfG, Dennis.
Das ist das PHP-Script, welches die Tabelle anzeigt:
function dloadview($kategorie) {
require("layer.inc.php");
echo ' Sie sind hier: ';
echo '<a href="index.php" class="navi">Home</a> / <a href="index.php?action=dload" class="navi">Downloads</a> / <b>'.$kategorie.'</b>';
echo '<table width="100%">';
echo '<tr><td bgcolor="#6394BD" height="1"></td></tr>';
echo '<tr><td height="7"></td></tr>';
echo '</table>';
echo '<br><br>';
echo'<Table>';
echo '<tr><td width="30"></td><td class="norm"><b>Kategorie: '.$kategorie.'</b><br><br></td></tr>';
$sql_dload = $SQL1->putquery("SELECT Rubrik FROM tbdownload where kategorie = '$kategorie' Group By Rubrik");
for ( $i = 0 ; $i < mysql_numrows($sql_dload) ; $i++ ){
$kategorieGroup = mysql_result($sql_dload,$i,"Rubrik");
$sql_load = $SQL1->putquery("SELECT count(Titel) AS Anzahl FROM tbdownload where Rubrik = '$kategorieGroup' and kategorie = '$kategorie'");
$anzahl = mysql_result($sql_load,0,"Anzahl");
echo '<tr><td width="30"></td><td>
<a class="navi" href="index.php?action=dloadrubrik&rubrik='.$kategorieGroup.'&cat='.$kategorie.'">
'.$kategorieGroup.'
</a>
('.$anzahl.')</td></tr>';
}
echo '</table>';
}
Sorry, habs nicht strukturiert, das will ich keinem zumuten. Hier nun besser lesbar:
function dloadview($kategorie) {
require("layer.inc.php");
echo ' Sie sind hier: ';
echo '<a href="index.php" class="navi">Home</a>
/
<a href="index.php?action=dload" class="navi">Downloads</a>
/
<b>'.$kategorie.'</b>';
echo '<table width="100%">';
echo '<tr><td bgcolor="#6394BD" height="1"></td></tr>';
echo '<tr><td height="7"></td></tr>';
echo '</table>';
echo '<br><br>';
echo'<Table>';
echo '<tr><td width="30"></td>
<td class="norm"><b>Kategorie: '.$kategorie.'</b><br><br></td>
</tr>';
$sql_dload = $SQL1->putquery("SELECT Rubrik FROM tbdownload where kategorie = '$kategorie' Group By Rubrik");
for ( $i = 0 ; $i < mysql_numrows($sql_dload) ; $i++ ){
$kategorieGroup = mysql_result($sql_dload,$i,"Rubrik");
$sql_load = $SQL1->putquery("SELECT count(Titel) AS Anzahl FROM tbdownload where Rubrik = '$kategorieGroup' and kategorie = '$kategorie'");
$anzahl = mysql_result($sql_load,0,"Anzahl");
echo '<tr><td width="30"></td><td>
<a class="navi" href="index.php?action=dloadrubrik&rubrik='.$kategorieGroup.'&cat='.$kategorie.'">
'.$kategorieGroup.'
</a>
('.$anzahl.')</td></tr>';
}
echo '</table>';
}
Moin,
Dein PHP-Script ist uninteressant. Die Fehler im Validator sind HTML-Fehler, und Deine Darstellungsprobleme beruhen wahrscheinlich darauf. Sie könnten außerdem im Bereich CSS beheimatet sein, das aber wiederum ohne einen validen HTML-Code ebenso unberechenbar ist.
Korrigiere Deine 82 HTML-Fehler.
Alles andere ist Unfug.
Gruß,
-Efchen
Hallo,
alle Seite werden im Mozilla richtig Dargestellt, außer dieser die durch dieses Script erstellt werden.
Also ist das Problem wohl in diesem Script zu suchen.
Andreas
Moin,
Hallo,
alle Seite werden im Mozilla richtig Dargestellt, außer dieser die durch dieses Script erstellt werden.
Also ist das Problem wohl in diesem Script zu suchen.
Nein, im HTML-Code, den das Script erzeugt.
Gruß,
-Efchen
Hi,
eine Beruhigung zwischendurch: Durch die nicht maskierten Und-Zeichen entstehen in aller Regel Folgefehler. Wenn Du jene Zeichen maskierst, wirst Du wahrscheinlich deutlich _weniger_ Fehler haben, als 82.
Die Fehler stecken aber selbstverständlich im generierten HTML-Code. PHP-Fehler kannst Du an entsprechenden serverseitigen Fehlermeldungen erkennen.
Viele Grüße,
Bubax
Hi,
also zuerst einmal solltest Du Dich mit HTML gut auskennen, bevor Du an PHP rangehst.
Mache Dir folgendes klar:
Was Du an PHP zusammengehackt hast, ist ziemlich unübersichtlich und sehr schlechter Programmierstil.
Ein Vorschlag (ungetestet):
function dloadview($kategorie)
{
require("layer.inc.php");
$sql_dload = $SQL1->putquery("
SELECT
Rubrik
FROM
tbdownload
WHERE
kategorie = '$kategorie'
Group By Rubrik
");
print_tab_kat_start($kategorie);
for ($i=0 ;$i<mysql_numrows($sql_dload); $i++)
{
$kategorieGroup = mysql_result($sql_dload, $i, "Rubrik");
$sql_load = $SQL1->putquery("
SELECT count(Titel)
AS Anzahl
FROM
tbdownload
WHERE
Rubrik = '$kategorieGroup' and
kategorie = '$kategorie'
");
$anzahl = mysql_result($sql_load, 0, "Anzahl");
print_tab_kat($kategorieGroup, $kategorie, $anzahl);
}
print_tab_kat_end();
}
function print_tab_kat_start($kategorie)
{
printf('
Sie sind hier:
<a href="index.php" class="navi">Home</a>
/
<a href="index.php?action=dload" class="navi">Downloads</a>
/
<strong>%s</strong> <!-- kategorie -->
<table width="100%">
<tr>
<td bgcolor="#6394BD" height="1"></td>
</tr>
<tr>
<td height="7"></td>
</tr>
</table>
<br><br>
<table>
<tr>
<td width="30"></td>
<td class="norm">
<strong>Kategorie: %s</strong><br><br> <!-- kategorie -->
</td>
</tr>
<table>
', $kategorie, $kategorie);
}
function print_tab_kat($kategorieGroup, $kategorie, $anzahl)
{
printf('
<tr>
<td width="30"></td>
<td>
<a class="navi" href="index.php?action=dloadrubrik&rubrik=%s&cat=%s">%s</a> <!-- kategorieGroup, kategorie, kategorieGroup -->
%s <!-- Anzahl -->
</td>
</tr>
', $kategorieGroup, $kategorie, $anzahl);
}
function print_tab_kat_end()
{
printf('
</table>
');
}