Avatar billede cridonori Nybegynder
11. november 2002 - 19:53 Der er 12 kommentarer og
1 løsning

Et objekt er obligatorisk: ??????

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  Dim conn, SQL, rs
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DRIVER={mySql}; SERVER=localhost; UID=jesper; PWD=xxxxxx; DATABASE=person;"

SQL = "SELECT bnavn FROM person WHERE bnavn = '"& Request.form("brugerNavn")&"'"
set rs = Connection.Execute(SQL)
if rs.EOF then
  SQL = "INSERT INTO person (fnavn, enavn, bnavn, email, password, alder, koen, postnr, erfaring, beskrivelse)VALUES ('"&Request.form("forNavn")&"', '"& Request.form("efterNavn")&"', '"& Request.form("brugerNavn")&"', '"& Request.form("e-mail")&"', '"& Request.form("password")&"', '', '', '', '', '')"
else
Response.write "<CENTER><br>Brugernavnet / password som du ønsker er desværre optaget, prøv venligst igen.<BR></CENTER>" 
end if

Jeg har ovenstående kode, og har fået løst en del dumme fejl, men den her kan jeg ikke forstå:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: ''
/rollespil/noframe/211.asp, line 131

nogle gode forslag ?
Avatar billede a-torsten Nybegynder
11. november 2002 - 20:11 #1
Det betyder at dine felter ikke tillader null-værdier...

-Anders
Avatar billede cridonori Nybegynder
11. november 2002 - 20:18 #2
er ikke med *s*
Avatar billede cridonori Nybegynder
11. november 2002 - 20:20 #3
<%
'Tjek om form'en er send og så indsæt i databasen
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Dim Conn, SQL, rs
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={mySql}; SERVER=localhost; UID=jesper; PWD=hansen; DATABASE=person;"
SQL = "SELECT bnavn FROM person WHERE bnavn = '"& Request.form("brugerNavn")&"'"

Set Conn = Server.CreateObject("ADODB.Connection")
set rs = Connection.Execute(SQL)
Conn.Open "DRIVER={mySql}; SERVER=localhost; UID=jesper; PWD=hansen; DATABASE=person;"
if rs.EOF then
  SQL = "INSERT INTO person (fnavn, enavn, bnavn, email, password, alder, koen, postnr, erfaring, beskrivelse)VALUES ('"&Request.form("forNavn")&"', '"& Request.form("efterNavn")&"', '"& Request.form("brugerNavn")&"', '"& Request.form("e-mail")&"', '"& Request.form("password")&"', ' " & Request.Form("alder") & "', '"& Request.Form("koen") &" ', '" & Request.Form("postNr") &"', '" & Request.Form("erfaring") & "', ' " & Request.Form("hest") &" ')"
else
Response.write "<CENTER><br>Brugernavnet / password som du ønsker er desværre optaget, prøv venligst igen.<BR></CENTER>" 
end if

  Conn.Execute(SQL)
  conn.close
  set conn = nothing
End if
%>

koden ser således ud, og fejlen er :

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: ''
/rollespil/noframe/211.asp, line 132


HJÆLP please :-)
Avatar billede cridonori Nybegynder
11. november 2002 - 20:22 #4
set rs = Connection.Execute(SQL) linje 132
Avatar billede eagleeye Praktikant
11. november 2002 - 20:24 #5
Dion Connection heddder ikke Connection men kun Conn

Ret denne linie:
set rs = Connection.Execute(SQL)

Ril:
set rs = Conn.Execute(SQL)
Avatar billede cridonori Nybegynder
11. november 2002 - 20:26 #6
får nu følgende fejl :
ADODB.Connection (0x800A0E78)
Handlingen er ikke tilladt, mens objektet er lukket.
/rollespil/noframe/211.asp, line 132
Avatar billede cridonori Nybegynder
11. november 2002 - 20:27 #7
virker nu :-)))
Avatar billede eagleeye Praktikant
11. november 2002 - 20:28 #8
ok :)
Avatar billede cridonori Nybegynder
11. november 2002 - 20:39 #9
kan du hjælpe med en ting til ? *s'

sig hvis du vil have flere point.
har tilsyneladende et problem med min logik her :-)

det jeg gerne ville have skulle sker er at  hvis et brugernavn er optaget kommer der en beddelse på skærmen i stedet for at jeg fortæller personen at han nu er oprettet. (det er det som sker nu)

hvordan kan jeg få på skærmen at brugernavn er optaget eller at personen er oprettet ?

koden ser nu ud som sådan og virker fint bortset fra fejlem med output :

<% OPTION EXPLICIT%>
<HTML><HEAD>
<LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
<TITLE>Dansk Rollespils Portal</TITLE>
</HEAD>

<BODY>
<TABLE class=tabel>
    <TR Height=20px>
        <TD COLSPAN="2" class=TD1>
        <CENTER>| <a href="http://agger/rollespil/noframe/21.asp">Ny Bruger</a> | <a href="http://agger/rollespil/noframe/22.asp"> Glemt Password</a> | <A HREF="http://agger/rollespil/noframe/23.asp">Rediger Profil</A> |</CENTER>
        </TD>
    </TR>
<TR class=TR1>
    <TD class=TD2>
    <span style="position:absolut;top:1%;width:100%; padding-top: 10px;">
    <CENTER><A HREF="http://agger/rollespil/noframe/1.asp">Hovedside</A></CENTER><BR>
    <CENTER><%
if (Session("loginOK") = "jada") then
Response.Write "<a href='http://agger/rollespil/noframe/logout.asp'>Log Out </a>"
else
Response.Write "<a href='http://agger/rollespil/noframe/2.asp'>Log In</a>"
End if %></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/3.asp">Spil på net</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/chat.asp">Chat</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/4.asp">Live</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/5.asp">Spil Kontakt</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/6.asp">Opslagstavlen</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/7.asp">Eventyr</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/8.asp">Galleri</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/9.asp">Køb/Salg</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/begivenheder.asp">Begivenheder</A></CENTER><BR>
    <CENTER><A HREF="http://agger/rollespil/noframe/links.asp">Links</A></CENTER><BR>
    <CENTER><a href='mailto:Cridonori@.tele.dk'>Webmaster</a></CENTER><br>
    </span>
    </TD>
        <TD class=TD4>
        <span style="position:absolut;top:1%;width:100%;" >
        <%
Dim strForNavn, strEfterNavn, strBrugerNavn, strE_Mail, varKoen, strAlder, varFRegler, varErfaring, varRegelboeger, strPostNummer, strHest, fail, Connection

strForNavn = Request.Form("forNavn")
strEfterNavn = Request.Form("efterNavn")
strBrugerNavn = Request.Form("brugerNavn")
strE_Mail = Request.Form("e-mail")
varKoen = Request.Form("koen")
strAlder = Request.Form("alder")
varFRegler = Request.Form("fRegler")
varErfaring = Request.Form("erfaring")
varRegelboeger = Request.Form("regelboeger")
strPostNummer = Request.Form("postNr")
strHest = Request.Form("hest")

if request.form("forNavn") = "" then
    fail = "Du skal indtaste et navn<br>"
    end if
   
if request.form("efterNavn") = "" then
    fail=fail & "Du skal indtaste dit efternavn<br>"
    end if
   
if request.form("brugerNavn") = "" then
fail=fail & "Du skal indtaste et brugernavn.<br>"
end if
   
if request.form("e-mail") = "" or InStr(Request.Form("e-mail"),"@") = 0 or INSTR(Request.Form("e-mail"),"@@") <> 0 THEN
fail=fail & "Du har fejl i din email<br>"
end if

if request.form("password") <> Request.form("password1") or request.form("password") = "" or request.form("password1") = "" then
fail=fail & "Dit password stemmer ikke overens, eller du har glemt at skrive et password.<br>"
end if

if fail <> "" then
response.write "<CENTER><br><b>Du mangler at indtaste følgende:<br><br></b>" & fail &"<br><br></b><A HREF=java script:history.go(-1)>Tilbage</A><BR></CENTER>"
        response.end
    end if
%>

<%
'Tjek om form'en er send og så indsæt i databasen
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
Dim Conn, SQL, rs
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={mySql}; SERVER=localhost; UID=jesper; PWD=hansen; DATABASE=person;"
SQL = "SELECT bnavn FROM person WHERE bnavn = '"& Request.form("brugerNavn")&"'"

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "DRIVER={mySql}; SERVER=localhost; UID=jesper; PWD=hansen; DATABASE=person;"
set rs = Conn.Execute(SQL)
if rs.EOF then
  SQL = "INSERT INTO person (fnavn, enavn, bnavn, email, password, alder, koen, postnr, erfaring, beskrivelse)VALUES ('"&Request.form("forNavn")&"', '"& Request.form("efterNavn")&"', '"& Request.form("brugerNavn")&"', '"& Request.form("e-mail")&"', '"& Request.form("password")&"', ' " & Request.Form("alder") & "', '"& Request.Form("koen") &" ', '" & Request.Form("postNr") &"', '" & Request.Form("erfaring") & "', ' " & Request.Form("hest") &" ')"
else
Response.write "<CENTER><br>Brugernavnet / password som du ønsker er desværre optaget, prøv venligst igen.<BR></CENTER>" 
end if
  Conn.Execute(SQL)
  conn.close
  set conn = nothing
End if
%>


<H3><P>
<CENTER><P>Vi har nu oprette dig som en <%=strAlder%> årig <%=varKoen%> Ved navn <H3 class="test"><%=strForNavn%></H3>&nbsp;<%=strEfterNavn%> som der kan skrives til på <%=strE_Mail%>&nbsp;<BR>
<P>Dit foretrukne spil er <%=varFRegler%>&nbsp; hvor dit erfaringsniavu er: <% =varErfaring %> og hvor din bogsamling er lig med: <%= varRegelboeger %>&nbsp;Du bor i <% =strPostNummer %> og har brugernavnet <%= strBrugernavn %><P><P>

Du vil gerne have spam omkring:<BR>
<%
if Request.QueryString("motri")="on" Then
    Response.Write "Egne spil"
End If
%>
&nbsp;
<%
if Request.QueryString("mon")="on" Then
    Response.Write " Nyheder"
End If
%>
&nbsp;
<%
if Request.QueryString("mosr")="on" Then
    Response.Write "Og Spil reklamer"
End If
%><BR>

Og her er din præsentation:
<% = strHest %>

<BR>

Håber at du kommer til at hygge dig.
</CENTER></H3>
        </SPAN>
        </TD>
    </TR>
<TR Height=30px>
    <TD class=TD3>
    <CENTER><A style="cursor:hand; color=yellow" onClick="this.style.behavior='url(#default#homepage)';this.setHomePage('www.rollespil.net');">Gør Til Startside</a></CENTER>
    </TD>
        <TD><CENTER>| <a href="http://agger/rollespil/noframe/1.html">Toppen af siden</a> |</CENTER></TD>
</TR>
</TABLE>

</BODY>
</HTML>
Avatar billede eagleeye Praktikant
11. november 2002 - 20:41 #10
øh du har et tjek på om et brugernavn findes og udskriver:

"Brugernavnet / password som du ønsker er desværre optaget"
Avatar billede cridonori Nybegynder
11. november 2002 - 20:43 #11
ja, men jeg udskriver samtidigt at personen er oprettet :-(

vil kun have en af tingene ud :-/
Avatar billede eagleeye Praktikant
11. november 2002 - 20:46 #12
Så skal du flytte disse linier:


<P>
<CENTER><P>Vi har nu oprette dig som en <%=strAlder%> årig <%=varKoen%> Ved navn <H3 class="test"><%=strForNavn%></H3>&nbsp;<%=strEfterNavn%> som der kan skrives til på <%=strE_Mail%>&nbsp;<BR>
<P>Dit foretrukne spil er <%=varFRegler%>&nbsp; hvor dit erfaringsniavu er: <% =varErfaring %> og hvor din bogsamling er lig med: <%= varRegelboeger %>&nbsp;Du bor i <% =strPostNummer %> og har brugernavnet <%= strBrugernavn %><P>


lige før else her:


else
  Response.write "<CENTER><br>Brugernavnet / password som du ønsker er desværre optaget, prøv venligst igen.<BR></CENTER>" 
end if
Avatar billede cridonori Nybegynder
11. november 2002 - 20:51 #13
tak
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