Avatar billede ceec Nybegynder
23. maj 2003 - 23:35 Der er 4 kommentarer og
1 løsning

Password check og browser parameter

Hej Allesammen

Spørgsmålet(ene) er garanteret blevet stillet før. Men af en eller anden grund kan jeg ikke søge i dem (database fejl?). Anyway -- Jeg vil gerne lave et password login til min hjemmeside, som skal hente / checke brugernavn og password i en database (sql eller access). Selv checket vil jeg gerne lave i et nyt vindue der åbner. Det vindue der åbner skal være helt skrællet. Dvs. ingen status bar, scroll bar, osv. osv. Jeg fandt på et tidspunkt en kanon guide omkring database delen, lavet i asp/access/flash. Nogen der kan guide mig lidt på vej her?
På forhånd tak for hjælpen.

-Ceec
Avatar billede baitianlong Nybegynder
24. maj 2003 - 13:46 #1
Du åbner vinduet med:

window.open("loginside.html", "blah", "scrollbars=no, resizeable=no, toolbars=no, width=300, height=200, left=50, top=50");

på din loginside lægger du så flashen med dit brugernavnfelt og passwordfelt, når brugeren har indtastet de to ting kan du sende dem til databasen med:

loadVariablesNum("aspcheckside.asp?navn=" + _root.navn + "&password=" + _root.password, 0);

Aspsiden piller så variablerne ud af URL'en med:

navn = request.querystring("navn")
password = request.querystring("password")

Så checker du i databasen om de passer sammen ved at skabe kontakten og skrive en SQL sætning:

set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={MySQL};server=xxx.xxx.xxx.xxx;uid=xxxxxx;database=xxxxxxxxx;option=NUM"
strSQL = "SELECT password FROM tabel WHERE name = navn "
Set Rs = conn.execute(strSQL)
response.write("resultat=" + Rs)
Rs.Close
Set Rs = Nothing
conn.Close

Så skulle flashen gerne få en variabel tilbage, der hedder resultat og indeholder passwordet fra databasen ved det angivne navn, så du skriver:

onClipEvent(enterFrame) {
  if(_root.resultat == _root.password && !nr2) {
      getURL("javaScript('lukOp(1)')";
      nr2 = true;
  }
}

Og så lige dette javascript på siden:

<scipt>
function lukOp(tal) {
  if(tal == 1) {
      window.open("denrigtigeside.html");
      self.close();
  }
}

så skulle den gerne være der (o;

ovenstående databasetilslutning er mySQL, men den ene linie kan du spørge dem i access eller asp afdelingerne om
Avatar billede ceec Nybegynder
25. maj 2003 - 14:58 #2
Hej Legende.

Det ser fint ud, skal dog lige afprøve det. Har dog fået vinduet skrællet. Kunne dog godt tænke mig at den blå overskrift's linie kunne fjernes.
Jeg vender tilbage når jeg har fået det afprøvet.

-Ceec.
Avatar billede ceec Nybegynder
26. maj 2003 - 19:15 #3
Hej Legende.

Jeg har prøvet lidt frem og tilbage, men kan ikke få det til at virke.
Hver gang jeg afvikler min login side, hopper den hurtigt videre, og skriver noget med at siden ikke kan loades. :( (kun password delen, det andet har jeg fået til at virke)

Jeg har lavet tingene på følgende måde:

Flash filen(login.fla+login.swf):
2 input tekst felter, med var navnene: navn & password
Knappen, til at logge ind med følgende action script:
on (release) {
    loadVariablesNum("check.asp", 0, "GET");
}
Et "movie clip" med følgende action script:
onClipEvent (enterFrame) {
    if (_root.resultat == _root.password && !nr2) {
        getURL("javascript('lukOp(1)'");
        nr2 = true;
    }
}
Alt sammen afviklet i frame 1.

Javascriptet i login.html (hele html koden) ser sådan ud:
<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html;  charset=">
<TITLE>login</TITLE>
<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function lukOp(tal) {
  if(tal == 1) {
    window.open("index.html");
    self.close();
  }
}
// End -->

</SCRIPT>
</HEAD>
<BODY bgcolor="#0066FF">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<!--Brugernavn:
Password:
Denne portal er kun for test's
medarbejdere.
--><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="100%" HEIGHT="100%" id="login" ALIGN="">
<PARAM NAME=movie VALUE="login.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#0066FF> <EMBED src="login.swf" quality=high bgcolor=#0066FF  WIDTH="100%" HEIGHT="100%" NAME="login" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
</BODY>
</HTML>

ASP siden check.asp ser sådan ud:

<%@Language="VBScript"%>

<%
navn = request.querystring("navn")
password = request.querystring("password")

Dim RS, Conn

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

Conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("test.mdb")
Conn.Open
strSQL = "SELECT password FROM login WHERE name = navn "
Set Rs = oconn.execute(strSQL)
response.write("resultat=" + Rs)
Rs.Close
Set Rs = Nothing
conn.Close
Set Conn = Nothing
%>


Jeg har lavet det op mod en access database ved navn test.mdb, med tabel login og følgende felter id, name, password

Nogen ide om hvorfor det ikke virker?
På forhånd tak for hjælpen.

-Ceec
Avatar billede ceec Nybegynder
01. juni 2003 - 14:27 #4
Lukker spørgsmålet :(
Avatar billede baitianlong Nybegynder
01. juni 2003 - 15:38 #5
Der skal stå dette, jeg skrev forkert:

strSQL = "SELECT pass FROM tabel WHERE name = '" & navn & "'"
Set Rs = conn.execute(strSQL)
response.write("resultat=" & Rs(0))
Rs.Close
Set Rs = Nothing
conn.Close
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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