Avatar billede bpedersen Novice
27. december 2003 - 23:50 Der er 4 kommentarer og
1 løsning

Kan ikke gemme i DB

Hej

Jeg kan ikke gemme i db, kan I se hvad der er galt, får en intern serverfejl !!!

poster lige filerne der benyttes:

ny.asp
************
<html>
<head>
    <script language='javascript'>
function messageLength( theForm ) {
  ml = form1.selfdescription.value.length
  return ml
}

function updateCharsLeft( theForm ) {
  charsLeft = 3500 - messageLength( theForm )
  theForm.charsLeft.value = charsLeft
  len = messageLength( theForm )
  if( len > 3500 ) {
    alert( 'Beskrivelsen er for lang. Den er ' + len +
          ' tegn lang. Den maksimalt tilladte længde er 3500 tegn' )
    return false
  }
}

var dineData = new Array();
dineData[100] = "Tórshavn";
dineData[110] = "Tórshavn (Postmugur)";
HAR SLETTET ALLE ANDRE POSTNUMRE !!!
dineData[9982] = "Ålbæk";
dineData[9990] = "Skagen";




function lookUp (postnrfelt) {

        if (dineData[postnrfelt.value])
            document.f.bynavn.value = dineData[postnrfelt.value];
        else {
            alert( "ukendt postnummer: "+postnrfelt.value+", prøv igen" );
            postnrfelt.focus();
    }
}; //end lookUp ( Formfelt object )

</script>
<title>Ny Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK REL="StyleSheet" HREF="default.css" type="text/css">
</head>

<body>

<br>
<p><b>Opret brugerprofil</b>
<form name="f" method="post" action="opret.asp">
<p>Fornavn:<br>
      <input type="text" name="fornavn" maxlength="50" size="50">
           
<p>Efternavn:<br>
      <input type="text" name="efternavn" maxlength="50" size="50">
     
<p>Brugernavn:<br>
      <input type="text" name="brugernavn" maxlength="50" size="50">
     
<p>Køn:<br>
      Mand <input type="radio" value="m" name="sex" checked>
      Kvinde <input type="radio" value="k" name="sex">

<p>Alder:<br>
    <input type="text" name="alder" maxlength="2" size="2">
    <p>Postnummer:<br>
    <input name="zipcode" type='text' value="" onkeyup="if(this.value.length==4){lookUp(this)};" size="4" maxlength="4" tabindex="12">
    <input name="bynavn" type='text' class='fakeinvisible' value="" onfocus='this.blur'; tabindex="13">   
   
<p>E-mail adresse:<br>
    <input type="text" name="email" maxlength="50" size="50">
     
<p>Ønsket password:<br>
    <input type="password" name="password" maxlength="50" size="50">     
     
<p>Hjemmeklub:<br>
      <input type="text" name="klub" maxlength="50" size="50">
<p>Hcp:<br>
      <input type="text" name="hcp" value="" maxlength="50" size="50">
<p><br>
  <input type="submit" value="Opret">
  &nbsp;
  <input type="reset" value="Slet alt">
</form><p>
<p><ul><i>Dine oplysninger vil aldrig blive videregivet til 3. part! og din emailadresse anvendes kun til at sende dit password til dig igen.</i></ul>
</body>
</html>
*******************
opret.asp
*************
<html>
<head>
<title>opret bruger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK REL="StyleSheet" HREF="default.css" type="text/css">
</head>
<body>
<p><b>Brugeroprettelse</b>
<%
Dim fornavn, efternavn, brugernavn, sex, alder, zipcode, bynavn, email, password, klub, hcp, fejl

fejl = false

fornavn = Request.Form("fornavn")
efternavn = Request.Form("efternavn")
brugernavn = Request.Form("brugernavn")
sex = Request.Form("sex")
alder = Request.Form("alder")
zipcode = Request.Form("zipcode")
bynavn = Request.Form("bynavn")
email = Request.Form("email")
password = Request.Form("password")
klub = Request.Form("klub")
hcp = Request.Form("hcp")

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("brugere.mdb")
Conn.Open DSN

'Tester om brugernavn findes i databasen
Set rs = Conn.execute ("SELECT * FROM brugere WHERE brugernavn='" & brugernavn & "'")

If Not rs.Eof Then
    Response.Write("<p><font color=red>Brugernavnet er optaget! Vælg et andet brugernavn.</font></p>")
    fejl = true
End If

Conn.Close
Set Conn = Nothing

If brugernavn = "" Then
    Response.Write("<p>Indtast brugernavn!</p>")
    fejl = true
End If

If fornavn = "" Then
    Response.Write("<p>Indtast fornavn!</p>")
    fejl = true
End If

If efternavn = "" Then
    Response.Write("<p>Indtast efternavn!</p>")
    fejl = true
End If

If alder = "" Then
    Response.Write("<p>Indtast alder!</p>")
    fejl = true
End If

If zipcode = "" Then
    Response.Write("<p>Indtast postnummer!</p>")
    fejl = true
End If

If email = "" Then
    Response.Write("<p>Indtast emailadresse!</p>")
    fejl = true
End If

If password = "" Then
    Response.Write("<p>Indtast password!</p>")
    fejl = true
End If

If klub = "" Then
    Response.Write("<p>Indtast klubnavn!</p>")
    fejl = true
End If

If hcp = "" Then
    Response.Write("<p>Indtast hcp!</p>")
    fejl = true
End If

'Opretter profil i databasen
If fejl <> true Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("brugere.mdb")
Conn.Open DSN

strSQL = "INSERT INTO brugere (" &_

    "fornavn, efternavn, brugernavn, sex, alder, zipcode, bynavn, email, password, klub, hcp, oprettet, sidste_login) " &_

    "values('" & fornavn & "', '" & efternavn & "', '" & brugernavn & "', '" & sex & "', '" & alder & "', '" & zipcode & "', '" & bynavn & "', '" & email & "', '" & password & "', '" & klub & "', '" & hcp & "', '" & Now & "', '" & Now & "')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

'Udskriver information
    Response.Write "<p><b>Brugernavn:</b> " & brugernavn
    Response.Write "<p><b>Fornavn:</b> " & fornavn
    Response.Write "<p><b>Efternavn:</b> " & efternavn
    Response.Write "<p><b>Password:</b> " & password
    Response.Write "<p><b>E-mail:</b> <a href=mailto:" & email & ">" & email & "</a></p>"
    Response.Write "<p><b>Klub:</b> " & klub
    Response.Write "<p><b>Hcp:</b> " & hcp "<br>"
    Response.Write "<p>Velkommen til, " & brugernavn & "! Du er nu oprettet som bruger!</p>"
    Response.Write "<p><a href=java script:window.print()>Udskriv information</a></p>"
End If

If fejl = true Then
    Response.Write("<p><a href=java script:history.back()>Tilbage</a></p>")
End If
%>

</body>
</html>
********************

Har tjekket at DB indeholder de korrekte kolonnenavne, jeg kan også få listet profilerne fra DB, det er kun når jeg skal oprette en ny det går galt.

PFT

Brian
Avatar billede eagleeye Praktikant
27. december 2003 - 23:52 #1
Du skulle gerne få en bedre fejl kode/beskrivelse ved at slå denne fra i IE:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede bpedersen Novice
27. december 2003 - 23:54 #2
prøver lige at se om det giver en bedre beskrivelse
Avatar billede eagleeye Praktikant
27. december 2003 - 23:55 #3
Det kunne havde noget med kolonnerne: oprettet, sidste_login
Hvilken type er de i databsen?
Avatar billede bpedersen Novice
27. december 2003 - 23:59 #4
<eagleeye> IGEN har du hjulpet mig !!! tak, smid lige et svar..
Ved ikke lige om jeg må spørge her, men kunne du evt. engageres til at tilrette/udbygge en site på et senere tidspunkt? (ASP)
Avatar billede eagleeye Praktikant
28. december 2003 - 00:00 #5
Ok her et svar ;)

Nej tak, jeg har ikke tid jeg har et arbejde hvor der er masser at lave ;)
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