16. juni 2004 - 00:46Der er
34 kommentarer og 1 løsning
Simpel password
Hej.. hmm...Jeg skulle gerne have lavet et password system der fungerer sådan at username+password+'.htm' giver navnet på en side brugeren bliver bragt til...
FX: usename: vin password: gummi
-så blir brugeren taget til en side med navnet vingummi.htm...
Jeg ved ikke om det her bare er ren volapyk, for jeg har -43% forstand på javascript, men scriptet skulle så gerne bringe en til en standard-side, hvis ikke der findes en side med navnet vingummi.htm (altså ikke lige vingummi, men hvad end man nu skriver)...
Så scriptet skal altså altid bringe een til en standard-side onsubmit, medmindre der er en side der hedder username+password+'.htm'...
Hvis det kan lade sig gøre er der så nogle der gider at hjælpe mig?
Og hvis det ikke kan lade sig gøre, er der så nogen der gider fortælle mig det, så jeg kan lukke spørgsmålet igen...
Det kan du, som vi også prøvede at fortælle i dit tidligere spørgsmål, kun løse færdigt med noget server-konfiguration, som laver en redirect ved fejl 404 (Page not found !-)
-- den simple login har du vel på plads, så det handler om din servers måde at fungere på, for det er vidt forskelligt om du bruger en Apache (så er det en .htaccess-fil vi snakker om) eller om du bruger en windows-server, for så skal vi såvidt jeg ved ind at konfigure i styresystemets bruger-opsætning !o]
jaja.. Men jeg kan bare ikke forstå at det ikke kan lade sig gøre at gennemsøge 1 lille-bitte mappe efter en liiilllee bitte html-fil... Kan man virkelig ikke gøre det?
For hvis man kan, så kan man vel også lave et eller andet noget
If 'vingummi.htm' eksisterer i 'mappe/mappe1/mappe99' then LOAD VINGUMMI.HTM (Altså: if "username+password+'.htm'" eksistee........ Then load "username+password+'.htm'") else if LOAD standard-side.htm
Hmm.. Det tror jeg nok.. ASP fungerer da i de fleste browsere, ikke?
- Og bare, hvis det er sådan noget med 23 eksterne filer eller noget der skal loades, at du så lige kan forklare mig hvad kode jeg skal putte ind hvor... Jeg kan faktisk bedst lide sådan noget hvor det hele bare står i HTML-dokumentet... :)
Hehe.. Jahh... Hmm.. Det er jeg faktisk ikke helt klar over... :) hmm... Mit Webhotel ligger hos Gullestrupnet og det er noget der hedder HELM eller noget.. Hmm.. ?
OK.. Hvis alt det jeg lige har sagt, ikke har noget med sagen at gøre, så må du meget undskylde... Men jeg tror da nok at den kan køre ASP, eftersom den vil ha alle Error-siderne i .ASP ...?
ok... hey, forresten, hvis det ikke er for besværligt, kan du så ikke også gøre sådan at man SKAL udfylde brugernavn og password.. Det behøves ikke... Bare lige.. Hvis du kan... :)
filen skal hedde login.asp, hvis du vil ændre navnet skal det ændres nede i linien <form action="login.asp" method="post" id="form" name="form" onsubmit="return Validator(form);"> til noget andet her scriptet med test på bruger password
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then Login = Trim(Replace(Request.Form("bruger"),"'","''" )) Password = Trim(Replace(Request.Form("pass"),"'","''" )) Side = Login & "" & Password &".htm" Set fsoObject = server.CreateObject("Scripting.FileSystemObject") if fsoObject.FileExists(side) Then response.redirect ("side") else response.redirect("standard-side.htm") end if set fsoObject = nothing
end if %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" language="javascript">
function Validator(form) { if (form.pass.value.length == 0) { alert ("Du har ikke indtastet noget password!") form.pass.focus(); return false; }
if (form.bruger.value.length == 0) { alert ("Du har ikke indtastet noget brugernavn!") form.bruger.focus(); return false; } } </script>
if Request.ServerVariables("REQUEST_METHOD") = "POST" then Login = Trim(Replace(Request.Form("bruger"),"'","''" )) Password = Trim(Replace(Request.Form("pass"),"'","''" )) Side = Login & "" & Password &".htm" Set fsoObject = server.CreateObject("Scripting.FileSystemObject") if fsoObject.FileExists(side) Then response.redirect ("side") else response.redirect("standard-side.htm") end if set fsoObject = nothing
if Request.ServerVariables("REQUEST_METHOD") = "POST" then Login = Trim(Replace(Request.Form("bruger"),"'","''" )) Password = Trim(Replace(Request.Form("pass"),"'","''" )) Side = Login & "" & Password &".htm" Set fsoObject = server.CreateObject("Scripting.FileSystemObject") if fsoObject.FileExists(side) Then response.redirect ("side") else response.redirect("standard-side.htm") end if set fsoObject = nothing
end if %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" language="javascript">
function Validator(form) { if (form.pass.value.length == 0) { alert ("Du har ikke indtastet noget password!") form.pass.focus(); return false; }
if (form.bruger.value.length == 0) { alert ("Du har ikke indtastet noget brugernavn!") form.bruger.focus(); return false; } } </script>
NU er jeg forvirret.. Altså, den side hvor man skulle kunne logge sig ind på fra, det er login.asp?? eller er der flere filer? ellers forstår jeg ikke hvorfor den kalder sig selv:
Og hvis Login.asp er filen man skal logge sig på fra... Så tror kan jeg ikke rigtig få det til at virke... Når man trykker på linket der åbner login.asp, så er alt der dukker op på skærmen det her:
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then Login = Trim(Replace(Request.Form("bruger"),"'","''" )) Password = Trim(Replace(Request.Form("pass"),"'","''" )) Side = Login & "" & Password &".htm" Set fsoObject = server.CreateObject("Scripting.FileSystemObject") if fsoObject.FileExists(side) Then response.redirect ("side") else response.redirect("standard-side.htm") end if set fsoObject = nothing
end if %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" language="javascript">
function Validator(form) { if (form.pass.value.length == 0) { alert ("Du har ikke indtastet noget password!") form.pass.focus(); return false; }
if (form.bruger.value.length == 0) { alert ("Du har ikke indtastet noget brugernavn!") form.bruger.focus(); return false; } } </script>
ja.. men du skal kører det fra din server.. du kan ikke teste det derhejmme medmindre du har IIS server inst. og du har lagt det derind... Det her script skal kører på en server... Og jo det virker, den kalder sig selv, det er rigtigt.. men den her linie: if Request.ServerVariables("REQUEST_METHOD") = "POST" then
er den der fanger om der er nogen der har trykket på submit...
Sorry... Min fejl... Det virker IKKE... Ligegyldigt hvad man skriver, så sender den een til standard-siden (kontakt_tak.htm)
Filnavn: Login.asp
Koden er:
----------------------------------------------
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then Login = Trim(Replace(Request.Form("bruger"),"'","''" )) Password = Trim(Replace(Request.Form("pass"),"'","''" )) Side = Login & "" & Password &".htm" Set fsoObject = server.CreateObject("Scripting.FileSystemObject") if fsoObject.FileExists(side) Then response.redirect ("side") else response.redirect("kontakt_tak.htm") end if set fsoObject = nothing
end if %> <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" language="javascript">
function Validator(form) { if (form.pass.value.length == 0) { alert ("Du har ikke indtastet noget password!") form.pass.focus(); return false; }
if (form.bruger.value.length == 0) { alert ("Du har ikke indtastet noget brugernavn!") form.bruger.focus(); return false; } } </script>
if Request.ServerVariables("REQUEST_METHOD") = "POST" then Login = Trim(Replace(Request.Form("bruger"),"'","''" )) Password = Trim(Replace(Request.Form("pass"),"'","''" )) Side = Login & "" & Password &".htm" Set fsoObject = server.CreateObject("Scripting.FileSystemObject") if fsoObject.FileExists(Server.MapPath(side)) Then response.redirect side else response.redirect("kontakt_tak.htm") end if set fsoObject = nothing
end if %> <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" language="javascript">
function Validator(form) { if (form.pass.value.length == 0) { alert ("Du har ikke indtastet noget password!") form.pass.focus(); return false; }
if (form.bruger.value.length == 0) { alert ("Du har ikke indtastet noget brugernavn!") form.bruger.focus(); return false; } } </script>
hvis du har brug for hjælp senere så.. kan du på kontakte mig på msn med tt @ device.dk
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.