Avatar billede proman Nybegynder
04. juli 2006 - 18:47 Der er 3 kommentarer og
1 løsning

Lave sprogfilter i PHP :o)

HEJSA!

Nu er lille lalleglade jeg begyndt på det sjove internetkodnings sprog, PHP.
Og stolt som jeg er har jeg lavet en tagwall, med en lille admin del og IP ban.

Og jeg vil gerne udvide den så meget som jeg nu kan, så nu vil jeg lave et sprogfilter, men hvordan? :o

Jeg tror at det er noget med:
$forbudte_ord = array("Her", "Skal", "De", "Forbudte", "Ord", "Stå");
$besked = str_replace($forbudte_ord,"*Fyfy*",$besked);

Hvis det er rigtigt, så er det jo godt. Men HVOR i koden skal den sættes ind?

Her er koden:

<?
$dato = date('Y-m-d H:i:s', time());
$ip = $_SERVER['REMOTE_ADDR'];
$minip = "80.198.57.156";
$_SESSION['IP'] = $ip;

include("db.php");

if( !empty( $_POST['navn'] ) && !empty( $_POST['besked'] ) )

{


    $sql = "INSERT INTO guestbook (navn, besked, ip, dato) VALUES ('$_POST[navn]','$_POST[besked]','$_POST[ip]','$_POST[dato]')";
    mysql_query($sql, $con) or die('Error: ' . mysql_error());
}
elseif ($_GET[action] == "delete"){
    mysql_query("delete from guestbook where id='$_GET[id]';");
    header("location:tagwall.php?action=admin");
}
$result = mysql_query("SELECT * FROM ban") or die(mysql_error());
while ($row = mysql_fetch_assoc($result))
{
if($ip == "$row[ip]"){
    exit("Du er blevet bannet!");
    header("location:bannet.php");
    }
}


?>
<html>
<head>
<title>Tagwall v1.4</title>
<style type="text/css">
body, td, tr {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-style: normal;
    color: #000000;
}

.tagwall {
    border: 1px dotted #000000;
    background-color:#FFFFFF;
}
</style>
</head>
<body style="background-image:url(bg.gif);">
<center>
<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-style: dashed; border-width: 1' bordercolor='#111111' width='300' id='AutoNumber1'>
<tr><td style="background-color:#FFFFFF; border-style:dashed; border-width:1px;" width='300'>
<p align="center"><strong>Tagwall v1.4</strong></p>
</td></tr><tr> <td style="background-color:#FFFFFF;">
<form method="post" action="tagwall.php">
&nbsp;Navn:<br>
&nbsp;<input type="text" name="navn" maxlength="10"><br />
&nbsp;Besked:<br />
&nbsp;<textarea name="besked" rows="5" cols="30">
</textarea><br />
&nbsp;<input type="submit" value="Skriv" /> <input type="submit" value="Opdater"> <?php if ($_SESSION['IP'] == "$minip"){?>
<input type="button" value="Ban IP" HREF="java script:void(1)"
ONCLICK="window.open('ban.php','miniwin','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=160,height=30')">
<?php
}
?>
<input name="ip" type="hidden" value="<?php echo $ip; ?>">
<input name="dato" type="hidden" value="<?php echo $dato; ?>"
</form>
</td></tr></table><br>

<?
$result = mysql_query("SELECT * FROM guestbook order by id DESC limit 7") or die(mysql_error());
while ($row = mysql_fetch_assoc($result))
{?>
<table border='1' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-style: dashed; border-width: 1; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1' bordercolor='#111111' width='300' id='AutoNumber1' height='17' class="tagwall">

    <tr>
    <th scope="col" width="130" style="background-color:#FFFFFF; border-style: dashed; border-width: 1" class="tagwall"><p align="left">
    <?php echo $row['navn']; ?>
    </p></th>
    <th scope="col" style="background-color:#FFFFFF; border-style: dashed; border-width: 1" class="tagwall"><p align="right">
    <?php echo $row['dato']; ?>
    </p></th></tr>
    <tr>
    <td colspan="2" style="background-color:#FFFFFF; border-style: dashed; border-width: 1" class="tagwall">
    <?php echo (nl2br($row['besked'])); ?>
    </td></tr>
    <?php if ($_SESSION['IP'] == "$minip"){?>
    <tr>
        <td style="border-style: dashed; border-width: 1" colspan="2">
        <?php echo "<a href='tagwall.php?action=delete&id=$row[id]'>Slet</a> - <strong>" . $row[ip] . "</strong>";
    } ?>
    </td></tr>   
    </table><br>
<?php
}
?>
</center>
</body>
</html>

Nogle der kan hjælpe? :D
Avatar billede codebase Praktikant
04. juli 2006 - 18:55 #1
<?php echo str_replace($forbudte_ord,"*Fyfy*",(nl2br($row['besked']))); ?>
Avatar billede proman Nybegynder
04. juli 2006 - 19:03 #2
Det virker :D

Send lige svar :)
Avatar billede codebase Praktikant
04. juli 2006 - 19:38 #3
jeg samler ikke på points :)..
Avatar billede proman Nybegynder
05. juli 2006 - 21:23 #4
Jamen så får du noget karma
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