Avatar billede 47power Nybegynder
25. december 2008 - 22:16 Der er 2 kommentarer og
1 løsning

Hjælp til at fixe "opret bruger funktion"

Har følgene asp kode - den tilføjer intet til min database - den indeholder sikkert en del fejl, har arbejdet langtid på den nu og kan ikke finde ud af det mere - så 100p til løsningen :-)

den er rimlig stor, 293 linjer, fylder 1000 normalt :) men fjernede en del postnr osv fra select's

opretbruger.asp

Includes:
md5.asp - md5 hash funktion
top.asp - design og MYSql connection start
bund.asp - design og MySQL connection slut

online demo: http://www.spraywall.dk/opretbruger.asp
screenshot af MYSQL DB: http://www.spraywall.dk/mysql.png
__________________________________________________________
<!--#include file="includes/top.asp"-->
********************* INCLUDE top.asp  indeholder connection - den virker :-) **************************


<!--#include file="md5.asp"-->
<%
function TestCaptcha(byval valSession, byval valCaptcha)
    dim tmpSession
    valSession = Trim(valSession)
    valCaptcha = Trim(valCaptcha)
    if (valSession = vbNullString) or (valCaptcha = vbNullString) then
        TestCaptcha = false
    else
        tmpSession = valSession
        valSession = Trim(Session(valSession))
        Session(tmpSession) = vbNullString
        if valSession = vbNullString then
            TestCaptcha = false
        else
            valCaptcha = Replace(valCaptcha,"i","I")
            if StrComp(valSession,valCaptcha,1) = 0 then
                TestCaptcha = true
            else
                TestCaptcha = false
            end if
        end if       
    end if
end function
%>
<script language="javascript">
function RefreshImage(valImageId) {
    var objImage = document.images[valImageId];
    if (objImage == undefined) {
        return;
    }
    var now = new Date();
    objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}
</script>
<SCRIPT text="text/JavaScript">
<!--
function validate()
{
var ok = "ja";

var skal_udfyldes = new Array("brugernavn", "adgangskode", "email", "navn", "koen", "hood", "dag", "maaned", "aar", "captchacode");

el = document.forms['rette'].elements;
for(var i=0;i<el.length - 1;i++){

  for (var a=0; a < skal_udfyldes.length; a++) {

    if ( (el[i].name == skal_udfyldes[a]) && (el[i].value.length == 0) && (el[i].type == "text") ) {
      ok = "nej";
    }
  }
}

if (ok == "nej") {
  alert("Alle felter skal være udfyldte KORREKT.");  return false;
} else {
  return true;
}

}
//-->
</SCRIPT>
            <!-- Main start -->

                <h2><strong>Få en</strong> SprayWall account</h2>
                <div class="content">
<% if Request.Querystring("vis") = "fejl" Then %>
<div class="error">Der skette en fejl, du har indtastet et felt forkert..<br>
<a href="opretbruger.asp?">Klik her for at prøve igen!</a></div>
<% else %>
<form name="rette" OnSubmit="return validate()" method="post" action="opretbruger.asp">
<input type="hidden" name="btnTest" value="indhold">
<p>Udfyld formularen, og få adgang til alle funktioner på SprayWall.dk på få minutter.<br></p>
<br>
<h3><strong>Konto</strong> oplysninger</h3>
<p><label for="brugernavn">• Brugernavn:</label>
<input type="text" id="brugernavn" name="brugernavn" size="30"></p>
<br>
<p><label for="adgangskode">• Adgangskode:</label>
<input type="text" id="adgangskode" name="adgangskode" size="30"></p>
<br>
<p><label for="email"><b>• E-Mail:</label>
<input type="text" id="email" name="email" size="30"></p><br><br>
<h3><strong>Oplysninger</strong> om dig.</h3>
<p>Hvem er du, og hvor du fra?</p>
<p><label for="navn">• Navn:</label>
<input type="text" id="navn" name="navn" size="30"></p>
<br><br>
<p><label for="koen">• Køn:</label>
<select WIDTH="205" STYLE="width: 205px" name="koen" id="koen">
<option value="" selected>Vælg i listen..</option>
<option value="1">Mand</option>
<option value="2">Kvinde</option>
</select></p>
<br>
<p><label for="hood">• Hood:<b></b></label>
<select WIDTH="205" STYLE="width: 205px" name="hood" id="hood">
<option value="" selected>Vælg i listen..</option>
<option>5320 Agedrup</option>
<option>6753 Agerbæk</option>
<option>6534 Agerskov</option>
<!-- alle danmarks postnr. som options... fylder flere hundrede linjer så derfor pillet væk :-) -->
</select>
</p>
<br><br>
<h3><strong>Fødsels</strong>dato</h3>
<p><label for="dag">• Dag:</label>
<select WIDTH="205" STYLE="width: 205px" name="dag" id="dag">
<option value="" selected>Vælg i listen..</option>
    <option>1</option>
      <option>2</option>
<!-- en masse dage som options -->
</select>
</p>
<br>
<p><label for="maaned">• Måned:</label>
<select WIDTH="205" STYLE="width: 205px" name="maaned" id="maaned">
<option value="" selected>Vælg i listen..</option>
  <option value="1">Januar</option>
  <option value="2">Februar</option>
<-- en masse måneder -->
</select>
</p>
<br>
<p><label for="aar">• År:</label>
<select WIDTH="205" STYLE="width: 205px" name="aar" id="aar">
<option value="" selected>Vælg i listen..</option>
<option>1940</option>
<!-- en masse datoer som options -->
</select>
<br><br>
<hr size="1" color="#000000">
<br>
<h3><strong>Captcha</strong> kode</h3>
<img id="imgCaptcha" src="captcha.asp" style="border: 1px solid #000000;"></a><br>
<b>Svært at læse indholdet? Klik <a href="java script:void(0)" onclick="RefreshImage('imgCaptcha')">her for at skifte.</a></b><br><br>
<hr size="1" color="#000000">
<br>
<p><label for="captcha">&bull; <b>Indtast captcha:</b></label>
<input id="captcha" name="captchacode" type="text" id="captchacode" size="30">
</p>
<br><hr size="1" color="#000000"><br>
<h3><strong>VIGTIGT!</strong> Læs dette.</h3>
Du skal være sikker på at alle felter er <strong>udfyldt</strong> 100% korrekt.<br>
Captcha skal være indtastet rigtigt, og Køn, Hood, Fødselsdag(dag, måned, år) skal være valgt. Hvis bare en fejl er sket under indtastningen, bliver din account ikke oprettet.<br>
<strong>Tjek evt. formularen inden du fortsætter.</strong>
<br><br><br>
<h3><strong>Betingelser</strong> ...</h3>
SprayWall tillader enhver form for information, der ikke er i strid med bestemmelser i dansk og international lovgivning, dog med undtagelse af pornografisk eller andet kontroversielt materiale, som ikke må forefindes SprayWall.dk.
<br><br>
<hr size="1" color="#000000"><br>
<center><b>Velkommen til SprayWall.dk :-)</b>
<p><input type="submit" value="KLIK HER FOR AT OPRETTE ACCOUNT"></p></center><br>
<hr size="1" color="#000000">
</form>
<!-- GRAFIK ? -->
<% end if %>
</div>

                <!-- Main End -->
<!-- ASP -->
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

    if not IsEmpty(Request.Form("btnTest")) then
        if TestCaptcha("ASPCAPTCHA", Request.Form("captchacode")) then


    Dim goby
    goby = 0 'Initializing goby to 0

    'if the len is less than 5 then it can't be an email
    '(i.e.: a@a.c)
    If Len(Request.Form("email")) <= 5 Then
      goby = 1
    End If

    If InStr(1, Request.Form("email"), "@", 1) < 2 Then
        'If we find one and only one @, then the
        'email address is good to go.
        goby = 1
    Else
        If InStr(1,Request.Form("email"), ".", 1) < 4 Then
            'Must have a '.' too
            goby = 1
        End If
    End If

    If goby <> 1 then
brugernavn = replace(md5(request.form("brugernavn")),"'","''")
adgangskode = replace(request.form("adgangskode"),"'","''")
email = replace(request.form("email"),"'","''")
navn = replace(request.form("navn"),"'","''")
koen = replace(request.form("koen"),"'","''")
hood = replace(request.form("hood"),"'","''")
dag = replace(cINT(request.form("dag")),"'","''")
maaned = replace(cINT(request.form("maaned")),"'","''")
aar = replace(cINT(request.form("aar")),"'","''")
Dim Error
Error = False
'formular input tjek
If ""&brugernavn&"" = "" Then
Error = true
end if
If ""&adgangskode&"" = "" Then
Error = true
end if
If ""&email&"" = "" Then
Error = true
end if
'formular input tjek
If ""&navn&"" = "" Then
Error = true
end if
'formular input tjek
If ""&koen&"" = "" Then
Error = true
end if
'formular input tjek
If ""&hood&"" = "" Then
Error = true
end if
'formular input tjek
If ""&dag&"" = "" Then
Error = true
end if
'formular input tjek
If ""&maaned&"" = "" Then
Error = true
end if
'formular input tjek
If ""&aar&"" = "" Then
Error = true
end if

If Error then
Response.Redirect "opretbruger.asp?fejl=1"
else

udFoedselsdag = ""&dag&"-"&maaned&"-"&aar&""

strSQL = "Select * From logind where brugernavn='" & brugernavn & "'"
Set rs = Conn.Execute(strSQL)

If rs.EOF Then

strSQL = "Insert into logind ("
strSQL = strSQL & "brugernavn, "
strSQL = strSQL & "adgangskode, "
strSQL = strSQL & "email, "
strSQL = strSQL & "navn, "
strSQL = strSQL & "koen, "
strSQL = strSQL & "hood, "
strSQL = strSQL & "fodselsdag, "
strSQL = strSQL & "type, "
strSQL = strSQL & "picture, "
strSQL = strSQL & "ostat) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'" & brugernavn & "', "
strSQL = strSQL & "'" & adgangskode & "', "
strSQL = strSQL & "'" & email & "', "
strSQL = strSQL & "'" & navn & "', "
strSQL = strSQL & "'" & koen & "', "
strSQL = strSQL & "'" & hood & "', "
strSQL = strSQL & "'" & udFoedselsdag & "', "
strSQL = strSQL & "'1', "
strSQL = strSQL & "'1', "
strSQL = strSQL & "'1')"
Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
Response.Redirect "opretbruger.asp?vis=oprettet"
else
Response.Redirect "opretbruger.asp?vis=optaget"
end if
end if
else
Response.Redirect "opretbruger.asp?vis=fejl"
end if
else
Response.Redirect "opretbruger.asp?vis=fejl"
end if
end if
end if
%>
********************* INCLUDE bund.asp  lukker connection, alt ok her. **************************
<!--#include file="includes/bund.asp"-->
________________________________________________________
Avatar billede 47power Nybegynder
26. december 2008 - 14:57 #1
Er 100 point for lidt eller? bare sig til
Avatar billede 47power Nybegynder
28. december 2008 - 20:29 #2
:-) ligemeget
Avatar billede 47power Nybegynder
28. december 2008 - 20:29 #3
:-) svar..
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