Hej Jeg skal have et script der ud fra en form opretter en mappe på min server og opretter nogle filer i den. Altså det er fordi jeg vil have et bloghost op og køre er der nogen der kan hjælpe mig?
Altså oprette mappe derfeter oprette nogle filer er det en fordel at bruge xml eller gemme brugernes blogs i en mdb evt.??
Det skal være bloghosting så der skal vel være en administrationsfil hvor man kan tilføje, slette og redigere blog beskeder og så en forside og ja andre sider ved jeg ikke...
Det kommer an på hvor advanceret din blog skal være. Skal man kunne indsætte billeder, ændre skrifttype osv er vi over i et CMS system, og du skal have fat i en editor til at skrive i (F.eks TinyMCE). Desudne er der alle de andre ting man evt skal kunne (billedgalleri...)
En simpel tekstblog til EN person kan laves på få minutter, da det fungere næsten som en gæstebog. Et flere bruger system tager lidt ekstra tid, da der skal brugeradministration ind over.
Afhængig af hvor advanceret den skal være, kan der forskelle på hvordan jeg ville opbygge det, så hvis du nu fortalte os hvad du specifik ønsker, man skal kunne, kan vi bedre vejlede dig :o)
En bruger kan oprette sig via hjemmesiden og dermed oprettes der en mappe på serveren med personens valgte brugernavn Navn, Email, Brugernavn, Password og en profil
Når man er oprettet kan man logge ind og skrive i sin blog og ja gerne fra en teksteditor og også gerne et billedgalleri.
Jeg skal jo så som adog ministrator kunne holde øje med brugerne og slette blogs hvis de ikke overholder reglerne eller lign.
Kan jeg så bruge denne til login, hvordan skal det flettes sammen? <% ' Hvis der er blevet trykket på knappen "Login" If Request.Form("Action") = "Login" Then ' Her forberedes de indtastede værdier til validering strUID = Trim(Replace(Request.Form("Brugernavn"),"'","")) strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))
' Hvis der er skrevet noget i både brugernavn og adgangskode If Len(strUID) > 0 And Len(strPWD) > 0 Then
' DSNLess forbindelse til databasen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_2000.mdb")
' Opbygning af SQL streng strSQL = "SELECT UserID FROM Users"&_ " WHERE (Username = '" & strUID & "')"&_ " AND (Password = '" & strPWD & "')"
Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then ' Hvis brugeren fandtes i databasen intUID = rs("UserID") Else ' Hvis brugeren ikke fandtes i databasen strERR = "Du blev ikke godkendt af systemet" End If
' Rydder op i vores connection objekt myConn.Close Set myConn = Nothing
If Len(intUID) Then ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre Session("UserID") = intUID Response.Redirect("beskyttet.asp") End If Else ' Hvis der ikke var angivet brugernavn og adgangskode strErr = "Du skal skrive både brugernavn og adgangskode" End If
If Len(strErr) > 0 Then ' Her laves fejlmeddelsen om til rød skrift strErr = "<p><font color=red>" & strErr & "</font></p>" End If End If %> <html><head> <title>Login script</title> </head><body>
login.asp --> <% ' Hvis der er blevet trykket på knappen "Login" If Request.Form("Action") = "Login" Then ' Her forberedes de indtastede værdier til validering strUID = Trim(Replace(Request.Form("Brugernavn"),"'","")) strPWD = Trim(Replace(Request.Form("Password"),"'",""))
' Hvis der er skrevet noget i både brugernavn og adgangskode If Len(strUID) > 0 And Len(strPWD) > 0 Then
' DSNLess forbindelse til databasen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/db_s.mdb")
' Opbygning af SQL streng strSQL = "SELECT ID FROM Bruger"&_ " WHERE (Brugernavn = '" & strUID & "')"&_ " AND (Password = '" & strPWD & "')"
Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then ' Hvis brugeren fandtes i databasen intUID = rs("ID") Else ' Hvis brugeren ikke fandtes i databasen strERR = "Du blev ikke godkendt af systemet" End If
' Rydder op i vores connection objekt myConn.Close Set myConn = Nothing
If Len(intUID) Then ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre Session("ID") = intUID Response.Redirect("denneSide.asp") End If Else ' Hvis der ikke var angivet brugernavn og adgangskode strErr = "Du skal skrive både brugernavn og adgangskode" End If
If Len(strErr) > 0 Then ' Her laves fejlmeddelsen om til rød skrift strErr = "<p><font color=red>" & strErr & "</font></p>" End If End If %> <html><head> <title>Login script</title> </head><body>
<% if Request.querystring("mode") = "save" then user = replace(Request.Form("Navn"),"'", "''") pass = replace(Request.Form("Navn"),"'", "''") conn.execute("insert into Users(Username , Password) values('"& user &"','"& pass &"')") response.redirect("nyBrugerSide.asp") end if %>
Wauw.. det virker nu...!!! tilføjer lige nogle ekstra oprettelses felter :-), men der er bare en ting det skal jo være sådan at brugeren skal kunne finde sin blog ved at indtaste f. eks krellers.dk/testperson/
dvs. at oprettelses processen skal som jeg også skriver oprette en mappe...!
Wuhuu har formået at lave så den opretter en mappe, ændret lidt i opret koden så det ser således ud: <% if Request.querystring("mode") = "save" then user = replace(Request.Form("User"),"'", "''") pass = replace(Request.Form("Pass"),"'", "''") navn = replace(Request.Form("navn"),"'", "''") email = replace(Request.Form("email"),"'", "''") landsdel = replace(Request.Form("landsdel"),"'", "''") conn.execute("insert into Bruger(Brugernavn , Password , navn , email , landsdel) values('"& user &"','"& pass &"','"& navn &"','"& email &"','"& landsdel &"')") %> <% Dim mappe mappe = request.form("User")
dim fs,f set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.CreateFolder("c:\webs\talkactive\web27545\dev.haveviseren.dk\" & mappe ) set f=nothing set fs=nothing
Der løber du bare i problemer hvis brugernavnet allerede er taget. Så du skal nok lave et tjek på det inden du gemmer: ... set rs = conn.execute("select * from Bruger where Brugernavn='"& user &"'") if rs.eof then response.write "Brugernavnet er allrede taget." response.end end if conn.execute("insert into Bruger(Brugernavn , Password , navn , email , landsdel) values('"& user &"','"& pass &"','"& navn &"','"& email &"','"& landsdel &"')")
Dernæst skal du have flyttet en index.asp/default.asp fil ind i mappen du lige har oprettet, som viser brugerens blog. Her ville det være rigtig smart, hvis du fik lavet en fil, som læser mappenavnet, og derved kan slå brugernavnet op i databasen. På den måde kan du nemlig bruge den samme fil i alle mapper, og du kan derfor lade FSO kopiere en master-fil til mappen i samme omgang som mappen bliver lavet.
Det må være noget med at klippe i server.mappath(".") for at trække brugeren ud. temp = split(server.mappath("."),"\") username = temp(uBound(temp))
kode skulle du gerne få navnet på den mappe som filen ligger i. Jeg har ikke testet det, men det kan du jo gøre :o)
Ved at smide filen i brugermappen, får du selvfølgelig bruger navnet, og det kan du bruge til at slå ID'et op i DB:
temp = split(server.mappath("."),"\") username = temp(uBound(temp)) set rs = conn.execute("select userID from Bruger where Brugernavn='"& username &"'") if rs.eof then response.write "Bruger ikke fundet" response.end else userID = rs("userID") end if
set rs = conn.execute("select * from blogs where userID="& userID &" order by dato desc") while not rs.eof response.write rs("tekst") &"<br><br>" rs.MoveNext wend
<% dim fs,f set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFile("c:\asp\test\test.asp") Response.Write("The file test.asp is in the folder: ") Response.Write(f.ParentFolder) set f=nothing set fs=nothing %>
Vil man ikke kunne bruge den til at sende brugeren til den rette nside når man skriver mappen..?
Det vil nok virke. Det er også en pænere kode en min... Hvorfor tænkte jeg ikke selv på det :o)
Synes godt om
Ny brugerNybegynder
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.