All pastes #456283 Raw Edit

henner

public text v1 · immutable
#456283 ·published 2007-04-24 19:14 UTC
rendered paste body
<?php


require("mysql-funktioner.php");
?>
<? $strTitle="Gæstebog";?>
<? include("head.inc"); ?>
</head>

<body>

<h1><font size="1" face="Tahoma"><? echo $strTitle; ?></font></h1>

<div id="indhold">

<font size="1" face="Tahoma">

<?php
require("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'];
}

# Sæt første $start_nr til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input

if(!$start_nr || $start_nr < 0) {
  $start_nr = 0;
}

# Hent data ud af MySQL - tæl antal indlæg.

$sql = "select id, navn, epost, date_format(tid, '%e/%c %Y, %H:%i:%s') as tiden, subject, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen";
/* $sql = "select id, navn, epost, date("j/n/Y", strtotime($data["date_time"])) as tiden, subject, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen"; */
$taeller_sql = "select count(*) as antal from gaestebog";

aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
$optaelling = sql_spoerg_og_faa_svar($taeller_sql);
luk_forbindelse();

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 class=\"tlink\" href=\"$PHP_SELF?start_nr=$naeste_start_nr\">Næste&nbsp;</a>";

} else {

	$naeste_nav = "<span class=\"doedt-link\">Næste&nbsp;</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 class=\"tlink\" href=\"$PHP_SELF?start_nr=$forrige_start_nr\">&nbsp;Forrige</a>";

} else {

	$forrige_nav = "<span class=\"doedt-link\">&nbsp;Forrige</span>";

}

# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.

$nav = "<div>
<p style=\"width:25%;float:right;text-align:right;\">$naeste_nav</p>
<p style=\"width:25%;float:left;\">$forrige_nav</p>
</div>";

echo "$nav\n\n";

# Skriv de enkelte indlæg ud til skærmen.
# Hvis forespørgslen ikke har returneret nogle resultater, springer vi alt dette over.

if(count($resultat) < 1) {

   echo "<p>Der er ingen indlæg i gæstebogen</p>";

} 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);
		$subject = htmlentities($subject);
		$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:

	if(ereg("@", $epost)) {
		$navn = "<a class=\"tlink\" href=\"mailto:$epost\">$navn</a>";
	}

	# Så er alt klart til browseren og vi lægger data ud i en css-tilpassede div.
	
$navn=str_replace("@","&#64;", $navn);
$navn=str_replace(".","&#46;", $navn);

?>

	</font>

	<div style="clear:both;border:1px solid #ccf; margin-bottom:10px; padding:5px;">
		<p class="mb"><font size="1" face="Tahoma">Den <?php echo $tiden; ?> skrev <?php echo $navn; ?></font></p>
		
		<p class="mt mb gbs"><font size="1" face="Tahoma"><?php echo $subject; ?></font></p>

		<p class="mt"><font size="1" face="Tahoma"><?php echo $besked; ?></font></p>
	</div>

<font size="1" face="Tahoma">

<?php

  # 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;

}


?>

</font>

</div>

<div id="menu"><font size="1" face="Tahoma"><? include("menu.inc"); ?></font></div>

</body>
</html>