Avatar billede babyworm Nybegynder
23. september 2004 - 21:19 Der er 18 kommentarer og
1 løsning

Oprette mapper med FSO

Hejsa..

Jeg er igang med at lave en hjemmeside hvor man skal kunne oprette en bruger, og så laver den automatisk en mappe med det userid man har.

min kode ser sådan ud:

<!--#include virtual="/global/dbconn.asp"-->
<%
strCmd = Request.QueryString("cmd")

openConn()

If strCmd = "addnew" Then

strId        = Request.Form("id")

strUsername    = replace(Request.Form("username")&"","'","''")
strPassword    = replace(Request.Form("password")&"","'","''")
strRedirect    = replace(Request.Form("redirect")&"","'","''")
strCompany    = replace(Request.Form("company")&"","'","''")


    strSQL = "INSERT INTO users ("
               
    strSQL = strSQL & "[username], "
    strSQL = strSQL & "[password], "
    strSQL = strSQL & "[redirect], "
    strSQL = strSQL & "[company]) "

    strSQL = strSQL & "values ("

    strSQL = strSQL & "'" & strUsername & "', "
    strSQL = strSQL & "'" & strPassword & "', "
    strSQL = strSQL & "'" & strRedirect & "', "
    strSQL = strSQL & "'" & strCompany & "')"

    connection.Execute(strSQL)

    %>

<h1>Brugeren er nu oprettet!</h1><br>
<a href="?p=users">Gå til oversigten</a>


<%   
Else
%>
<form method="post" action="?p=adduser&cmd=addnew">
<p>
Brugernavn:<br>
<input type="text" name="username" style="width:410px;"><br><br>

Adgangskode:<br>
<input type="text" name="password" style="width:410px;"><br><br>

Redirecte til:<br>
<input type="text" name="redirect" style="width:410px;"><br><br>

Firma:<br>
<input type="text" name="company" style="width:410px;"><br><br>

<br>
<br><input type="submit" value="Opret brugeren" class="knap">
<a href="java script:this.history.go(-1);">Tilbage</a>
</form>
</p>

<%
End if
closeConn()
%>

</p>
Avatar billede eagleeye Praktikant
23. september 2004 - 22:10 #1
efter du har indsat kan du hente id ud:

    connection.Execute(strSQL)
    'find id
    sql = "select id from users where [username]='" & strUsername & "', and [password] = '" & strPassword & "'"
    set rs=connection.Execute(sql)
    id=rs("id")
    rs.Close
    set rs=nothing
    'lav ny folder, ret evt. så det passer med hvor folderen skal oprettes:
    sti = "./" & id
    set fso=server.createobject("Scripting.FileSystemObject")
    fso.CreateFolder(server.mappath(sti))
    set fso=nothing
    %>

<h1>Brugeren er nu oprettet!</h1><br>
<a href="?p=users">Gå til oversigten</a>

.. resten af kode
Avatar billede babyworm Nybegynder
23. september 2004 - 23:07 #2
hmm.. virker ikke..

filen adduser.asp ligger i wwwroot/rediger/page
og mappen skal oprettes i wwwroot/preview/ og så skal mappen hedde id'et


<!--#include virtual="/global/dbconn.asp"-->
<%
strCmd = Request.QueryString("cmd")

openConn()

If strCmd = "addnew" Then

strId        = Request.Form("id")

strUsername    = replace(Request.Form("username")&"","'","''")
strPassword    = replace(Request.Form("password")&"","'","''")
strRedirect    = replace(Request.Form("redirect")&"","'","''")
strCompany    = replace(Request.Form("company")&"","'","''")


    strSQL = "INSERT INTO users ("
               
    strSQL = strSQL & "[username], "
    strSQL = strSQL & "[password], "
    strSQL = strSQL & "[redirect], "
    strSQL = strSQL & "[company]) "

    strSQL = strSQL & "values ("

    strSQL = strSQL & "'" & strUsername & "', "
    strSQL = strSQL & "'" & strPassword & "', "
    strSQL = strSQL & "'" & strRedirect & "', "
    strSQL = strSQL & "'" & strCompany & "')"

    connection.Execute(strSQL)
 
    'lav ny folder, ret evt. så det passer med hvor folderen skal oprettes:
    sti = "./" & id
    set fso=server.createobject("Scripting.FileSystemObject")
    fso.CreateFolder(server.mappath(sti))
    set fso=nothing
    %>

<h1>Brugeren er nu oprettet!</h1><br>
<a href="?p=users">Gå til oversigten</a>



<%   
Else
%>
<form method="post" action="?p=adduser&cmd=addnew">
<p>
Brugernavn:<br>
<input type="text" name="username" style="width:410px;"><br><br>

Adgangskode:<br>
<input type="text" name="password" style="width:410px;"><br><br>

Redirecte til:<br>
<input type="text" name="redirect" style="width:410px;"><br><br>

Firma:<br>
<input type="text" name="company" style="width:410px;"><br><br>

<br>
<br><input type="submit" value="Opret brugeren" class="knap">
<a href="java script:this.history.go(-1);">Tilbage</a>
</form>
</p>

<%
End if
closeConn()
%>

</p>
Avatar billede eagleeye Praktikant
23. september 2004 - 23:10 #3
Du har ikke fået copy/paste det hele, prøv at rette:

    connection.Execute(strSQL)
 
    'lav ny folder, ret evt. så det passer med hvor folderen skal oprettes:
    sti = "./" & id
    set fso=server.createobject("Scripting.FileSystemObject")
    fso.CreateFolder(server.mappath(sti))
    set fso=nothing
    %>


til dette:

    connection.Execute(strSQL)
    'find id
    sql = "select id from users where [username]='" & strUsername & "', and [password] = '" & strPassword & "'"
    set rs=connection.Execute(sql)
    id=rs("id")
    rs.Close
    set rs=nothing
    'lav ny folder, ret evt. så det passer med hvor folderen skal oprettes:
    sti = "./" & id
    set fso=server.createobject("Scripting.FileSystemObject")
    fso.CreateFolder(server.mappath(sti))
    set fso=nothing
    %>
Avatar billede babyworm Nybegynder
23. september 2004 - 23:11 #4
Nej... det kan den heller ikke... Prøvede jeg også.. :) Virkede ikke..
Avatar billede eagleeye Praktikant
23. september 2004 - 23:12 #5
ok, hvilken fejl får du ?
Avatar billede babyworm Nybegynder
23. september 2004 - 23:14 #6
kan du ikke lige prøve at lave stien så den opretter mappen det rigtig sted..
Avatar billede eagleeye Praktikant
23. september 2004 - 23:17 #7
Så prøv at rette denne linje
    sti = "./" & id

til dette:

    sti = "/preview/" & id
Avatar billede babyworm Nybegynder
23. september 2004 - 23:19 #8
har jeg prøvet... så opretter den en mappe der hedder preview i wwwroot/rediger men den skal ikke oprette en mappe der hedder preview, den skal oprette en mappe der hedder det id som der er, og den skal ligge i wwwroot/preview
Avatar billede eagleeye Praktikant
23. september 2004 - 23:21 #9
nej ikke med / først i stien så betyder det root hvis der ./ bliver den oprette i den folder asp filen ligger i.
Avatar billede babyworm Nybegynder
23. september 2004 - 23:26 #10
hvordan skal min kode så se ud ?
Avatar billede eagleeye Praktikant
23. september 2004 - 23:27 #11
sådan her:

    sti = "/preview/" & id


Første / betyder root. Og wwwroot er root. Så den oprette id folderen i folderen preview som ligger i root folderen.
Avatar billede babyworm Nybegynder
23. september 2004 - 23:31 #12
Microsoft VBScript runtime error '800a003a'

File already exists

/rediger/page/adduser.asp, line 36
Avatar billede babyworm Nybegynder
23. september 2004 - 23:31 #13
<!--#include virtual="/global/dbconn.asp"-->
<%
strCmd = Request.QueryString("cmd")

openConn()

If strCmd = "addnew" Then

strId        = Request.Form("id")

strUsername    = replace(Request.Form("username")&"","'","''")
strPassword    = replace(Request.Form("password")&"","'","''")
strRedirect    = replace(Request.Form("redirect")&"","'","''")
strCompany    = replace(Request.Form("company")&"","'","''")


    strSQL = "INSERT INTO users ("
               
    strSQL = strSQL & "[username], "
    strSQL = strSQL & "[password], "
    strSQL = strSQL & "[redirect], "
    strSQL = strSQL & "[company]) "

    strSQL = strSQL & "values ("

    strSQL = strSQL & "'" & strUsername & "', "
    strSQL = strSQL & "'" & strPassword & "', "
    strSQL = strSQL & "'" & strRedirect & "', "
    strSQL = strSQL & "'" & strCompany & "')"

    connection.Execute(strSQL)

    'lav ny folder, ret evt. så det passer med hvor folderen skal oprettes:
    sti = "/preview/" & strId
    set fso=server.createobject("Scripting.FileSystemObject")
    fso.CreateFolder(server.mappath(sti))
    set fso=nothing
    %>

<h1>Brugeren er nu oprettet!</h1><br>
<a href="?p=users">Gå til oversigten</a>



<%   
Else
%>
<form method="post" action="?p=adduser&cmd=addnew">
<p>
Brugernavn:<br>
<input type="text" name="username" style="width:410px;"><br><br>

Adgangskode:<br>
<input type="text" name="password" style="width:410px;"><br><br>

Redirecte til:<br>
<input type="text" name="redirect" style="width:410px;"><br><br>

Firma:<br>
<input type="text" name="company" style="width:410px;"><br><br>

<br>
<br><input type="submit" value="Opret brugeren" class="knap">
<a href="java script:this.history.go(-1);">Tilbage</a>
</form>
</p>

<%
End if
closeConn()
%>

</p>
Avatar billede eagleeye Praktikant
23. september 2004 - 23:33 #14
Jeg kan henvis til 23/09-2004 23:10:18
Avatar billede babyworm Nybegynder
23. september 2004 - 23:33 #15
Det virker heller ikke
Avatar billede eagleeye Praktikant
23. september 2004 - 23:34 #16
Prøv at forklare hvordan det ikke virker
Avatar billede eagleeye Praktikant
23. september 2004 - 23:44 #17
Jeg kan spørge på en anden måde, hvorfor har du valgt at slette 6 linjer af min løsning? Det jo det kode som finder det nye ID :)
Avatar billede babyworm Nybegynder
15. august 2005 - 13:35 #18
Jeg må have været stiv ;)

Ligger du et svar ? :D
Avatar billede babyworm Nybegynder
15. august 2005 - 13:36 #19
Du havde lagt 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