Ik heb een paar dagen gewerkt aan een klein scriptje, wat vinden jullie er van. Zitten er bijv. fouten in
<?php
//Debug mode aan/uit
define('DEBUG_MODE', true);
//Start de sessie
session_start();
//Geeft (indien sprake van ) errors weer
error_reporting(E_ALL);
//laat menu bovenaan de pagina zien
include 'inc/header.html';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Framset//EN">
<html>
<head>
<!-- Laat javascript popup zien -->
<script type"text/javascript">
{
alert("Welkom")
}
</script>
<title>Homepage</title>
</head>
<body>
Hallo.<br>Welkom op onze website
</body>
</html>
<?php
//Laat copyright tekst onderaan zien
include 'inc/footer.html';
?>
Je volgorde klopt niet helemaal.
Waarom include je de header en je footer buiten je html code ?
En session_start(); moet je altijd bovenaan zetten dus zo iets:
<?php
//Start de sessie
session_start();
//Geeft (indien sprake van ) errors weer
error_reporting(E_ALL);
//Debug mode aan/uit
define('DEBUG_MODE', true);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Framset//EN">
<html>
<head>
<!-- Laat javascript popup zien -->
<script type"text/javascript">
{
alert("Welkom")
}
</script>
<title>Homepage</title>
</head>
<body>
<?php
//laat menu bovenaan de pagina zien
include 'inc/header.html';
?>
Hallo.<br>Welkom op onze website
<?php
//Laat copyright tekst onderaan zien
include 'inc/footer.html';
?>
</body>
</html>
Als je ons wilt laten zien wat er in header.html en footer.html zit kan k wat meer kijken naar de fouten. Want op het moment staat er eigenlijk nog niet zo veel in.
Tevens raad ik je aan om je website in HTML5 te schrijven.
- het doctype. waarom 4.01 frameset. volgens mij zijn we het er allemaal over eens dat dat crap is. ik zou zeggen, gebruik <!doctype html> (html5)
- ik mis de verplichte <meta charset=utf-8> direct na de <head> tag
- <title> voor <script> niet erna
- tekst in een <p> tag.
- ik mis haakjes bij de include. niet verplicht, maar is wel netter, en geeft een hoop overzichtelijkheid.
- ik mis haakjes bij de include. niet verplicht, maar is wel netter, en geeft een hoop overzichtelijkheid.
Ik gebruik nooit haakjes bij een include. Je gebruikt toch ook geen haakjes bij echo?
Het gebruik van haakjes heeft geen meerwaarde en geeft ook geen extra overzichtelijkheid.
@Maurice vB
Ik ben beginner in PHP, dus werkt ik niet zo snel
@jeroen vd
Ik gebruik eigenlijk nooit het doc type, eerste keer dat ik die zelf type. Heb geen ervaring me de verschillende types, dus ik probeer ze even uit
begin dan gelijk alvast met <!doctype html>. als je het leert, leer het dan meteen goed, toch?
ozzie, zo geef ik aan of je gebruik maakt van een functie (wat include is) of ja... een functie (wat echo is). ikzelf gebruik de primaire functies van php (dingen zoals operators, echo's) zonder haakjes, maar functies die wat uitgebreider zijn (zoals dus die include()) met haakjes. klinkt een beetje vaag, en dat is het ook, maar een functie is bij mij met haakjes, en een echo vind ik meer een commando.
luister maar niet naar mij, want daar schiet je niets mee op. ik kan het niet goed uitleggen.
[size=xsmall]Toevoeging op 28/05/2012 16:40:58:[/size]
@koen, vier hrefjes hoef je niet apart te includen hoor. die kunnen gewoon op je pagina.
je hebt heel veel verschillende doctypes. voor elke versie van HTML (1 tot 5) en voor elke versie van XHTML (volgens mij 2 versies). en vaak ook nog meerdere doctypes, zoals je 4.01 hebt en 4.01 frameset.
met het doctype geef je aan welke versie van HTML je gebruikt. in je zelf getypte doctype geef je aan dan je 4.01 gebruikt, maar tegenwoordig zitten we aan 5. daarom is het nu verstandiger voortaan 5 te gaan gebruiken (nu maakt het niet zoveel uit in kleinere projecten zoals deze, maar in grotere projecten kan het een verschil maken
Jeroen, ik zou juist aanraden om dingen als echo en include enzo zonder haakjes te gebruiken. Dit zijn namelijk language-constructs en dat zijn eigenlijk niet helemaal echte functies. Het staat dus stukken beter om deze zonder haakjes te doen. Een voorbeeld van alle soorten functies en hoe ik ze afhandel:
<?php
// constrol structure keywords => 1 spatie tussen naam en haakjes
if ($foo === 'Hello World') {
// language construct => geen haakjes
echo $foo;
} else {
// functie => haakjes en geen spaties
echo substr($foo, 1, 4);
}
?>
[hr]
Tevens is <!doctype html> niet per se een HTML5 doctype, maar gewoon een doctype vanuit het browser oogpunt. De rest wat er in het doctype staat merkt de browser niet eens en dus kun je veel beter gewoon deze makkelijke variant gebruiken.
[sideinformatie]
Het doctype is pas bedacht in HTML2 dus een HTML1 doctype bestaat niet. Een overzicht van alle doctypes die er ooit geweest zijn: http://www.w3.org/QA/2002/04/valid-dtd-list.html
[/sideinformatie]