Avatar billede woogoo Nybegynder
22. februar 2004 - 12:42 Der er 9 kommentarer og
1 løsning

Tagwall Hjælp.

Hej eksperter..

Jeg sidder her med et tagwall script:

<?php
include("connect.php");
include("functions.php");

    //Hvis feltet besked er tomt, sakl der ikke lægges noget i DB'en
    if(isset($_POST["tagwall"])) {
        if(trim($_POST["besked"]) == "") {
    header("Location:". $_SERVER["PHP_SELF"] ."");
    exit;
    }

        if(trim($_POST["navn"]) == "") {
    $_POST["navn"] = "Anonym";
    }

    mysql_query("INSERT INTO `tagwall` (`navn`, `email`, `url`, `tekst`, `tid`, `ip`) VALUES (". toData($_POST["navn"]) .",". toData($_POST["email"]) .",". toData($_POST["homepage"]) .",". toData($_POST["besked"]) .",". toData(time()) .",". toData($_SERVER["REMOTE_ADDR"]) .")") or die (mysql_error());
    header("Location:". $_SERVER["PHP_SELF"] ."");
    exit;
}
?>
<html><head><title>Tagwall<?php
if(isset($_GET["vis"])) {
echo", vis=". $_GET["vis"];
}
?></title></head>
<style type="text/css">
body {color: black; font-family: verdana;}
td, th {font-family: verdana; font-size: 0.8em;}
a:link {color: #660000; text-decoration: underline;}
a:visited {color: #660000; text-decoration: underline;}
a:hover {color: #006699; text-decoration: none;}

a.top:link {color: #FFCC00; text-decoration: underline;}
a.top:visited {color: #FFCC00; text-decoration: underline;}
a.top:hover {color: #FFCC00; text-decoration: none;}

.input {color: black; background-color: #ffffff; border-color: black; border-width: 1px;}
.submit { border-color: black; border-width: 1px; font-size: 0.8em;}
.small {font-size: 0.7em;}
.small2 {font-size: 0.7em; padding-left: 8px;}
.left {padding-left: 8px;}
.tr {background-color: #666666; color: white;}
</style>

<body background="../images/index1_07.gif" properties="fixed">
<center>
    <div class="big"><img src="tag.gif" width="160" height="48"></div>
<?php
$start = 0;
if(isset($_GET["vis"]) && $_GET["vis"] >= 0 && is_numeric($_GET["vis"])) {
$start = $_GET["vis"];
}
$indlaeg = mysql_query("SELECT * FROM `". $tablename ."` ORDER BY `tid` DESC LIMIT ". $start.",". $antalviste ."") or die (mysql_error());
if(mysql_num_rows($indlaeg) == 0) {
echo"<br>\nDesv&aelig;rre ingen indl&aelig;g at vise<br>";

}else{

echo"<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"600\">";
while($vis = mysql_fetch_object($indlaeg)) {
echo"<tr class=\"tr\">\n";
echo"    <td class=\"small\">Indl&aelig;g af ". toHtml($vis->navn) ."</td>\n";
echo"    <td class=\"small2\">email: ". lj_web_link($vis->email, "top") ."</td>\n";
echo"    <td class=\"small2\">www: ". lj_web_link($vis->url, "top") ."</span></td>\n";
echo"</tr><tr>\n";
echo"    <td valign=\"top\" class=\"small2\" colspan=\"3\">Skrevet ". tidspunkt($vis->tid) ."<br>\n";
echo"<div class=\"left\">". br(lj_web_link(toHtml($vis->tekst), "")) ."</div></td>\n";
echo"</tr>\n";
    }
echo"</table>\n";
}
mysql_free_result($indlaeg);

$ialt = mysql_query("SELECT `id` FROM `". $tablename ."`") or die (mysql_error());
$antal = mysql_num_rows($ialt);

//Skal der være links for frem og tilbage?
if(mysql_num_rows($ialt) > $antalviste) {
    if(!isset($_GET["vis"]) || !is_numeric($_GET["vis"]) || $_GET["vis"] < 0) {
    $back = "&nbsp;";
    $next = pagelink($antalviste, "frem") ." &nbsp; ". pagelink(($antal-$antalviste), ">>");
    $info = "1 - ". $antalviste ." af ". $antal;
    }else{
    $info = ($_GET["vis"]+1) ." - ". ($_GET["vis"]+$antalviste) ." af ". $antal;
        if($_GET["vis"] <= $antalviste || $_GET["vis"] >= $antal) {
        $link = "";
        }else{
        $link = ($_GET["vis"]-$antalviste);
        }
        $back = pagelink("", "<<") ." &nbsp; ". pagelink($link, "tilbage");

        if(($_GET["vis"]+$antalviste) >= $antal) {
        $next = "&nbsp;";
        $info = ($_GET["vis"]+1) ." - ". $antal ." af ". $antal;
        }else{
        $next = pagelink(($_GET["vis"]+$antalviste), "frem");
            if($_GET["vis"] < ($antal-$antalviste)) {
            $next = $next ." &nbsp; ". pagelink(($antal-$antalviste), ">>");
            }
        }
    }
?>


<table width="480" border="0"><tr>
    <td width="33%" class="small"><?php echo $back; ?></td>
    <td width="34%" class="small" align="center"><?php echo $info; ?></td>
    <td width="33%" class="small" align="right"><?php echo $next; ?></td>
</tr></table>
<?php
mysql_free_result($ialt);
//Slut på tjek om der var nogle indlæg at vise
}
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="hidden" name="tagwall" value="tagwall">
<table border="0" cellspacing="2" cellpadding="0"><tr>
    <td>Your name:<br>
<input type="text" name="navn" size="32" class="input"></td>
</tr><tr>
    <td>Your email:<br>
<input type="text" name="email" size="32" class="input"></td>
</tr><tr>
    <td>Your Homepage:<br>
<input type="text" name="homepage" size="32" class="input"></td>
</tr><tr>
    <td>Tag:<br>
<textarea cols="40" rows="6" name="besked" class="input"></textarea><center>
<input type="submit" value="Add Tag" class="submit"></center></td>
</tr></table>
</form>
</center>
</body></html>

-------------------------
Problemet er at Tag'sne er OVER input felterne.. og vil gerne ha rykket dem ned under? er der nogen der kan hjælpe mig med det? :P
Avatar billede schaefner Juniormester
22. februar 2004 - 12:45 #1
Prøv:

<?php
include("connect.php");
include("functions.php");
    //Hvis feltet besked er tomt, sakl der ikke lægges noget i DB'en
    if(isset($_POST['tagwall'])) {
        if(trim($_POST['besked']) == "") {
            header("Location:". $_SERVER['PHP_SELF']);
            exit;
        }

        if(trim($_POST["navn"]) == "") {
    $_POST["navn"] = "Anonym";
    }

    mysql_query("INSERT INTO `tagwall` (`navn`, `email`, `url`, `tekst`, `tid`, `ip`) VALUES (". toData($_POST["navn"]) .",". toData($_POST["email"]) .",". toData($_POST["homepage"]) .",". toData($_POST["besked"]) .",". toData(time()) .",". toData($_SERVER["REMOTE_ADDR"]) .")") or die (mysql_error());
    header("Location:". $_SERVER["PHP_SELF"] ."");
    exit;
}
?>
<html><head><title>Tagwall<?php
if(isset($_GET["vis"])) {
echo", vis=". $_GET["vis"];
}
?></title></head>
<style type="text/css">
body {color: black; font-family: verdana;}
td, th {font-family: verdana; font-size: 0.8em;}
a:link {color: #660000; text-decoration: underline;}
a:visited {color: #660000; text-decoration: underline;}
a:hover {color: #006699; text-decoration: none;}

a.top:link {color: #FFCC00; text-decoration: underline;}
a.top:visited {color: #FFCC00; text-decoration: underline;}
a.top:hover {color: #FFCC00; text-decoration: none;}

.input {color: black; background-color: #ffffff; border-color: black; border-width: 1px;}
.submit { border-color: black; border-width: 1px; font-size: 0.8em;}
.small {font-size: 0.7em;}
.small2 {font-size: 0.7em; padding-left: 8px;}
.left {padding-left: 8px;}
.tr {background-color: #666666; color: white;}
</style>

<body background="../images/index1_07.gif" properties="fixed">
<center>
    <div class="big"><img src="tag.gif" width="160" height="48"></div>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="tagwall" value="tagwall">
<table border="0" cellspacing="2" cellpadding="0"><tr>
    <td>Your name:<br><input type="text" name="navn" size="32" class="input"></td>
</tr><tr>
    <td>Your email:<br><input type="text" name="email" size="32" class="input"></td>
</tr><tr>
    <td>Your Homepage:<br><input type="text" name="homepage" size="32" class="input"></td>
</tr><tr>
    <td>Tag:<br><textarea cols="40" rows="6" name="besked" class="input"></textarea><center><input type="submit" value="Add Tag" class="submit"></center></td>
</tr></table>
</form>

<?php
$start = 0;
if(isset($_GET['vis']) && $_GET['vis'] >= 0 && is_numeric($_GET['vis'])) {
    $start = $_GET['vis'];
}
$indlaeg = mysql_query("SELECT * FROM `". $tablename ."` ORDER BY `tid` DESC LIMIT ". $start.",". $antalviste ."") or die (mysql_error());
if (mysql_num_rows($indlaeg) == 0) {
    echo"<br>\nDesv&aelig;rre ingen indl&aelig;g at vise<br>";
} else {
    echo"<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"600\">";
    while($vis = mysql_fetch_object($indlaeg)) {
        echo"<tr class=\"tr\">\n";
        echo"    <td class=\"small\">Indl&aelig;g af ". toHtml($vis->navn) ."</td>\n";
        echo"    <td class=\"small2\">email: ". lj_web_link($vis->email, "top") ."</td>\n";
        echo"    <td class=\"small2\">www: ". lj_web_link($vis->url, "top") ."</span></td>\n";
        echo"</tr><tr>\n";
        echo"    <td valign=\"top\" class=\"small2\" colspan=\"3\">Skrevet ". tidspunkt($vis->tid) ."<br>\n";
        echo"<div class=\"left\">". br(lj_web_link(toHtml($vis->tekst), "")) ."</div></td>\n";
        echo"</tr>\n";
    }
    echo"</table>\n";
}
mysql_free_result($indlaeg);

$ialt = mysql_query("SELECT `id` FROM `". $tablename ."`") or die (mysql_error());
$antal = mysql_num_rows($ialt);

//Skal der være links for frem og tilbage?
if(mysql_num_rows($ialt) > $antalviste) {
    if(!isset($_GET["vis"]) || !is_numeric($_GET["vis"]) || $_GET["vis"] < 0) {
    $back = "&nbsp;";
    $next = pagelink($antalviste, "frem") ." &nbsp; ". pagelink(($antal-$antalviste), ">>");
    $info = "1 - ". $antalviste ." af ". $antal;
    }else{
    $info = ($_GET["vis"]+1) ." - ". ($_GET["vis"]+$antalviste) ." af ". $antal;
        if($_GET["vis"] <= $antalviste || $_GET["vis"] >= $antal) {
        $link = "";
        }else{
        $link = ($_GET["vis"]-$antalviste);
        }
        $back = pagelink("", "<<") ." &nbsp; ". pagelink($link, "tilbage");

        if(($_GET["vis"]+$antalviste) >= $antal) {
        $next = "&nbsp;";
        $info = ($_GET["vis"]+1) ." - ". $antal ." af ". $antal;
        }else{
        $next = pagelink(($_GET["vis"]+$antalviste), "frem");
            if($_GET["vis"] < ($antal-$antalviste)) {
            $next = $next ." &nbsp; ". pagelink(($antal-$antalviste), ">>");
            }
        }
    }
?>

<table width="480" border="0"><tr>
    <td width="33%" class="small"><?php echo $back; ?></td>
    <td width="34%" class="small" align="center"><?php echo $info; ?></td>
    <td width="33%" class="small" align="right"><?php echo $next; ?></td>
</tr></table>
<?php
mysql_free_result($ialt);
//Slut på tjek om der var nogle indlæg at vise
}
?>

</center>
</body>
</html>
Avatar billede woogoo Nybegynder
22. februar 2004 - 12:57 #2
tak du.. :) ehm.. tror du at du kan hjælpe mig med at gøre sådan at hvis man fx skriver: :), :S , :( eller :|.. så kommer der en smiley (grafisk)...
Avatar billede schaefner Juniormester
22. februar 2004 - 13:04 #3
function insertSmiley($str) {
    $smileys_find = array(':)',':S');
    $smileys_replace = array('<img src="smiley.gif">','<img src="s.gif">');
    return str_replace($smileys_find,$smileys_replace,$str);
}

echo"<div class=\"left\">".insertSmiley(br(lj_web_link(toHtml($vis->tekst), ""))) ."</div></td>\n";

mvh:jesper.sørensen
Avatar billede woogoo Nybegynder
22. februar 2004 - 13:11 #4
hvor skal det sættes ind?
Avatar billede schaefner Juniormester
22. februar 2004 - 13:14 #5
insertSmiley-funktionen kan du f.eks. indsætte i din fil functions.php

echo"<div class=\"left\">".insertSmiley(br(lj_web_link(toHtml($vis->tekst), ""))) ."</div></td>\n";

Er der hvor du udskriver din tekst. Før så den således ud:

echo"<div class=\"left\">". br(lj_web_link(toHtml($vis->tekst), "")) ."</div></td>\n";
Avatar billede woogoo Nybegynder
22. februar 2004 - 13:27 #6
den kommer med disse fejl:

Parse error: parse error, unexpected ':', expecting ')' in /STORE/woogoo_dk/public_html/gb/functions.php on line 9

Fatal error: Call to undefined function: tohtml() in /STORE/woogoo_dk/public_html/gb/tagwall.php on line 73
Avatar billede schaefner Juniormester
22. februar 2004 - 13:30 #7
hvordan ser functions.php ud?
Avatar billede woogoo Nybegynder
22. februar 2004 - 13:32 #8
<?php
//Sikrer at brugeren IKKE "leger" med input felter til at ændre i DB
//Bruges når der skal gemmes i DB
function toData($var){
    return "'" . addslashes($var) . "'";
}
//
function insertSmiley($str) {
    $smileys_find = array(':)',':(',';)',':O',':o',':P',':p',':/',':\',':D',':d','8)');
    $smileys_replace = array('<img src="smiley/smile.gif">','<img src="smiley/sad.gif">','<img src="smiley/wink.gif">','<img src="smiley/shocked.gif">','<img src="smiley/shocked.gif">','<img src="smiley/tongue.gif">','<img src="smiley/tongue.gif">','<img src="smiley/undecided.gif">','<img src="smiley/undecided.gif">','<img src="smiley/grin.gif">','<img src="smiley/grin.gif">','<img src="smiley/rolleeyes.gif">');
    return str_replace($smileys_find,$smileys_replace,$str);
}
//Laver straight html kode for f.eks. æ, ø og å og fjerner slashes som blev lagt ind i DB med toData()
function toHtml($var){
    return htmlentities(stripslashes($var));
}

//Erstatter et eller flere liniskift sat i textareaet med et enkelt linieskift ved visning til browser
function br($var) {
    return $var = ereg_replace("(\r\n|\n\r|\n|\r)+", "<br>\n", $var);
}

//Viser tidspunkt for indlæg. Bliver jo gemt i DB'en som time() Sekunder siden 1-1-1970
function tidspunkt($var) {
    if(is_numeric($var) && strlen($var) == 10) {
    return "Date: ". date("m-d-y  CET:, H:i:s", $var);
    }else{
    return "n/a";
    }
}


function lj_web_link($var, $class) {
$var = " ".$var;
$var = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])((ftp|http|https|telnet|news|nttp|nntp|file):\/\/[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@\&:;,=\?\/_\+-])+)", "\\1<a href=\"\\2\" TARGET=\"_blank\" class=\"". $class ."\">\\2</a>", $var);
$var = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])(www\.[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+[a-z0-9~#%@\&:;,=\?\/_\+-]+)", "\\1<a href=\"http://\\2\" TARGET=\"_blank\" class=\"". $class ."\">\\2</a>", $var);

$var = eregi_replace("([_\.0-9a-z-]+@([0-9a-z-]+)+\.[a-z]{2,4})","<a href=\"mailto:\\1\" class=\"". $class ."\">\\1</a>", $var);

return $var;
    }
// Slut på tagster

//Laver et frem og tilbage link.
function pagelink($linkid, $text) {
    if(empty($linkid)) {
    return "<a href=\"". $_SERVER["PHP_SELF"] ."\">". toHtml($text) ."</a> &nbsp; ";
    }else{
    return "<a href=\"". $_SERVER["PHP_SELF"] ."?vis=". $linkid ."\">". toHtml($text) ."</a> &nbsp; ";
    }
}



?>
Avatar billede schaefner Juniormester
22. februar 2004 - 13:39 #9
Prøv:

<?php
//Sikrer at brugeren IKKE "leger" med input felter til at ændre i DB
//Bruges når der skal gemmes i DB
function toData($var){
    return "'".addslashes($var)."'";
}

function insertSmiley($str) {
    $smileys_find = array(':)',':(',';)',':O',':o',':P',':p',':/',':\\',':D',':d','8)');
    $smileys_replace = array('<img src="smiley/smile.gif">','<img src="smiley/sad.gif">','<img src="smiley/wink.gif">','<img src="smiley/shocked.gif">','<img src="smiley/shocked.gif">','<img src="smiley/tongue.gif">','<img src="smiley/tongue.gif">','<img src="smiley/undecided.gif">','<img src="smiley/undecided.gif">','<img src="smiley/grin.gif">','<img src="smiley/grin.gif">','<img src="smiley/rolleeyes.gif">');
    return str_replace($smileys_find,$smileys_replace,$str);
}

//Laver straight html kode for f.eks. æ, ø og å og fjerner slashes som blev lagt ind i DB med toData()
function toHtml($var){
    return htmlentities(stripslashes($var));
}

//Erstatter et eller flere liniskift sat i textareaet med et enkelt linieskift ved visning til browser
function br($var) {
    return $var = ereg_replace("(\r\n|\n\r|\n|\r)+", "<br>\n", $var);
}

//Viser tidspunkt for indlæg. Bliver jo gemt i DB'en som time() Sekunder siden 1-1-1970
function tidspunkt($var) {
    if (is_numeric($var) && strlen($var) == 10) {
        return 'Date: '. date("m-d-y  CET:, H:i:s", $var);
    } else {
        return 'n/a';
    }
}


function lj_web_link($var, $class) {
    $var = ' '.$var;
    $var = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])((ftp|http|https|telnet|news|nttp|nntp|file):\/\/[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@\&:;,=\?\/_\+-])+)", "\\1<a href=\"\\2\" TARGET=\"_blank\" class=\"". $class ."\">\\2</a>", $var);
    $var = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])(www\.[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+[a-z0-9~#%@\&:;,=\?\/_\+-]+)", "\\1<a href=\"http://\\2\" TARGET=\"_blank\" class=\"". $class ."\">\\2</a>", $var);

    $var = eregi_replace("([_\.0-9a-z-]+@([0-9a-z-]+)+\.[a-z]{2,4})","<a href=\"mailto:\\1\" class=\"". $class ."\">\\1</a>", $var);

    return $var;
}
// Slut på tagster

//Laver et frem og tilbage link.
function pagelink($linkid, $text) {
    if (empty($linkid)) {
        return "<a href=\"". $_SERVER["PHP_SELF"] ."\">". toHtml($text) ."</a> &nbsp; ";
    } else {
        return "<a href=\"". $_SERVER["PHP_SELF"] ."?vis=". $linkid ."\">". toHtml($text) ."</a> &nbsp; ";
    }
}
?>
Avatar billede woogoo Nybegynder
22. februar 2004 - 13:53 #10
Tak.. det virker.. :) du får point
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