Avatar billede venchil Nybegynder
04. december 2005 - 16:46 Der er 2 kommentarer og
1 løsning

Hjælp med Gæstebog

Jeg er ved at bygge nye funktioner på min gamle gæstebog. Herunder er også et paging-system. Det virker fint på mit nyhedssystem, men desværre ikke på min gæstebog:

<?php

%%%%%CONNECT%%%%%

$offset = (isset($_GET[offset])) ? $_GET[offset] : 0;

$pr_side = 6;



$y_ip = $_SERVER["REMOTE_ADDR"];

$y_forfatter = addslashes($_REQUEST["forfatter"]);

$y_hjemmeside = addslashes($_REQUEST["hjemmeside"]);

$y_besked = addslashes($_REQUEST["besked"]);

$y_tid = date("d-m-Y G:i");

$sendtest = $_REQUEST["sendtest"];



if (!empty($besked) && !empty($forfatter)) {

$insertSQL = "insert into gaestebog (forfatter, hjemmeside, besked, tid, ip)

              values ('". $y_forfatter ."','". $y_hjemmeside ."','".$y_besked ."','". $y_tid ."','".$y_ip ."')";

mysql_query($insertSQL);

}



echo "<table width='100%' align='center'><tr><td>Velkommen til min gæstebog. Det er her du må skrive ris/ros, kommentarer, idéer mm. Jeg vil hellere end gerne have at du lægger en kommentar. Alligevel må jeg sætte nogle regler, som du kan <a href='?id=content_regler.html'>læse her</a></td></tr></table>";

echo "<p>";



if (empty($y_forfatter) || empty($y_hjemmeside) || empty($y_besked)) {

if (!empty($sendtest)) {

echo "Husk, at felterne \"Navn\" og \"Besked\" SKAL udfyldes<p>";

}

}

$hent = mysql_query("SELECT * FROM gaestebog ORDER BY id DESC LIMIT $offset,$pr_side");



if(mysql_num_rows($hent) > 0) {



while ($vis = mysql_fetch_assoc($hent)) {



$url = stripslashes(htmlentities($vis['hjemmeside']));

$forfatter = stripslashes(htmlentities($vis['forfatter']));

$besked = nl2br(stripslashes(htmlentities($vis['besked'])));

$id = $vis['id'];



if(!strstr($url, "http://")) $url = "http://".$url;



  static $i = 0;

  $i++;

  $class = ($i%2==1) ? 'entry1' : 'entry2';



echo "<div class=\"". $class ."\">";

echo "<b><a href=\"".$url."\" target='_blank'>". $forfatter ."</a></b> - ". $vis['tid'] ."<br>";

echo $besked ."<p />";

echo "</div>";

echo "<br>";

}

}

else {

echo "<div class='entry1'>";

echo "Der er desværre ikke nogen der har skrevet i gæstebogen endnu. Du kan blive den første!";

echo "</div>";

echo "<br>";

}

//FEJLOMRAADE_START
if ($antal > $pr_side) {

echo "<div align='center'>";


    if ($offset >= $pr_side) {

    $forrige = $offset-$pr_side;

    echo "<a href='?id=gaestebog&amp;offset=$forrige'>Forrige</a> ";

    }



    echo " ";



    $page = 1;

    for ($i=0; $i<$antal; $i+=$pr_side)

    {

        echo ($i == $offset)

            ? "<b>$page</b> "

            : "<a href='?id=gaestebog&amp;offset=$i'>$page</a> ";

        $page++;

    }



    if ($antal > $offset+$pr_side) {

    $naeste = $offset+$pr_side;

    echo "<a href='?id=gaestebog&amp;offset=$naeste'>Næste</a>";

    }


    }

echo "</div>";

}
//FEJLOMRAADE_SLUT


echo "<form action='?id=gaestebog' method='post'>";

echo "Navn:";

echo "<br><input type='text' name='forfatter' value='$y_forfatter'>";

echo "<p>";

echo "Hjemmeside:";

echo "<br><input type='text' name='hjemmeside' value='$y_hjemmeside'>";

echo "<p>";

echo "Besked:";

echo "<br><textarea name='besked' cols='100' rows='10'>$y_besked</textarea>";

echo "<br><input type='hidden' name='sendtest' value='sendtest'>";

echo "<input type='submit' value='Skriv'>";

echo "</form>";

?>

Har markeret området hvor jeg ved fejlen er med //FEJLOMRAADE_START og //FEJLOMRAADE_SLUT
Avatar billede Slettet bruger
05. december 2005 - 06:34 #1
Prøv i første omgang at rette:

if ($offset >= $pr_side) {

til

if ($offset > 0) {
Avatar billede Slettet bruger
05. december 2005 - 06:40 #2
Derudover kan jeg ikke se noget sted, hvor $antal får en værdi.

Dertil skal du bruge en query i stel med SELECT COUNT(*) AS antal FROM gaestebog
Avatar billede venchil Nybegynder
03. februar 2006 - 11:53 #3
Lukker spm, intet hjalp :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester