[ASP]Gastenboek,lege berichten af vangen lukt niet

Pagina: 1
Acties:

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
Ik ben net begonnen met het leren van ASP, lees veel en het lukt al aardig.

Alleen ben ik u bezig met een gastenboek. Het werkte allemaal alleen kon je lege berichten posten. Dit wilde ik dus graag af vangen. Jammer genoeg wil dit niet echt werken.

Hier onder de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<%@ language="VBscript" %>
<% option explicit %>

<%
dim db
set db=server.createobject("ADODB.Connection")
db.connectionstring = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../metropole.mdb")
db.open
%>

<%

dim strsql
strSQL= "SELECT * FROM Gastenboek"

dim objcontact

set objcontact = server.createobject("ADODB.recordset")
objcontact.open strSQL, db, 1,3
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>&nbsp | Metropole Orkest | &nbsp</title>
<meta http-equiv="Pragma" content="no-cache">
<link rel="stylesheet" href="../css/metropole.css" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000" background="../images/bg_tekstvlak.jpg">
<h1 class="kop">U Heeft zo juist in het gastenboek geschreven<br>

<%

    function checkHTML(toCheck)
        
        Dim lObjRegExp
        if VarType(toCheck) = vbNull Then Exit function
        if toCheck = "" Then Exit function
        Set lObjRegExp = New RegExp
        lObjRegExp.Global = True
        lObjRegExp.IgnoreCase = True
        lObjRegExp.Pattern = "<"
        toCheck = lObjRegExp.Replace(toCheck, "&lt;")
        lObjRegExp.Pattern = """"
        toCheck = lObjRegExp.Replace(toCheck, "&quot;")
        Set lObjRegExp = Nothing
        
        checkHTML = toCheck
        
    End function 
    
if isNull(request.form("naam")) Or isNull(request.form("bericht")) then
    response.write("<p class=""kop"">U Heeft niks gepost.</p>")
else
    objcontact.addnew
    objcontact("naam")= checkHTML(request.form("naam"))
    objcontact("email")= checkHTML(request.form("email"))
    objcontact("bericht")= checkHTML(request.form("bericht"))
    objcontact("datum")= request.form("datum")
    objcontact.update

    objcontact.close
    set objcontact = nothing
    
    db.close
    set db = nothing
End if

if isNull(request.form("naam")) Or isNull(request.form("bericht")) then 
%>
<p class="tekst">U heeft bepaalde velden niet ingevuld.</p><br>
<% else %>
<p class="tekst">U heeft succesvol een bericht toegevoegd aan het gastenboek</p><br>
<% End If 

response.write("<i class=""tekst"">" & checkHTML(request.form("naam")) & "</i><br>")
response.write("<i class=""tekst"">" & checkHTML(request.form("email")) & "</i><br>")
response.write("<i class=""tekst"">" & checkHTML(request.form("bericht")) & "</i><br><br>")
%>

<a href="gastenboek.asp" class="tekst">Terug naar het gastenboek.</a>
</body>
</html>

Ik heb het idee dat het wat kleins is, maar ik kijk er al een uur over heen.... Iemand die het wel ziet?

Je kan nu dus nog steeds lege berichten in voeren.

Huur mij in als freelance SEO consultant!


  • whoami
  • Registratie: December 2000
  • Laatst online: 07-09 19:30
Veel te veel code om te doorspitten.... Post enkel eens het relevante gedeelte.

https://fgheysels.github.io/


Verwijderd

code:
1
isNull(request.form("bericht"))

request.form("bericht") is waarschijnlijk niet null, maar gewoon leeg. Controleer daar eens op.

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
Korte versie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if isNull(request.form("naam")) Or isNull(request.form("bericht")) then
    response.write("<p class=""kop"">U Heeft niks gepost.</p>")
else
    objcontact.addnew
    objcontact("naam")= checkHTML(request.form("naam"))
    objcontact("email")= checkHTML(request.form("email"))
    objcontact("bericht")= checkHTML(request.form("bericht"))
    objcontact("datum")= request.form("datum")
    objcontact.update

    objcontact.close
    set objcontact = nothing
    
    db.close
    set db = nothing
End if

Huur mij in als freelance SEO consultant!


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
Op vrijdag 24 mei 2002 11:45 schreef TrashNSk8 het volgende:
code:
1
isNull(request.form("bericht"))

request.form("bericht") is waarschijnlijk niet null, maar gewoon leeg. Controleer daar eens op.
als ik isEmpty() gebruik wilt het nog steeds niet.

Huur mij in als freelance SEO consultant!


Verwijderd

if (trim(request.form("naam")) <> "") Or (trim(request.form("bericht")) <> "") then

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
Het werkt inmiddels. Hij is inderdaad niet null en ook niet empty maar als ik op "" controleer werkt het.

Is dit dus niet gelijk aan isEmpty() ?

Huur mij in als freelance SEO consultant!


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
[b]Op vrijdag 24 mei 2002 11:52 schreef CrashOne

Is dit dus niet gelijk aan isEmpty() ?
Blijkbaar niet. :P

Eat right. Stay fit. Die anyway.


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 07-09 17:43

Crazy D

I think we should take a look.

Empty

The Empty keyword is used as a Variant subtype. It indicates an uninitialized variable value.


Null

The Null keyword is used to indicate that a variable contains no valid data. This is not the same thing as Empty.
Maar aangezien je invoer uit een form komt zal deze nooit null of empty zijn, maar leeg... "" dus.

Exact expert nodig?


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 21:39
Op vrijdag 24 mei 2002 12:13 schreef Crazy_D het volgende:

[..]

Maar aangezien je invoer uit een form komt zal deze nooit null of empty zijn, maar leeg... "" dus.
Misschien een stomme vraag hoor, maar waarom check je dit niet met javascirpt dan :? :? Heb je daar een reden voor?

Javascrpt is namelijk makkelijker, maar dat is mijn mening :)

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Topicstarter
Op vrijdag 24 mei 2002 12:19 schreef Kermit het volgende:

[..]

Misschien een stomme vraag hoor, maar waarom check je dit niet met javascirpt dan :? :? Heb je daar een reden voor?

Javascrpt is namelijk makkelijker, maar dat is mijn mening :)
Omdat javascript client side is. Als je dan gewoon de html kopieeert en je maakt zelf een form dan kan je als nog html in mijn gastenboek zetten.

Huur mij in als freelance SEO consultant!


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 21:39
Op vrijdag 24 mei 2002 12:24 schreef CrashOne het volgende:

[..]

Omdat javascript client side is. Als je dan gewoon de html kopieeert en je maakt zelf een form dan kan je als nog html in mijn gastenboek zetten.
Ow ja da's wel zo ja,

Nou ja, vind ik niet zo erg, ik denk dat al mijn vrienden niet eens weten hoe ze de bron moeten opvragen van een pagina :+ :+ :P

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 07-09 17:43

Crazy D

I think we should take a look.

Op vrijdag 24 mei 2002 12:19 schreef Kermit het volgende:
Misschien een stomme vraag hoor, maar waarom check je dit niet met javascirpt dan :? :? Heb je daar een reden voor?

Javascrpt is namelijk makkelijker, maar dat is mijn mening :)
Omdat je _nooit_ (in bold en megagroot lettertype) de validatie enkel aan de clientside moet laten plaatsvinden. Is hooguit een handigheidje zodat je de pagina niet hoeft te reloaden, maar je mag in je serverside-script nooit de input vertrouwen, die moet je gewoon altijd serverside valideren. Punt. ;)

Exact expert nodig?


Verwijderd

Op vrijdag 24 mei 2002 12:47 schreef Crazy_D het volgende:

[..]

Omdat je _nooit_ (in bold en megagroot lettertype) de validatie enkel aan de clientside moet laten plaatsvinden. Is hooguit een handigheidje zodat je de pagina niet hoeft te reloaden, maar je mag in je serverside-script nooit de input vertrouwen, die moet je gewoon altijd serverside valideren. Punt. ;)
klopt, maar een eerste check client-side is wel erg handig. Vind ik dan. :)

Verwijderd

Als de validatie puur inhoudt dat er moet worden gecontroleerd of een bepaald veld leeg is, dan lijkt me dat je dat beter client-side kunt doen: [miereneukerijmode]Het scheelt in bandbreedte en laadtijd [/mierenneukerijmode] en je hoeft niet met redirect te liggen klooien maar zorgt er gewoon voor dat het form niet gesubmit wordt als de verplichte velden niet ingevuld zijn.

Voor een validatie op inlog-gegevens etc. is serverside natuurlijk wel DE oplossing.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 24 mei 2002 20:25 schreef D-mension het volgende:
dan lijkt me dat je dat beter client-side kunt doen:
nooit de clientside (helemaal) vertrouwen ;)
Pagina: 1