1 Fehlermeldung von W3C

solala123

Erfahrenes Mitglied
Hallo,
beim Erstellen einer neuen Homepage möchte ich W3C fehlerfrei bleiben, (mein Ziel)

ich habe in CSS 3 verschiedene Hintergründe hinterlegt, die ich mit einem Formular anwählen kann.
das funktioniert alles gut.

Aber W3C ist nicht zufrieden mit mir, die "Umschaltung" gefällt nicht.

mal meinen Code:
PHP:
session_start();  // steht ganz oben


$seite_1      = $_POST['seite_1'];
$version      = $_POST['version'];


if (isset($_POST["submit"]))
{ unset($_SESSION['name']);

if($seite_1== 1)
   {
   $version = "version1";
   }
else if($seite_1 == 2)
   {
   $version = "version2";
   }
else if($seite_1 == 3)
   {
   $version = "version3";
   }
else
   {
   echo "Du bist weder 1 noch 2 oder 3";
   }
}




if (!isset($_SESSION['name']))
   {
   $_SESSION['name'] = "$version";
   }


$name = $_SESSION['name'];

?>


HTML:
<body  id = <?php echo "$name" ?> >   // diese Zeile wird angemeckert

hier ist die Fehlermeldung von W3C:
Error Line 36, Column 14: an attribute value specification must start with a literal or a name character

<body id = >


Wie kann ich W3C befriedigen?
oder bin ich auch völlig auf den Holzweg so wie ich es gemacht habe?

Danke
Gruß
Rainer
 
Hallo,

der PHP-Code bringt uns nicht so viel, zeige lieber den generierten HTML-Code, den der Browser auch sieht.


PS: Erinner mich gerade an deine PN... oh man, das habe ich total vergessen :( Ich werde es mir diese Woche vornehmen.
 
Hallo,
wegen der PN brauchst Du dich wirklich nicht zu hetzen, bin die nächste Woche sowieso in Sambia.
Also ob ich es nächst oder übernächste Woche habe, ist mir völlig egal.

So zum html Code, dahinter ist nur noch eine leere Tabelle:

da kann man es anschauen: http://tt.resbar.de/Einstellungen.php
das Umschalten ist nur zum Testen auf der Seite Einstellungen gemacht, Umstellen des Hintergrundes mit 1,2 oder 3

HTML:
<body  id = <?php echo "$name" ?> >



<?php 
include "kopf.php";
?>


<!--========== KOPFEREICH ANFANG NICHTS SCHREIBEN ==========-->
<table  align="center" id="breite" cellspacing="0" cellpadding="0" border="0"  >
    <tr>
        <td align="center" width="100%" id="haupt" >
        

                <table align="center" id="main_top"  cellspacing="0" cellpadding="0" border="0" >
                    <tr>
                        <td align="center" ></td>
                    </tr>
                </table>


                            <table align="center" id="main_header"  cellspacing="0" cellpadding="0" border="0"   >
                                <tr>
                                    <td align="center"> <!-- zwischen Mittelteil und Kopf -->
                            
                            
        
                                                <table align="center" id="header"   cellspacing="0" cellpadding="0" border="0" >
                                                    <tr>
                                                        <td> <!-- Schattenzeile oben -->
                                                                <table width="100%"  align="center" cellspacing="0" cellpadding="0" border="0"  >
                                                                    <tr>
                                                                        <td >
                                                                        </td>
                                                                    </tr>
                                                                </table>
                
                
                                                            </td>
                                                        </tr>
                                                </table>
        
                                        </td>
                                    </tr>
                            </table>
        


                    <table align="center" id="main_inhalt"  cellspacing="0" cellpadding="0" border="0"   >
                        <tr>
                            <td align="center" >
<!--========== KOPFBEREICH Ende NICHTS SCHREIBEN  ==========-->
                           
                            
<!--========== ANFANG SCHREIBEN ==========-->
                                        <table align="center" id="inhalt"   cellspacing="0" cellpadding="0" border="0" >   
                                            <tr>
<!-- oben links in der Ecke ist der Anfang -->  <td valign="top">Hier könnt Ihr die Homepage selber gestallten. <br><br>



<form    action="Einstellungen.php" method="post" >

            <input type="text"  name="seite_1"  id="seite_1"><br>
            
            <input type="submit" name="submit" value="Abschicken" >
            <input type="reset"  name="reset" value="Löschen" onClick="return confirm('Wirklich Eingaben verwerfen?')" >
</form>






                                            
                                            
                                                </td>   
                                          </tr>                                         
                                        </table>
<!--========== ENDE SCHREIBEN ==========-->

und die wird durch css formatiert.

Mal nur so eine Idee:
das wird angemeckert, weil es nicht mit einen Buchstaben beginnt,
<body id = <?php echo "$name" ?> >
könnte man nach id = (hier ein Buchstabe) & <?php echo "$name" ?>>

am Anfang ein Buchstabe verknüpfen mit Variable ?, und die css dementsprechend umbenennen?


oder gibt es eine Möglichkeit eine css Datei z.B. mit if aussuchen, meine in der css ?

Gruß
Rainer
 
Gut, ich habe mir jetzt den HTML-Quelltext deiner Seite angeschaut.

Der Validator interessiert sich nicht für deinen PHP-Code, er interessiert sich nur für die Ausgabe, und die ist folgende:
HTML:
<body  id =  >
Das ist ganz klar ungültig.

Was wäre jetzt die Lösung? Wenn $name leer ist, einfach nichts ausgeben:
PHP:
<body<?php if(!empty($name)) echo "id='$name'";?>>
 
Hallo hab den kleinen Fehler gefunden,

HTML:
<body <?php if(!empty($name)) echo "id='$name'";?>>

nach body muss ein Leerzeichen rein, so funktioniert es und W3C ist auch zufrieden.

Dankeschön und eine schöne Woche
Gruß
Rainer
 

Neue Beiträge

Zurück