Avatar billede Slettet bruger
05. maj 2002 - 19:24 Der er 6 kommentarer og
1 løsning

validering via asp

Hej eksperter...l. nu er jeg så mange gange stødt på at folk siger at jeg skal huske at validere via serverspog oxo.

men hvordan gøres dette, det eneste jeg kan finde på er en ifsætning der tjekker om inputte fra en form er =""

er jeg helt forkert på den ?

mvh.
www.questis.dk
Avatar billede medions Nybegynder
05. maj 2002 - 19:26 #1
<% @language="VBScript" %>
<%
'Deklererer nogle variable:
Dim XMLnode
Dim objXML, objRod
Dim login, password

'Sparer et par kald til Request.Form:
login = Request.Form("login")
password = Request.Form("pw")

'Opretter et XMLDOM-objekt, som skal hjælpe til med at validere login og password.
strFullPath = Server.MapPath("data\medlemmer.xml")
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.Load(strFullPath)
Set objRod = objXML.documentElement

'Funktionen er lavet boolsk alt efter om operationen / log in´et lykkes:
Function find(node)
Dim x
For x = 0 to node.childNodes.length - 1
    If node.childNodes(x).childNodes(0).text = login AND node.childNodes(x).childNodes(1).text = password Then
        'Sætter Session-variable, som identificerer medlemmet under f.eks. svar!
        Session("login") = login
        Session("navn") = node.childNodes(x).childNodes(3).text
        Session("email") = node.childNodes(x).childNodes(2).text
       
        'Returnér værdien sand:
        find = True
        Exit Function
    End If
Next

'Når programmet herned til, er login´et ikke fundet, eller login og password passede ikke sammen.
find = false

End Function

If find(objRod) Then
    Response.Redirect("forum.asp?action=login")
Else
    Response.Redirect("login.asp?login=fail")
End If

Set objXML = Nothing
Set objRod = Nothing
%>

//>Rune
Avatar billede medions Nybegynder
05. maj 2002 - 19:29 #2
Ups der var her den var:

<!--Vigtige oplysninger:Baggrundsfarve = #65809Aramme = 85% / height = 85%menu1 = 18%menu2 = 18%-->
<!-- #Include file?="inc/data.asp" -->

<%
Dim V_ValiderEmail, V_Snabler, V_UgyldigeDomaener, V_Domaene, V_GyldigeEndelser, V_GyldigEndelse, V_Endelse, V_Ekskluder, V_i, V_Status

Function Valider(V_ValiderEmail)

    Valider            = True
    V_ValiderEmail    = LCase(V_ValiderEmail)
   
    ' (1) Check laengde '-----------------------------------------------------------------------
   
    If Len(V_ValiderEmail) < 5 Then
        Valider    = False
        V_Status    = "E-mail adressen er for kort."
        Exit Function
    End If

    ' (2) Skal indeholde @ '--------------------------------------------------------------------
   
    If InStr(V_ValiderEmail,"@") = 0 Then
        Valider    = False
        V_Status    = "Der mangler et ""@"" i e-mail adressen."
        Exit Function
    End If

    ' (3) Undgaa "@." og ".@" '-----------------------------------------------------------------
   
    If ((InStr(V_ValiderEmail,"@.") <> 0) OR (InStr(V_ValiderEmail,".@") <> 0)) Then
        Valider    = False
        V_Status    = "Der må ikke være et punktum lige op af et ""@"" i e-mail adressen."
        Exit Function
    End If

    ' (4) Check om der er noget foran @ '-------------------------------------------------------
   
    If Len(Left(V_ValiderEmail,InStr(V_ValiderEmail,"@") - 1)) = 0 Then
        Valider    = False
        V_Status    = "Der mangler noget foran ""@"" i e-mail adressen."
        Exit Function
    End If

    ' (5) Minimum 1 "." '-----------------------------------------------------------------------

    If InStr(V_ValiderEmail,".") = 0 Then
        Valider    = False
        V_Status    = "En e-mail adresse indeholder mindst eet punktum."
        Exit Function
    End If

    ' (6) Max 3 tegn efter sidste "." '---------------------------------------------------------

    If (Len(V_ValiderEmail) - InStrRev(V_ValiderEmail,".") > 3) Then
        Valider    = False
        V_Status    = "Der er for mange tegn efter sidste punktum i e-mail adressen."
        Exit Function
    End If

    ' (7) Undgaa ".." '-------------------------------------------------------------------------

    If InStr(V_ValiderEmail,"..") <> 0 Then
        Valider    = False
        V_Status    = "Der mŒ ikke være to punktummer lige op af hinanden i e-mail adressen."
        Exit Function
    End If

    ' (8) Min 2 tegn efter sidste "." '---------------------------------------------------------

    If (Len(V_ValiderEmail) - InStrRev(V_ValiderEmail,".") < 2) Then
        Valider    = False
        V_Status    = "Der skal være mindst to tegn efter sidste punktum i e-mail adressen."
        Exit Function
    End If

    ' (9) Ingen "_" efter "@" '-----------------------------------------------------------------

    If ((InStr(V_ValiderEmail,"_") <> 0) AND (InStrRev(V_ValiderEmail,"_") > InStrRev(V_ValiderEmail,"@"))) Then
        Valider    = False
        V_Status    = "Der må ikke være en underscore (_) efter ""@""."
        Exit Function
    End If

    ' (10) Tjek for flere "@" '-----------------------------------------------------------------

    V_Snabler = 0

    For V_i = 1 TO Len(V_ValiderEmail)
        If Mid(V_ValiderEmail,V_i,1) = "@" Then
            V_Snabler = V_Snabler + 1
        End If
    Next

    If V_Snabler > 1 Then
        Valider    = False
        V_Status    = "E-mail adressen indeholder for mange ""@""."
        Exit Function
    End If

    ' (11) Check V_Domaene ud fra array '-------------------------------------------------------

    V_UgyldigeDomaener    = Array("hotmai.com","yahho.dk","hotmaile.com","mail1stofanet.dk","ofri.dk","post1.dk","post2.dk","post3.dk","post4.dk","post5.dk","post6.dk","post7.dk","post8.dk","fc.skolekom.dk","post9.dk","hommail.com","jupiipost.dk","forom.dk","furom.dk","frorum.dk","mail.forum.dk","mailforum.dk","forum.mail.dk","sol.ak","guld.dk","hormail.com","wanacoo.dk","sol.mail.dk","mail.tel.dk")
    V_Domaene                = Right(V_ValiderEmail,(Len(V_ValiderEmail) - InStrRev(V_ValiderEmail,"@")))

    For V_i = 0 TO UBound(V_UgyldigeDomaener)
        If V_Domaene = V_UgyldigeDomaener(V_i) Then
            Valider    = False
            V_Status    = "E-mail adressens domæne er ugyldigt."
            Exit Function
        End If
    Next

    ' (12) Tjek om TLD'en er korrekt '----------------------------------------------------------

    V_GyldigEndelse    = False
    V_GyldigeEndelser    = Array("dk","com","edu","gov","int","mil","net","org","af","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","ac","au","at","az","bs","bh","bd","bb","by","be","bz","bj","bm","bt","bo","ba","bw","bv","br","io","bn","bg","bf","bi","kh","cm","ca","cv","ky","cf","td","cs","cl","cn","cx","cc","co","km","cg","ck","cr","ci","hr","cu","cy","cz","dj","dm","do","tp","ec","eg","sv","gq","er","ee","et","fk","fo","fj","fi","fr","gf","pf","tf","ga","gm","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","va","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kp","kr","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","fm","md","mc","mn","ms","ma","mz","mm","na","nr","np","nl","an","nc","nz","ni","ne","ng","nu","nf","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","re","ro","ru","rw","kn","lc","vc","ws","sm","st","sa","sn","sc","sl","sg","sk","si","sb","so","za","gs","es","lk","sh","pm","sd","sr","sj","sz","se","ch","sy","tw","tj","tz","th","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","gb","uk","us","um","uy","su","uz","vu","ve","vn","vg","vi","wf","eh","ye","yu","cd","zm","zr","zw")
    V_Endelse            = Right(V_ValiderEmail,(Len(V_ValiderEmail) - InStrRev(V_ValiderEmail,".")))

    For V_i = 0 TO UBound(V_GyldigeEndelser)
        If V_Endelse = V_GyldigeEndelser(V_i) Then
            V_GyldigEndelse = True
            Exit For
        End If
    Next
   
    If NOT V_GyldigEndelse Then
        Valider    = False
        V_Status    = "Domæne endelsen (f.eks. "".dk"" el. "".com"") er ikke korrekt."
        Exit Function
    End If

    ' (13) Check hver enkelt tegn '-------------------------------------------------------------

    For V_i = 1 TO Len(V_ValiderEmail)
        If NOT IsNumeric(Mid(V_ValiderEmail,V_i,1)) AND (LCase(Mid(V_ValiderEmail,V_i,1)) < "a" OR LCase(Mid(V_ValiderEmail,V_i,1)) > "z") AND Mid(V_ValiderEmail,V_i,1) <> "_" AND Mid(V_ValiderEmail,V_i,1) <> "." AND Mid(V_ValiderEmail,V_i,1) <> "@" AND Mid(V_ValiderEmail,V_i,1) <> "-" Then
            Valider    = False
            V_Status    = "E-mail adressen indeholder et eller flere ugyldige tegn."
            Exit Function
        End If
    Next

    ' (14) Adresser der skal ekskluderes (grundet SPAM el. lign.) '-----------------------------

    V_Ekskluder    = Array("rune@medions.dk", "daniel@server02.dk", "anders@and.dk", "test@test.dk", "test@test.com")

    For V_i = 0 TO UBound(V_Ekskluder)
        If V_ValiderEmail = V_Ekskluder(V_i) Then
            Valider    = False
            V_Status    = "Der kan ikke sendes til den valgte adresse da den er ekskluderet pga. misbrug."
            Exit Function
        End If
    Next

End Function
%>

<%
if Request.Form("email") <> "" then
email = Request.Form("email")
    If Valider(email) Then
        set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConn
        If Request.Form("RADIO") = "false" Then
        conn.Execute("DELETE * FROM nyhedsbrev WHERE email='" & email & "'")
        V_Status    = "E-mail adressen er nu slettet fra databasen"
        else
        on Error Resume Next
        conn.Execute("insert into nyhedsbrev (email) values ('" & email & "')")
        On Error GoTo 0
        V_Status    = "E-mail adressen er nu tilføjet i databasen"
        end if
        conn.Close
        set conn = nothing
    end if
end if
%>

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

<html>
<head>
    <title>[ &nbsp; m e d i o n s . d k &nbsp; ]</title>
            <meta name="keywords" content="ASP, XML, WML, HTML, NET, Programmering, internet, web-design, VBScript, Forum, Community, flash, scripts, web, it, intranet, forms, tables, databas, databaser, access, sql, standard, systemer, redigering, værktøjer, systemudvikling, toturials, lektioner">
                  <meta name="description" content="www.medions.dk">
    <link rel="stylesheet" type="text/css" href="style/style.css">
       
<!-- JavaScript start -->

              <!--#include file="inc/jscript.asp"-->
             
<!-- JavaScript slut -->
   
   
</head>
<body>

<!-- Farvebod -->

              <!--#include file="inc/farver.asp"-->
             
<!-- /Farvebod -->

<!-- Top / menu .1 start -->

              <!--#include file="inc/menu1.asp"-->

<!-- Top / menu .1 slut -->

<!-- Ramme start -->
<table align="center" class="ramme" height="85%" width="85%">
  <tr>
<!-- Menu .2 start -->

                <!--#include file="inc/menu2.asp"-->
             
<!-- Menu .2 slut -->

<!-- Banner start -->

              <td valign="top" height="30">
              <p align="center">
              <!--#include file="inc/banner.asp"-->
              </p>
              </td>
   
<!-- Banner slut -->

<!-- Menu .3 start -->

                <!--#include file="inc/menu3.asp"-->
             
<!-- Menu .3 slut -->

<!-- Index start -->
  <tr>
    <td>
        <table align="center" height="100%">
   
        <tr>
            <td width="50%" valign="top">
            <center><b><u><font color="#ffffff"><%=V_Status%></font></u></b></center>
            </td>
   
        </table>
    </td>
  </tr>
<!-- Index slut -->
</table>
<!-- Ramme slut -->


<!-- Bund start -->

                <!--#include file="inc/bund.asp"-->

<!-- Bund slut -->
</body>
</html>

//>Rune
Avatar billede Slettet bruger
05. maj 2002 - 19:29 #3
hmmmm.... alt det der med xml og childNodes fatter jeg intet af kan du uddybe det lidt, er stadig newbie i asp
Avatar billede Slettet bruger
05. maj 2002 - 19:31 #4
okay, nu blev det først sort snak, er der et sted, hvor der er en tutorial til dette, for det var en stor mundfuld det der &:-D
Avatar billede medions Nybegynder
05. maj 2002 - 19:31 #5
Den skal du ik' tage dig af... - det er nr. 2 jeg sendte du skal bruge... hehe :-)

//>Rune
Avatar billede medions Nybegynder
05. maj 2002 - 19:32 #6
www.html.dk - under ASP...

Du skal jo bare requeste dine felter..!

//>Rune
Avatar billede medions Nybegynder
05. maj 2002 - 20:07 #7
Thx 4 Poinz
//>Rune
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
Kurser inden for grundlæggende programmering

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