• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] [(X)HTML-Validator] Was bedeutet dieser Error ?

Status
Für weitere Antworten geschlossen.
Werbung:
echo 'value="Bitte Name eingeben"><br>';

Bei dem kommt die Fehlermeldung:

Eine Attributwertspezifikation muss mit einem Literal oder einem Namenszeichen beginnen

Da regt er sich bei value= auf...
Weiß jemand warum!?
 
Werbung:
Reicht dir dieser Ausschnitt oder soll ich ALLES ranhängen?

Code:
echo'<input type="text" name="name" ';
   if($name=="" && $REQUEST_METHOD=="POST"){
    echo 'value="Bitte Name eingeben"><br>';
    $name="Bitte Name eingeben";
}
 
Validierst Du php-Code? Dann sollte es auf jeden Fall Fehler geben. Ich fragte nach dem HTML-Code ;-)
 
Werbung:
Ja... :)

Die restlichen Fehler die er mir aufgezeigt hat, sind alle ausgemerzt worden.
Ich mein, nur weil echo' ' runderhum ist ist es doch auch html Code, den ich validieren kann!?
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
    <body>        
            <div id="haupt">
                <div id="header" style="background-image: URL(slices/Bilder/header.png); width: 800px; height: 65px;">
                </div>
                <div id="menu" style="background-image: URL(slices/Bilder/menu.png);">
                    <div id="button">
                        <a href="index.html" border="0" name="austausch" alt="home"></a><br>
                        <a href="lebenslauf.html" border="0" name="austausch2" alt="lebenslauf"></a><br>
                        <a href="gast.php?start=0" border="0" name="austausch3" alt="gaestebuch"></a><br>
                    </div>
                </div>
                <div id="main" style="background-image: URL(slices/Bilder/main.png);">
                    <h3>Gästebuch</h3>
                    <div id="gast">
                        <?php
                            error_reporting(E_ALL);                            
                            define('MYSQL_HOST', 'localhost');
                            define('MYSQL_USER', 'xxx');
                            define('MYSQL_PASS', 'xxx');
                            define('MYSQL_DATABASE', 'xxx'); 
                            mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR
                                die("Es konnte keine Verbindung aufgebaut werden\n".mysql_error());
                            mysql_select_db(MYSQL_DATABASE) OR
                                die("Konnte ".MYSQL_DATABASE." nicht benutzen ".mysql_error());    
                                
                            $name="";
                            $mail="";
                            $mitteilung="";
                            $gesendet=false;
                            
                                echo'<form action="gast.php" METHOD="POST">';
                                    echo'<div id="textfeld">';
                                        echo'Name:<br>';
                                        echo'<input type="text" name="name" ';
                                            if($name=="" && $REQUEST_METHOD=="POST"){
                                                echo 'value="Bitte Name eingeben"><br>';
                                                $name="Bitte Name eingeben";
                                            }
                                            else{
                                                echo 'value='.$name.'><br>';
                                            }
                                        echo'Email:<br>';
                                        echo'<input type="text" name="mail"><br>';
                                        echo'Mitteilung:<br>';
                                        echo'<textarea name="mitteilung" rows="4" cols="16" ';
                                            if($mitteilung=="" && $REQUEST_METHOD=="POST"){
                                                echo 'Bitte Mitteilung eingeben';                                                
                                            }
                                            else{
                                                echo $mitteilung;
                                            }
                                        echo '</textarea><br>';
                                        echo '<input type="text" name="Textzaehler" value="160" readonly>';
                                        echo'<input type="submit" value="senden">';
                                    echo'</div>';
                                echo'</form>';
                                
                            if(isset($_POST["name"]) && isset($_POST["mitteilung"])){ //prüfen ob alles gesetzt ist
                                $user = $_POST["name"];
                                $email = $_POST["mail"];
                                $msg = $_POST["mitteilung"];
                                
                                if(preg_match('#[<>&\/\\\]#', $user) || preg_match('#[<>&\/\\\]#', $email) || preg_match('#[<>&\/\\\]#', $msg)){ // spam filter, ob wörter vorkommen mit den bestimmten zeichenfolgen
                                    echo '
                                        <div id="again">
                                            Keine Sonderzeichen bitte!
                                        </div>
                                    ';
                                }
                                else{        // ip adresse vergleichen und schaun ob er innerhalb von 10 minuten gepostet hat                    
                                    if($user != null && $user != "Bitte Name eingeben" && $msg != null && $msg != "Bitte Mitteilung eingeben"){
                                        $datum = date("Y.m.d - H:i:s");
                                        $ipadresse ="$REMOTE_ADDR";                                
                                        $ergebnis = "";                                        
                                        $result = mysql_query("SELECT timestamp FROM gastebuch WHERE ip = '$ipadresse' ORDER BY TIMESTAMP DESC LIMIT 1");
                                        
                                        if(mysql_num_rows($result) == 0){ // wenn     keine einträge bisher da sind.. dann...                            
                                            $times = time();
                                            mysql_query($eintrag = "INSERT INTO gastebuch(name, mail, mitteilung, datum, ip, timestamp) VALUES ('$user', '$email', '$msg', '$datum','$ipadresse', '$times')");
                                            $gesendet=true;
                                        }                                    
                                        else{ // wenn einträge vorhanden sind dann
                                            $ergebnis = mysql_result($result,0,0);
                                            if($ergebnis + 600 > time()){ // wenn er früher als 10 minuten postet dann... gehts ned
                                                echo "Du kannst erst in 10 Minuten wieder posten!";
                                            }
                                            else{
                                                $times = time(); // ansonsten gehts                                                
                                                mysql_query($eintrag = "INSERT INTO gastebuch(name, mail, mitteilung, datum, ip, timestamp) VALUES ('$user', '$email', '$msg', '$datum','$ipadresse', '$times')");
                                                $gesendet = true;
                                            }
                                        }
                                    }                            
                                    else{
                                        echo'
                                            <div id="again">                                                
                                                Felder leer, nochmal bitte
                                            </div>
                                        ';
                                    }
                                }
                            }
                            $start = 0;
                            $count = 0;    
                            if(!empty($_GET['start']) AND intval($_GET['start'])){ // schaun ob start leer is, bzw. ob start ein integer ist
                                $start = $_GET['start'];
                            }
                            $vor = $start + 3;
                            $zuruck = $start - 3;
                            if($zuruck < 1){
                                $zuruck = 0;
                            }
                            
                            $sql = mysql_query("SELECT name, mail, mitteilung, datum FROM gastebuch ORDER BY datum DESC LIMIT ".$start.",3") OR die(mysql_error());    //gebe nur werte aus zwischen start und 3, insgesamt 3                            
                                                
                                                        
                            echo '<div id="eintrage">'; // einträge ausgeben
                                while($row = mysql_fetch_assoc($sql)){
                                    echo '<b>Datum:</b> '.$row["datum"].'<br>';
                                    echo '<b>Name:</b>'.$row["name"].' @: '.'<a href="mailto:'.$row["mail"].'">'.$row["mail"].'</a><br>';
                                    echo '<b>Mitteilung:</b><br>'.$row["mitteilung"].'<br><br>';
                                    $count++;
                                }
                            echo'</div>';                            
                            if($count >= 3){ // vor button
                                echo'
 
Ist sich ned alles im vorigen Post ausgegangen :p
PHP:
                                    <div id="vor">
                                        <a href="http://www.daniel-zimmermann.at/test/gast.php?start='.$vor.'">Nächste Seite</a><br>
                                    </div>
                                    ';
                            }
                            if($start >= 3){ // zurück button
                                echo'
                                    <div id="back">
                                        <a href="http://www.daniel-zimmermann.at/test/gast.php?start='.$zuruck.'">Letzte Seite</a>
                                    </div>
                                    ';
                            }
                        ?>
                    </div>
                </div>        
    </body>
</html>
 
Nein, du musst die Datei validieren, die du hochgeladen hast.
Der Browser gibt dir nur html-Code aus, und keinen PHP-Code. Und der wird validiert.
 
Werbung:
Werbung:
@ furien

Fang einfach von oben nach unten an.
In XHTML müssen Inhaltsleere Elemente geschlossen werden , zum Beispiel <img src="...." ....... /> durch ein /> am Ende.
Mach das mal mit deiner Verlinkung des Stylesheets und allem, was du im Head hast (Meta-Tags).
Auch mit hr und br musst du das so machen.
 
Wenn ichs hochladen will kommt immer die Meldung:

Sorry, I am unable to validate this document because its content type is application/octet-stream, which is not currently supported by this service.
The Content-Type field is sent by your web server (or web browser if you use the file upload interface) and depends on its configuration. Commonly, web servers will have a mapping of filename extensions (such as ".html") to MIME Content-Type values (such as text/html).
That you received this message can mean that your server is not configured correctly, that your file does not have the correct filename extension, or that you are attempting to validate a file type that we do not support yet. In the latter case you should let us know that you need us to support that content type (please include all relevant details, including the URL to the standards document defining the content type) using the instructions on the Feedback Page

Wenn ichs auf der deutschen Validator Seite hochlade, spuckt er mir einige Fehler aus, kann euch dazu leider keinen Link geben.
 
Werbung:
@Maxi:
Die Seite

@Furien:
..
Ich verstehe nicht, warum er mir sagt, dass ich DIVs so zu schließen habe : </div/>
..
.
Das ist nur ein Folgefehler.
Der erste Fehler beruht darauf, daß <head> nicht rechtzeitig geschlossen wurde. Der body fehlt auch zunächst. Mitten im Inhalt Taucht er dann doch noch auf.
Code:
<head>
  <title>TMNations Fans</title>


</head>


<body>
Da die Seite auch über
Seite/index.php
erreichbar ist, vermute ich fehlerhaft zusammenincludete Dateien.
 
Zuletzt bearbeitet:
Würde ich ja wenns einen gäbe!

Der link in der URL Leiste bleibt aber der Standardlink...
Könnte dir die Datei per PM schicken und du lädst selber mal hoch? Wär das okay?
 
Naja jetzt sagt er das:

Line 13, Column 6: delimiter "/" invalid: only S separators and TAGC allowed here.
</div />
 
Werbung:
@ furien

Falls du jetzt <html /> geschrieben hast - falsch.
Der wird
ja geschlossen (ganz am Ende) und muss hier nur geöffnet werden.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben