mirror of
https://github.com/tmdinosaurcenter/kiosk-guestbook.git
synced 2025-04-03 10:51:23 -06:00
Add dynamic comment field display
- Hide comment field by default. - Add JavaScript to reveal comment field when first name, last name, and location have at least 3 characters. - Update form instructions to inform users about the comment field.
This commit is contained in:
parent
b51f88344d
commit
4ba6a77ff2
53
app.py
53
app.py
@ -2,6 +2,7 @@ from flask import Flask, render_template, request, redirect, url_for
|
||||
import sqlite3
|
||||
import re
|
||||
import logging
|
||||
import os
|
||||
|
||||
# Set up basic logging
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
@ -10,6 +11,42 @@ logger = logging.getLogger(__name__)
|
||||
app = Flask(__name__)
|
||||
DATABASE = 'guestbook.db'
|
||||
|
||||
def load_banned_words():
|
||||
"""Load a set of banned words from a local file.
|
||||
|
||||
Expects 'en.txt' to be in the same directory as this script.
|
||||
If the file is missing, a minimal fallback set is used.
|
||||
"""
|
||||
banned_words = set()
|
||||
file_path = os.path.join(os.path.dirname(__file__), 'en.txt')
|
||||
if os.path.exists(file_path):
|
||||
try:
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
for line in f:
|
||||
word = line.strip().lower()
|
||||
if word:
|
||||
banned_words.add(word)
|
||||
logger.info("Loaded %d banned words from file.", len(banned_words))
|
||||
except Exception as e:
|
||||
logger.error("Error reading banned words file: %s", e)
|
||||
banned_words = {"fuck", "shit", "damn", "bitch", "asshole", "cunt", "dick", "piss", "crap", "hell"}
|
||||
else:
|
||||
logger.warning("Banned words file not found. Using fallback minimal list.")
|
||||
banned_words = {"fuck", "shit", "damn", "bitch", "asshole", "cunt", "dick", "piss", "crap", "hell"}
|
||||
return banned_words
|
||||
|
||||
# Load the banned words using the helper function.
|
||||
BANNED_WORDS = load_banned_words()
|
||||
|
||||
def contains_banned_words(text):
|
||||
"""Check if the provided text contains any banned words."""
|
||||
words = text.lower().split()
|
||||
for word in words:
|
||||
word_clean = word.strip(".,!?;:\"'")
|
||||
if word_clean in BANNED_WORDS:
|
||||
return True
|
||||
return False
|
||||
|
||||
def init_db():
|
||||
conn = sqlite3.connect(DATABASE)
|
||||
c = conn.cursor()
|
||||
@ -20,6 +57,7 @@ def init_db():
|
||||
last_name TEXT NOT NULL,
|
||||
email TEXT,
|
||||
location TEXT NOT NULL,
|
||||
comment TEXT,
|
||||
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
''')
|
||||
@ -28,7 +66,6 @@ def init_db():
|
||||
logger.info("Database initialized.")
|
||||
|
||||
def is_valid_email(email):
|
||||
# A simple regex for basic email validation
|
||||
pattern = r'^[\w\.-]+@[\w\.-]+\.\w+$'
|
||||
return re.match(pattern, email)
|
||||
|
||||
@ -41,17 +78,19 @@ def index():
|
||||
last_name = request.form.get('last_name', '').strip()
|
||||
email = request.form.get('email', '').strip()
|
||||
location = request.form.get('location', '').strip()
|
||||
comment = request.form.get('comment', '').strip()
|
||||
|
||||
# Basic validation checks (email is optional)
|
||||
if not (first_name and last_name and location):
|
||||
error = "First name, last name, and location are required."
|
||||
logger.warning("Validation error: Missing required fields (first name, last name, location).")
|
||||
logger.warning("Validation error: Missing required fields.")
|
||||
elif email and not is_valid_email(email):
|
||||
error = "Invalid email address."
|
||||
logger.warning("Validation error: Invalid email address '%s'.", email)
|
||||
elif comment and contains_banned_words(comment):
|
||||
error = "Your comment contains inappropriate language. Please revise."
|
||||
logger.warning("Validation error: Inappropriate language detected in comment.")
|
||||
|
||||
if error:
|
||||
# Retrieve guest entries to display on the page.
|
||||
conn = sqlite3.connect(DATABASE)
|
||||
c = conn.cursor()
|
||||
c.execute('SELECT first_name, location FROM guests ORDER BY id DESC')
|
||||
@ -59,19 +98,17 @@ def index():
|
||||
conn.close()
|
||||
return render_template('index.html', error=error, guests=guests)
|
||||
|
||||
# If validations pass, insert the data into the database.
|
||||
conn = sqlite3.connect(DATABASE)
|
||||
c = conn.cursor()
|
||||
c.execute(
|
||||
'INSERT INTO guests (first_name, last_name, email, location) VALUES (?, ?, ?, ?)',
|
||||
(first_name, last_name, email, location)
|
||||
'INSERT INTO guests (first_name, last_name, email, location, comment) VALUES (?, ?, ?, ?, ?)',
|
||||
(first_name, last_name, email, location, comment)
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
logger.info("New guest entry added: %s from %s.", first_name, location)
|
||||
return redirect(url_for('index'))
|
||||
|
||||
# For GET requests, retrieve guest entries to display.
|
||||
conn = sqlite3.connect(DATABASE)
|
||||
c = conn.cursor()
|
||||
c.execute('SELECT first_name, location FROM guests ORDER BY id DESC')
|
||||
|
958
en.txt
Normal file
958
en.txt
Normal file
@ -0,0 +1,958 @@
|
||||
2 girls 1 cup
|
||||
2g1c
|
||||
4r5e
|
||||
5h1t
|
||||
5hit
|
||||
a55
|
||||
a_s_s
|
||||
acrotomophilia
|
||||
alabama hot pocket
|
||||
alaskan pipeline
|
||||
anal
|
||||
anilingus
|
||||
anus
|
||||
apeshit
|
||||
ar5e
|
||||
arrse
|
||||
arse
|
||||
arsehole
|
||||
ass
|
||||
ass-fucker
|
||||
ass-hat
|
||||
ass-pirate
|
||||
assbag
|
||||
assbandit
|
||||
assbanger
|
||||
assbite
|
||||
assclown
|
||||
asscock
|
||||
asscracker
|
||||
asses
|
||||
assface
|
||||
assfucker
|
||||
assfukka
|
||||
assgoblin
|
||||
asshat
|
||||
asshead
|
||||
asshole
|
||||
assholes
|
||||
asshopper
|
||||
assjacker
|
||||
asslick
|
||||
asslicker
|
||||
assmonkey
|
||||
assmunch
|
||||
assmuncher
|
||||
asspirate
|
||||
assshole
|
||||
asssucker
|
||||
asswad
|
||||
asswhole
|
||||
asswipe
|
||||
auto erotic
|
||||
autoerotic
|
||||
b!tch
|
||||
b00bs
|
||||
b17ch
|
||||
b1tch
|
||||
babeland
|
||||
baby batter
|
||||
baby juice
|
||||
ball gag
|
||||
ball gravy
|
||||
ball kicking
|
||||
ball licking
|
||||
ball sack
|
||||
ball sucking
|
||||
ballbag
|
||||
balls
|
||||
ballsack
|
||||
bampot
|
||||
bangbros
|
||||
bareback
|
||||
barely legal
|
||||
barenaked
|
||||
bastard
|
||||
bastardo
|
||||
bastinado
|
||||
bbw
|
||||
bdsm
|
||||
beaner
|
||||
beaners
|
||||
beastial
|
||||
beastiality
|
||||
beastility
|
||||
beaver cleaver
|
||||
beaver lips
|
||||
bellend
|
||||
bestial
|
||||
bestiality
|
||||
bi+ch
|
||||
biatch
|
||||
big black
|
||||
big breasts
|
||||
big knockers
|
||||
big tits
|
||||
bimbos
|
||||
birdlock
|
||||
bitch
|
||||
bitcher
|
||||
bitchers
|
||||
bitches
|
||||
bitchin
|
||||
bitching
|
||||
black cock
|
||||
blonde action
|
||||
blonde on blonde action
|
||||
bloody
|
||||
blow job
|
||||
blow your load
|
||||
blowjob
|
||||
blowjobs
|
||||
blue waffle
|
||||
blumpkin
|
||||
boiolas
|
||||
bollock
|
||||
bollocks
|
||||
bollok
|
||||
bollox
|
||||
bondage
|
||||
boner
|
||||
boob
|
||||
boobie
|
||||
boobs
|
||||
booobs
|
||||
boooobs
|
||||
booooobs
|
||||
booooooobs
|
||||
booty call
|
||||
breasts
|
||||
brown showers
|
||||
brunette action
|
||||
buceta
|
||||
bugger
|
||||
bukkake
|
||||
bulldyke
|
||||
bullet vibe
|
||||
bullshit
|
||||
bum
|
||||
bung hole
|
||||
bunghole
|
||||
bunny fucker
|
||||
busty
|
||||
butt
|
||||
butt-pirate
|
||||
buttcheeks
|
||||
butthole
|
||||
buttmunch
|
||||
buttplug
|
||||
c0ck
|
||||
c0cksucker
|
||||
camel toe
|
||||
camgirl
|
||||
camslut
|
||||
camwhore
|
||||
carpet muncher
|
||||
carpetmuncher
|
||||
cawk
|
||||
chinc
|
||||
chink
|
||||
choad
|
||||
chocolate rosebuds
|
||||
chode
|
||||
cipa
|
||||
circlejerk
|
||||
cl1t
|
||||
cleveland steamer
|
||||
clit
|
||||
clitface
|
||||
clitoris
|
||||
clits
|
||||
clover clamps
|
||||
clusterfuck
|
||||
cnut
|
||||
cock
|
||||
cock-sucker
|
||||
cockbite
|
||||
cockburger
|
||||
cockface
|
||||
cockhead
|
||||
cockjockey
|
||||
cockknoker
|
||||
cockmaster
|
||||
cockmongler
|
||||
cockmongruel
|
||||
cockmonkey
|
||||
cockmunch
|
||||
cockmuncher
|
||||
cocknose
|
||||
cocknugget
|
||||
cocks
|
||||
cockshit
|
||||
cocksmith
|
||||
cocksmoker
|
||||
cocksuck
|
||||
cocksuck
|
||||
cocksucked
|
||||
cocksucked
|
||||
cocksucker
|
||||
cocksucking
|
||||
cocksucks
|
||||
cocksuka
|
||||
cocksukka
|
||||
cok
|
||||
cokmuncher
|
||||
coksucka
|
||||
coochie
|
||||
coochy
|
||||
coon
|
||||
coons
|
||||
cooter
|
||||
coprolagnia
|
||||
coprophilia
|
||||
cornhole
|
||||
cox
|
||||
crap
|
||||
creampie
|
||||
cum
|
||||
cumbubble
|
||||
cumdumpster
|
||||
cumguzzler
|
||||
cumjockey
|
||||
cummer
|
||||
cumming
|
||||
cums
|
||||
cumshot
|
||||
cumslut
|
||||
cumtart
|
||||
cunilingus
|
||||
cunillingus
|
||||
cunnie
|
||||
cunnilingus
|
||||
cunt
|
||||
cuntface
|
||||
cunthole
|
||||
cuntlick
|
||||
cuntlick
|
||||
cuntlicker
|
||||
cuntlicker
|
||||
cuntlicking
|
||||
cuntlicking
|
||||
cuntrag
|
||||
cunts
|
||||
cyalis
|
||||
cyberfuc
|
||||
cyberfuck
|
||||
cyberfucked
|
||||
cyberfucker
|
||||
cyberfuckers
|
||||
cyberfucking
|
||||
d1ck
|
||||
dammit
|
||||
damn
|
||||
darkie
|
||||
date rape
|
||||
daterape
|
||||
deep throat
|
||||
deepthroat
|
||||
dendrophilia
|
||||
dick
|
||||
dickbag
|
||||
dickbeater
|
||||
dickface
|
||||
dickhead
|
||||
dickhole
|
||||
dickjuice
|
||||
dickmilk
|
||||
dickmonger
|
||||
dickslap
|
||||
dicksucker
|
||||
dickwad
|
||||
dickweasel
|
||||
dickweed
|
||||
dickwod
|
||||
dike
|
||||
dildo
|
||||
dildos
|
||||
dingleberries
|
||||
dingleberry
|
||||
dink
|
||||
dinks
|
||||
dipshit
|
||||
dirsa
|
||||
dirty pillows
|
||||
dirty sanchez
|
||||
dlck
|
||||
dog style
|
||||
dog-fucker
|
||||
doggie style
|
||||
doggiestyle
|
||||
doggin
|
||||
dogging
|
||||
doggy style
|
||||
doggystyle
|
||||
dolcett
|
||||
domination
|
||||
dominatrix
|
||||
dommes
|
||||
donkey punch
|
||||
donkeyribber
|
||||
doochbag
|
||||
dookie
|
||||
doosh
|
||||
double dong
|
||||
double penetration
|
||||
douche
|
||||
douchebag
|
||||
dp action
|
||||
dry hump
|
||||
duche
|
||||
dumbshit
|
||||
dumshit
|
||||
dvda
|
||||
dyke
|
||||
eat my ass
|
||||
ecchi
|
||||
ejaculate
|
||||
ejaculated
|
||||
ejaculates
|
||||
ejaculating
|
||||
ejaculatings
|
||||
ejaculation
|
||||
ejakulate
|
||||
erotic
|
||||
erotism
|
||||
escort
|
||||
eunuch
|
||||
f u c k
|
||||
f u c k e r
|
||||
f4nny
|
||||
f_u_c_k
|
||||
fag
|
||||
fagbag
|
||||
fagg
|
||||
fagging
|
||||
faggit
|
||||
faggitt
|
||||
faggot
|
||||
faggs
|
||||
fagot
|
||||
fagots
|
||||
fags
|
||||
fagtard
|
||||
fanny
|
||||
fannyflaps
|
||||
fannyfucker
|
||||
fanyy
|
||||
fart
|
||||
farted
|
||||
farting
|
||||
farty
|
||||
fatass
|
||||
fcuk
|
||||
fcuker
|
||||
fcuking
|
||||
fecal
|
||||
feck
|
||||
fecker
|
||||
felatio
|
||||
felch
|
||||
felching
|
||||
fellate
|
||||
fellatio
|
||||
feltch
|
||||
female squirting
|
||||
femdom
|
||||
figging
|
||||
fingerbang
|
||||
fingerfuck
|
||||
fingerfucked
|
||||
fingerfucker
|
||||
fingerfuckers
|
||||
fingerfucking
|
||||
fingerfucks
|
||||
fingering
|
||||
fistfuck
|
||||
fistfucked
|
||||
fistfucker
|
||||
fistfuckers
|
||||
fistfucking
|
||||
fistfuckings
|
||||
fistfucks
|
||||
fisting
|
||||
flamer
|
||||
flange
|
||||
fook
|
||||
fooker
|
||||
foot fetish
|
||||
footjob
|
||||
frotting
|
||||
fuck
|
||||
fuck buttons
|
||||
fucka
|
||||
fucked
|
||||
fucker
|
||||
fuckers
|
||||
fuckhead
|
||||
fuckheads
|
||||
fuckin
|
||||
fucking
|
||||
fuckings
|
||||
fuckingshitmotherfucker
|
||||
fuckme
|
||||
fucks
|
||||
fucktards
|
||||
fuckwhit
|
||||
fuckwit
|
||||
fudge packer
|
||||
fudgepacker
|
||||
fuk
|
||||
fuker
|
||||
fukker
|
||||
fukkin
|
||||
fuks
|
||||
fukwhit
|
||||
fukwit
|
||||
futanari
|
||||
fux
|
||||
fux0r
|
||||
g-spot
|
||||
gang bang
|
||||
gangbang
|
||||
gangbanged
|
||||
gangbanged
|
||||
gangbangs
|
||||
gay sex
|
||||
gayass
|
||||
gaybob
|
||||
gaydo
|
||||
gaylord
|
||||
gaysex
|
||||
gaytard
|
||||
gaywad
|
||||
genitals
|
||||
giant cock
|
||||
girl on
|
||||
girl on top
|
||||
girls gone wild
|
||||
goatcx
|
||||
goatse
|
||||
god damn
|
||||
god-dam
|
||||
god-damned
|
||||
goddamn
|
||||
goddamned
|
||||
gokkun
|
||||
golden shower
|
||||
goo girl
|
||||
gooch
|
||||
goodpoop
|
||||
gook
|
||||
goregasm
|
||||
gringo
|
||||
grope
|
||||
group sex
|
||||
guido
|
||||
guro
|
||||
hand job
|
||||
handjob
|
||||
hard core
|
||||
hardcore
|
||||
hardcoresex
|
||||
heeb
|
||||
hell
|
||||
hentai
|
||||
heshe
|
||||
ho
|
||||
hoar
|
||||
hoare
|
||||
hoe
|
||||
hoer
|
||||
homo
|
||||
homoerotic
|
||||
honkey
|
||||
honky
|
||||
hooker
|
||||
hore
|
||||
horniest
|
||||
horny
|
||||
hot carl
|
||||
hot chick
|
||||
hotsex
|
||||
how to kill
|
||||
how to murder
|
||||
huge fat
|
||||
humping
|
||||
incest
|
||||
intercourse
|
||||
jack off
|
||||
jack-off
|
||||
jackass
|
||||
jackoff
|
||||
jail bait
|
||||
jailbait
|
||||
jap
|
||||
jelly donut
|
||||
jerk off
|
||||
jerk-off
|
||||
jigaboo
|
||||
jiggaboo
|
||||
jiggerboo
|
||||
jism
|
||||
jiz
|
||||
jiz
|
||||
jizm
|
||||
jizm
|
||||
jizz
|
||||
juggs
|
||||
kawk
|
||||
kike
|
||||
kinbaku
|
||||
kinkster
|
||||
kinky
|
||||
kiunt
|
||||
knob
|
||||
knobbing
|
||||
knobead
|
||||
knobed
|
||||
knobend
|
||||
knobhead
|
||||
knobjocky
|
||||
knobjokey
|
||||
kock
|
||||
kondum
|
||||
kondums
|
||||
kooch
|
||||
kootch
|
||||
kum
|
||||
kumer
|
||||
kummer
|
||||
kumming
|
||||
kums
|
||||
kunilingus
|
||||
kunt
|
||||
kyke
|
||||
l3i+ch
|
||||
l3itch
|
||||
labia
|
||||
leather restraint
|
||||
leather straight jacket
|
||||
lemon party
|
||||
lesbo
|
||||
lezzie
|
||||
lmfao
|
||||
lolita
|
||||
lovemaking
|
||||
lust
|
||||
lusting
|
||||
m0f0
|
||||
m0fo
|
||||
m45terbate
|
||||
ma5terb8
|
||||
ma5terbate
|
||||
make me come
|
||||
male squirting
|
||||
masochist
|
||||
master-bate
|
||||
masterb8
|
||||
masterbat*
|
||||
masterbat3
|
||||
masterbate
|
||||
masterbation
|
||||
masterbations
|
||||
masturbate
|
||||
menage a trois
|
||||
milf
|
||||
minge
|
||||
missionary position
|
||||
mo-fo
|
||||
mof0
|
||||
mofo
|
||||
mothafuck
|
||||
mothafucka
|
||||
mothafuckas
|
||||
mothafuckaz
|
||||
mothafucked
|
||||
mothafucker
|
||||
mothafuckers
|
||||
mothafuckin
|
||||
mothafucking
|
||||
mothafuckings
|
||||
mothafucks
|
||||
mother fucker
|
||||
motherfuck
|
||||
motherfucked
|
||||
motherfucker
|
||||
motherfuckers
|
||||
motherfuckin
|
||||
motherfucking
|
||||
motherfuckings
|
||||
motherfuckka
|
||||
motherfucks
|
||||
mound of venus
|
||||
mr hands
|
||||
muff
|
||||
muff diver
|
||||
muffdiver
|
||||
muffdiving
|
||||
mutha
|
||||
muthafecker
|
||||
muthafuckker
|
||||
muther
|
||||
mutherfucker
|
||||
n1gga
|
||||
n1gger
|
||||
nambla
|
||||
nawashi
|
||||
nazi
|
||||
negro
|
||||
neonazi
|
||||
nig nog
|
||||
nigg3r
|
||||
nigg4h
|
||||
nigga
|
||||
niggah
|
||||
niggas
|
||||
niggaz
|
||||
nigger
|
||||
niggers
|
||||
niglet
|
||||
nimphomania
|
||||
nipple
|
||||
nipples
|
||||
nob
|
||||
nob jokey
|
||||
nobhead
|
||||
nobjocky
|
||||
nobjokey
|
||||
nsfw images
|
||||
nude
|
||||
nudity
|
||||
numbnuts
|
||||
nutsack
|
||||
nympho
|
||||
nymphomania
|
||||
octopussy
|
||||
omorashi
|
||||
one cup two girls
|
||||
one guy one jar
|
||||
orgasim
|
||||
orgasim
|
||||
orgasims
|
||||
orgasm
|
||||
orgasms
|
||||
orgy
|
||||
p0rn
|
||||
paedophile
|
||||
paki
|
||||
panooch
|
||||
panties
|
||||
panty
|
||||
pawn
|
||||
pecker
|
||||
peckerhead
|
||||
pedobear
|
||||
pedophile
|
||||
pegging
|
||||
penis
|
||||
penisfucker
|
||||
phone sex
|
||||
phonesex
|
||||
phuck
|
||||
phuk
|
||||
phuked
|
||||
phuking
|
||||
phukked
|
||||
phukking
|
||||
phuks
|
||||
phuq
|
||||
piece of shit
|
||||
pigfucker
|
||||
pimpis
|
||||
pis
|
||||
pises
|
||||
pisin
|
||||
pising
|
||||
pisof
|
||||
piss
|
||||
piss pig
|
||||
pissed
|
||||
pisser
|
||||
pissers
|
||||
pisses
|
||||
pissflap
|
||||
pissflaps
|
||||
pissin
|
||||
pissin
|
||||
pissing
|
||||
pissoff
|
||||
pissoff
|
||||
pisspig
|
||||
playboy
|
||||
pleasure chest
|
||||
pole smoker
|
||||
polesmoker
|
||||
pollock
|
||||
ponyplay
|
||||
poo
|
||||
poof
|
||||
poon
|
||||
poonani
|
||||
poonany
|
||||
poontang
|
||||
poop
|
||||
poop chute
|
||||
poopchute
|
||||
porn
|
||||
porno
|
||||
pornography
|
||||
pornos
|
||||
prick
|
||||
pricks
|
||||
prince albert piercing
|
||||
pron
|
||||
pthc
|
||||
pube
|
||||
pubes
|
||||
punanny
|
||||
punany
|
||||
punta
|
||||
pusies
|
||||
pusse
|
||||
pussi
|
||||
pussies
|
||||
pussy
|
||||
pussylicking
|
||||
pussys
|
||||
pusy
|
||||
puto
|
||||
queaf
|
||||
queef
|
||||
queerbait
|
||||
queerhole
|
||||
quim
|
||||
raghead
|
||||
raging boner
|
||||
rape
|
||||
raping
|
||||
rapist
|
||||
rectum
|
||||
renob
|
||||
retard
|
||||
reverse cowgirl
|
||||
rimjaw
|
||||
rimjob
|
||||
rimming
|
||||
rosy palm
|
||||
rosy palm and her 5 sisters
|
||||
ruski
|
||||
rusty trombone
|
||||
s hit
|
||||
s&m
|
||||
s.o.b.
|
||||
s_h_i_t
|
||||
sadism
|
||||
sadist
|
||||
santorum
|
||||
scat
|
||||
schlong
|
||||
scissoring
|
||||
screwing
|
||||
scroat
|
||||
scrote
|
||||
scrotum
|
||||
semen
|
||||
sex
|
||||
sexo
|
||||
sexy
|
||||
sh!+
|
||||
sh!t
|
||||
sh1t
|
||||
shag
|
||||
shagger
|
||||
shaggin
|
||||
shagging
|
||||
shaved beaver
|
||||
shaved pussy
|
||||
shemale
|
||||
shi+
|
||||
shibari
|
||||
shit
|
||||
shit-ass
|
||||
shit-bag
|
||||
shit-bagger
|
||||
shit-brain
|
||||
shit-breath
|
||||
shit-cunt
|
||||
shit-dick
|
||||
shit-eating
|
||||
shit-face
|
||||
shit-faced
|
||||
shit-fit
|
||||
shit-head
|
||||
shit-heel
|
||||
shit-hole
|
||||
shit-house
|
||||
shit-load
|
||||
shit-pot
|
||||
shit-spitter
|
||||
shit-stain
|
||||
shitass
|
||||
shitbag
|
||||
shitbagger
|
||||
shitblimp
|
||||
shitbrain
|
||||
shitbreath
|
||||
shitcunt
|
||||
shitdick
|
||||
shite
|
||||
shiteating
|
||||
shited
|
||||
shitey
|
||||
shitface
|
||||
shitfaced
|
||||
shitfit
|
||||
shitfuck
|
||||
shitfull
|
||||
shithead
|
||||
shitheel
|
||||
shithole
|
||||
shithouse
|
||||
shiting
|
||||
shitings
|
||||
shitload
|
||||
shitpot
|
||||
shits
|
||||
shitspitter
|
||||
shitstain
|
||||
shitted
|
||||
shitter
|
||||
shitters
|
||||
shittiest
|
||||
shitting
|
||||
shittings
|
||||
shitty
|
||||
shitty
|
||||
shity
|
||||
shiz
|
||||
shiznit
|
||||
shota
|
||||
shrimping
|
||||
skank
|
||||
skeet
|
||||
slanteye
|
||||
slut
|
||||
slutbag
|
||||
sluts
|
||||
smeg
|
||||
smegma
|
||||
smut
|
||||
snatch
|
||||
snowballing
|
||||
sodomize
|
||||
sodomy
|
||||
son-of-a-bitch
|
||||
spac
|
||||
spic
|
||||
spick
|
||||
splooge
|
||||
splooge moose
|
||||
spooge
|
||||
spread legs
|
||||
spunk
|
||||
strap on
|
||||
strapon
|
||||
strappado
|
||||
strip club
|
||||
style doggy
|
||||
suck
|
||||
sucks
|
||||
suicide girls
|
||||
sultry women
|
||||
swastika
|
||||
swinger
|
||||
t1tt1e5
|
||||
t1tties
|
||||
tainted love
|
||||
tard
|
||||
taste my
|
||||
tea bagging
|
||||
teets
|
||||
teez
|
||||
testical
|
||||
testicle
|
||||
threesome
|
||||
throating
|
||||
thundercunt
|
||||
tied up
|
||||
tight white
|
||||
tit
|
||||
titfuck
|
||||
tits
|
||||
titt
|
||||
tittie5
|
||||
tittiefucker
|
||||
titties
|
||||
titty
|
||||
tittyfuck
|
||||
tittywank
|
||||
titwank
|
||||
tongue in a
|
||||
topless
|
||||
tosser
|
||||
towelhead
|
||||
tranny
|
||||
tribadism
|
||||
tub girl
|
||||
tubgirl
|
||||
turd
|
||||
tushy
|
||||
tw4t
|
||||
twat
|
||||
twathead
|
||||
twatlips
|
||||
twatty
|
||||
twink
|
||||
twinkie
|
||||
two girls one cup
|
||||
twunt
|
||||
twunter
|
||||
undressing
|
||||
upskirt
|
||||
urethra play
|
||||
urophilia
|
||||
v14gra
|
||||
v1gra
|
||||
va-j-j
|
||||
vag
|
||||
vagina
|
||||
venus mound
|
||||
viagra
|
||||
vibrator
|
||||
violet wand
|
||||
vjayjay
|
||||
vorarephilia
|
||||
voyeur
|
||||
vulva
|
||||
w00se
|
||||
wang
|
||||
wank
|
||||
wanker
|
||||
wanky
|
||||
wet dream
|
||||
wetback
|
||||
white power
|
||||
whoar
|
||||
whore
|
||||
willies
|
||||
willy
|
||||
wrapping men
|
||||
wrinkled starfish
|
||||
xrated
|
||||
xx
|
||||
xxx
|
||||
yaoi
|
||||
yellow showers
|
||||
yiffy
|
||||
zoophilia
|
||||
🖕
|
0
scripts/guestbook.db
Normal file
0
scripts/guestbook.db
Normal file
@ -70,6 +70,11 @@
|
||||
<label for="location" class="form-label">Location:</label>
|
||||
<input type="text" class="form-control" id="location" name="location" required>
|
||||
</div>
|
||||
<!-- Comment field hidden by default -->
|
||||
<div class="mb-3" id="comment-field" style="display: none;">
|
||||
<label for="comment" class="form-label">Comment (Optional):</label>
|
||||
<textarea class="form-control" id="comment" name="comment" rows="3"></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</form>
|
||||
</div>
|
||||
@ -85,6 +90,30 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- JavaScript to reveal the comment field -->
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const firstNameInput = document.getElementById('first_name');
|
||||
const lastNameInput = document.getElementById('last_name');
|
||||
const locationInput = document.getElementById('location');
|
||||
const commentField = document.getElementById('comment-field');
|
||||
|
||||
function checkFields() {
|
||||
if (firstNameInput.value.trim().length >= 3 &&
|
||||
lastNameInput.value.trim().length >= 3 &&
|
||||
locationInput.value.trim().length >= 3) {
|
||||
commentField.style.display = 'block';
|
||||
} else {
|
||||
commentField.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
firstNameInput.addEventListener('input', checkFields);
|
||||
lastNameInput.addEventListener('input', checkFields);
|
||||
locationInput.addEventListener('input', checkFields);
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Bootstrap JS (optional) -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js"></script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user