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.