deaMedlem sedan dec. 2002387 inlägg Hej, jag skulle vilja veta hur man gör en wordban funktion som säger:
om texten innehålller ordet viagra så skicka inte till databasen.
Just nu har jag en wordbanner som ser ut så här:
$blocked_word = array ('viagra');
och
if(in_array($text, $blocked_word)) {
die('Får inte skriva in de orden!');
}
och då om man skriver viagra + mer text så går det fram ändå.
SjodahlMedlem sedan maj 20033 218 inlägg Den kontrollerar väl bara ord i en array, inte i en text?
PeddaMedlem sedan juni 20006 032 inlägg if( preg_match('~('. implode('|', $blocked_word) .')~i', $text) ) {
echo 'Texten innehåller ett eller flera otillåtna ord.';
}
PeddaMedlem sedan juni 20006 032 inlägg
adamsdotter skrev:
Vari php koden skall detta in? *kan inget om php :r *
Laddade ner Åsas gästbok och gjorde ändringen åt dig.
Har inte testat, men det bör fungera. Byt ut filen mot den du har på servern nu.
http://member.webforum.nu/643/gastbok.rar
Grymt!! Tusen tack ska testa nu genast!
PeddaMedlem sedan juni 20006 032 inlägg Glömde skriva att på rad 24 har du variabeln med dom spärrade orden.
Den raden kan du flytta till setting.php om du vill. Kan ju vara bra att ha alla inställningar på samma ställe.
Raden ser ut så här nu:
$blocked_word = array ('viagra', 'poker');
Testade, och det funkade! MEN, nu står det bara "Duplicate entry '127' for key 1" när man ska posta, dvs det går inte posta alls!
PeddaMedlem sedan juni 20006 032 inlägg Felet tyder på att hon använder tinyint på fältet i databasen för id
Gå till kontrollpanelen och ändra till int istället så funkar det.
PeddaMedlem sedan juni 20006 032 inlägg Nej. Webbhotellet har någon typ av kontrollpanel där du kan göra ändringar i mySQL.
En vanlig kontrollpanel som många använder är phpMyAdmin. Där ska du ändra fältet id's typ från tinyint till int.
Yes! Det funkade!! Tack så mkt för din hjälp, återkommer imorgon om jag har fått mer spam! Tack igen!!
PeddaMedlem sedan juni 20006 032 inlägg Hoppas att det funkar. :)
Det funkade - på viagran, idag har jag två nya =(
*| Zocor Man
Hi,
omgod dis website has been really helpful for my research papaer...
it has got almost all da information i need...
well i wud luvvv 2 come bak here again if i getta anotha project on state!!!
Buy drug zyban online
Buy generic xanax online
Side effects of generic zoloft drug
Generic Wellbutrin xl side effects
Generic drug zocor side effects
Antibiotic zithromax side effects*
bla bla bla bla bla Antar att det bara är att lägga in fler blockord, gör det och testar om det blir annat som kommer imorgon..
PeddaMedlem sedan juni 20006 032 inlägg Gör så. Vanliga ord verkar ju även vara drug och generic, så någon av dom verkar ju vara bra att banna.
JerpaMedlem sedan feb. 20032 532 inlägg
adamsdotter skrev:
Testade, och det funkade! MEN, nu står det bara "Duplicate entry '127' for key 1" när man ska posta, dvs det går inte posta alls!
Det där har jag för mig beror på att på det sätt gästboken är skriven nu tar den bara emot ett visst antal inlägg. Raderar du några inlägg kan du lägga in fler men så som Pedda skrev så är det bara att fylla på med fler inlägg.
@ndersMedlem sedan juni 200032 969 inlägg
Jerpa skrev:
Det där har jag för mig beror på att på det sätt gästboken är skriven nu tar den bara emot ett visst antal inlägg. Raderar du några inlägg kan du lägga in fler men så som Pedda skrev så är det bara att fylla på med fler inlägg.
Nej, det stämmer inte. Pedda är spikhuvudspåslagare i detta inlägg. Helt enkelt fel datatyp på fältet.
Hemskt många kassa script finns det att ladda hem. :)
JerpaMedlem sedan feb. 20032 532 inlägg Nej jag hade fel.. men frågan har varit uppe förut med samma svar: http://www.webforum.nu/showthread.php?p=768709#post768709
Hur ska jag göra för att även inkludera fältet $url, som ska förbjuda samma ord som $msg?
Har testat så här men får då endast upp "Array" som länk när det skrivs ett föbjudet ord..
if( preg_match('~('. implode('|', $blocked_word) .')~i', $msg, $url) ) {
echo 'Texten innehåller ett eller flera otillåtna ord.';
} else {
PeddaMedlem sedan juni 20006 032 inlägg Du är nog tvungen att dela upp if-satsen
if( preg_match('~('. implode('|', $blocked_word) .')~i', $text) || preg_match('~('. implode('|', $blocked_word) .')~i', $url )) {