nu er linket slettet.
OBS. OBS.
<img src="DITBILLEDE" alt="" border="0">
DITBILLEDE: hvor det billede du vil havde ind ligger
<?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/artikler/php/phpmysqlgaestebog/ #
# #
#####################################################################
require("./gbog-ting/mysql-funktioner.php");
require("./gbog-ting/design-funktioner.php");
require("./gbog-ting/indstillinger.php");
#
# Vi skal have fat i vores variabler, uanset hvilken version af PHP der bruges
#
if(is_array($HTTP_GET_VARS)) {
$start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
$start_nr = $_GET['start_nr'];
}
#
# 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("Min Gæstebog");
echo "<p>Et aktivt eksempel til en <a href=\"./\">artikel</a> på webcafe.dk</p>";
#
# 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%\"><a href=\"skriv.php\">Skriv</a></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%">
<!--
kunne evt. være:
<img src="DITBILLEDE" alt="<?php echo $besked;?>" border="0">
-->
<img src="DITBILLEDE" alt="" border="0">
<?php echo $besked; ?>
</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();
?>