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">• <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"-->
________________________________________________________