det virker stadig ikke : Parse error: parse error in c:\\gbog\\gbog.php on line 107
Nu poster jeg alså hele siden:
<?php
#####################################################################
# #
# Dette er en simpel gæstebog, stillet til rådighed af webcafe.dk #
# Skidtet er klampret sammen af claus@webclaus.com #
# #
# Gennemgang af kode samt installationsvejledning finder du på: #
# #
#
http://webcafe.dk/php/artikler/205/phpa205.php3 #
# #
#####################################################################
require(\"gbog/gbog-ting/mysql-funktioner.php\");
require(\"gbog/gbog-ting/design-funktioner.php\");
require(\"gbog/gbog-ting/indstillinger.php\");
#
# Når folk kigger på gBogen første gang har de ikke noget $start_nr, så vi giver dem et nul,
# så de starter med det nyeste indlæg.
# Hvis en skuummel gæst selv prøver at sætte $start_nr kan den ende med at blive under nul,
# når man bruger navigationen. Hvis den er under nul laver vi den også om til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input
#
if(!$start_nr || $start_nr < 0) {
$start_nr = 0;
}
#
# Udskriver den første stump HTML
#
echo top(\"Gæstebog\");
#
# Vi henter to ting ud af MySQL - først og fremmest alle de indlæg vi skal kigge på
# men også en hurtig optælling af, hvor mange indlæg der er ialt. Det sidste skal vi
# bruge når vi bygger \"frem\"- og \"tilbage\"-links.
#
# Der er ingen grund til at åbne databasen endnu - vi skal først lige have bygget
# de to forespørgsler.
#
$sql = \"select id, navn, epost, date_format(tid, \'%e/%c %Y, %H:%i\') as tiden, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen\";
$taeller_sql = \"select count(*) as antal from gaestebog\";
#
# Nu åbner vi databasen, hiver informationerne ud og lukker med det samme igen.
# Det er god skik at en forbindelse til database ikke er åben længere end højst nødvendigt.
#
# Abstraktionerne fra mysql-funktioner.php sørger for alt det grove arbejde og fejlhåndtering - dejligt.
#
aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
$optaelling = sql_spoerg_og_faa_svar($taeller_sql);
luk_forbindelse();
#
# Så går vi igang med at bygge navigationen
# Først bruger vi extract til at få $antal ud til behandling.
# Vi looper ikke igennem resultatet, da vi ved der kun er een række,
# så vi tilgår den direkte ved $optaelling[0].
#
extract($optaelling[0]);
#
# Skal der laves et links til flere indlæg?
#
if($antal > ($start_nr + $antal_ad_gangen)) {
$naeste_start_nr = $start_nr + $antal_ad_gangen;
$naeste_nav = \"<a href=\\\"$PHP_SELF?start_nr=$naeste_start_nr\\\">Næste</a>\";
} else {
$naeste_nav = \"<span class=\\\"doedt-link\\\">Næste</span>\";
}
#
# Skal der laves link til forrige indlæg?
#
if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {
$forrige_start_nr = $start_nr - $antal_ad_gangen;
$forrige_nav = \"<a href=\\\"$PHP_SELF?start_nr=$forrige_start_nr\\\">Forrige</a>\";
} else {
$forrige_nav = \"<span class=\\\"doedt-link\\\">Forrige</span>\";
}
#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#
$nav = \"<table width=\\\"$tabel_bredde\\\" border=\\\"0\\\" cellpadding=\\\"5\\\" cellspacing=\\\"0\\\">
<tr><td align=\\\"left\\\" width=\\\"33%\\\">$forrige_nav</td>
<td align=\\\"center\\\" width=\\\"34%\\\"><td align=\\\"center\\\" width=\\\"34%\\\">
<A href=\"$PHP_SELF?side=gbog/skriv\">Skriv</A>
</td></td>
<td align=\\\"right\\\" align=\\\"33%\\\">$naeste_nav</td></tr>
</table>\";
#
# Og skriver tabellen ud med det samme:
#
echo \"$nav <p />\";
#
# Her begynder det egentlig interesante - vi looper os igennem de enkelte indlæg
# og skriver dem ud til skærmen.
#
# Hvis forespørgslen ikke har returneret nogle resultater, springer vi alt dette over.
#
if(count($resultat) < 1) {
echo \"Der er ingen indlæg i gBogen\";
} else {
for($i=0;$i<count($resultat);$i++) {
#
# Med extract får vi smidt værdierne i variabler
#
extract($resultat[$i]);
#
# Vi brugte addslashes() da vi lagde tingene i databasen så for at få det til
# at se læseligt ud, fjerne vi dem igen med stripslashes()
#
$besked = stripslashes($besked);
$navn = stripslashes($navn);
$epost = stripslashes($epost);
#
# Hvis der ikke må bruges HTML fjerner vi lige alle tags med htmlentities()
#
if($html_p != \"t\") {
$navn = htmlentities($navn);
$epost = htmlentities($epost);
$besked = htmlentities($besked);
}
#
# For at vi får linjeskift i HTML også, bruger vi nl2br til at skifte alle \\n
# ud med <br>
$besked = nl2br($besked);
#
# Vi laver et simpelt check: Hvis eposten indeholder et snabel-a, så laver
# vi det til en mailto:
#
# Dette er dog ingen garanti for, at eposten er gyldig.
#
if(ereg(\"@\", $epost)) {
$navn = \"<a href=\\\"mailto:$epost\\\">$navn</a>\";
}
#
# Så er alt klart til browseren og vi spytter en tabel ud med denne besked.
# Hvis du vil ændre markant i udseendet af din gæstebog, så er det
# i blokken herunder det foregår. Du skal bare beholde de givne navne i
# <input>-tagsene.
#
# Vi hopper lige ud af PHP-mode lidt, så vi er fri for at escape alle gåseøjnene.
#
?>
<table width=\"<?php echo $tabel_bredde; ?>\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">
<tr><td class=\"gbog-baggrund\" width=\"100%\" align=\"center\">
<table border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">
<tr><td class=\"gbog-top\" width=\"100%\">Skrevet af: <strong><?php echo $navn; ?></strong>, <?php echo $tiden; ?></td></tr>
</table>
</td></tr><tr><td class=\"gbog-baggrund\" align=\"center\" width=\"100%\">
<table border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">
<tr><td class=\"gbog-bund\" width=\"100%\">
<?php echo $besked; ?>
<p align=\"right\"><a class=\"slet\" href=\"<?php echo \"slet.php?id=$id&start_nr=$start_nr\"; ?>\">slet</a></p></td></tr>
</table>
</td></tr>
</table><p />
<?php
#
# Vi hopper tilbage i PHP-mode.
#
# Her slutter loopet og PHP springer tilbage og går hele turen igennem med den næste
# besked. Når der ikke er flere indlæg i denne omgang går PHP videre.
#
}
#
# Endelig skriver vi frem- og tilbage-links på i bunden af siden også.
#
echo $nav;
#
# Her slutter if-else-konstruktionen der fanger, om der er nogle indlæg overhovedet.
#
}
#
# Og spytter den sidste stump HTML ud.
#
echo bund();
?>