验证PHP生成的HTML代码[关闭]

I was wondering if you could help a little bit.

First of all, Im on a high beginners lvl with coding so don't go too hard on me :)

I'm trying to validate a code on my website and I'm getting annoying errors I can't get rid of. Here is the source code:

<div id="mainWrapperbackground">
    <div id="allContentbackground">
        <img src="img/banner.png" alt="banner" id="banner">
        <img src="img/left.jpg" alt="leftside" id="left">
        <img src="img/right.jpg" alt="rightside" id="right">
        <img src="img/nav.png" alt="navigation" id="fullnav">
        <img src="img/poleright.png" alt="poleright" id="poleright">
        <img src="img/poleleft.png" alt="poleleft" id="poleleft">
        <img src="img/footer.jpg" alt="footer" id="footerimg">
        <form method="get" action="/search" id="search">
            <input name="index.php?page=recipe1" type="text" size="40" placeholder="Search..." >
        </form>

        <div id="footer">
            <em>Rising Cupcakes | Fairystreet 182st | 4500 Wonderland | Tel. +88 21 45 65</em>
        </div></div></div>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <link href="styles.css" rel="stylesheet" />
        <title>Cupcake Lovers</title>
    </head>
    <body>
        <div id="mainWrapper">
            <div id="allContent">
                <div id="mainWrapperbackground"> 
                    <div id="allContentbackground"> 
                        <nav id="global-nav"> 
                            <a href="index.php?page=contact"> <img src="img/contactb.png" alt="contactb" id="contactb"></a> <a href="index.php?page=guestbook"><img src="img/guestbookb.png" alt="guestbookb" id="guestbookb"></a> <a href="index.php?page=newsletter"><img src="img/newsletterb.png" alt="newsletterb" id="newsletterb"></a> <a href="index.php?page=history"><img src="img/historyb.png" alt="historyb" id="historyb"></a> <a href="mailto:cupcake@recipes.dk"><img src="img/maillogo.png" alt="maillogo" id="maillogo"></a> <a href="http://www.facebook.com"><img src="img/fblogo.png" alt="facebooklogo" id="fblogo"></a> <a href="index.php?page=home"><img src="img/homeb.png" alt="homeb" id="homeb"></a> <a href="index.php?page=recipegallery"><img src="img/recipesb.png" alt="recipesbutton" id="recipesb"> </a> 
                        </nav> 
                        <img src ="img/cupcake.png" alt="cupcake" id="cupcake"> 
                        <div id="homehead"> 
                        <h5>Welcome!
                    </h5> 
                </div> 
                <p class="first">Welcome to <b>"Cupcake Lovers"!</b>
                <br>
                    <br> 
                        We have opened this homepage to introduce you to Celina's 6 most famous cupcake recipes.
                        <br> 
                            Celina's recipes follow the principle of being easy to make, beautiful to look at, and delicious to eat!
                            <br> 
                                If like Celina, cupcakes are your passion, then go learn about the history of cupcakes or join our 
                                <br>
                                    newsletter and get updates about what's going on in the world of cupcakes. 
                                    <br>
                                        <br>
                                            Don't forget to sign our guestbook!
                                            <br>
                                                <br>
                                                    Happy baking,
                                                    <br>
                                                        <em>Celina's cupcakes for Cupcake Lovers</em>
                                                        <br> 
                                                            ----------------------------------------------------------------------------------------------------------------------------- 
                                                        </p> 
                                                    </div>
                                                </div>
                                            </body>
                                        </html>

The validator says: Line 3, Column 1: no document type declaration; will parse without validation (If I put in this file, then it validates with a whole bunch of errors) Line 19, Column 3: "DOCTYPE" declaration not allowed in instance Line 20, Column 6: document type does not allow element "HTML" here

But the thing is I am not using any html tags like fx. in these files, I just let the php file generate it for me.

My index.php looks like this:

<?php

include "magic-1.4.php";    
include "background.php";   

$page = new Page(); 
$title = "Cupcake Lovers"; 
$href = "styles.css";
$page->title($title)->css($href); 
$wrapper = html("div")->id("mainWrapper"); 
$content = html("div")->id("allContent");   

$content->append(file_get_contents("views/nav.php"));   

$section = new HtmlElm("section");

$request = new Controller(); 
if($request->has("page")){
    $requestedPage = $request->get("page"); 
}
else{
    $requestedPage = 'home'; 
}

if($requestedPage=="home"){
    $content->append(file_get_contents("views/home.php"));
}   

$wrapper->append($content); 
$page->body($wrapper);

//convert the page object to HTML and echo it to browser echo
$page->asHTML();

So my question is, what am I doing wrong, because php generates like 3 html pages and then it validates really wrong.

The <!DOCTYPE html> needs to be the very first thing the browser sees, so it needs to go before everything else. The <div id="mainWrapperbackground"> needs to go into the <body>. After this, you need to go through the errors the validator shows one by one.