Avatar billede ronniw Nybegynder
26. juli 2003 - 13:26 Der er 15 kommentarer og
1 løsning

"TargetFrame" Kan ikke åbne menu2 i MENU-frame via MAIN-frame?

Jeg sidder og arbejder med en side, der har 5 frames: Jeg har en frame (MAIN) i midten, en tynd frame under MAIN, jeg kalder for MENU. Disse 2 er så omringet af 4 frames - henholdsvis top, venstre & højre samt bund.

Mit problem - Når jeg logger ind via sigin.asp på MAIN-frame, så vil jeg gerne have at min menu (menu.asp) i MENU-frame skifter til menu2.asp. Altså i MENU-frame'n.

Jeg roder med TargetFrame-muligheden, men jeg kan ikke finde ud af, hvor den åbner min menu2.asp i MAIN-frame.

Det aktuelle uddrag ser således ud:


          ...bla bla bla........

  Set MENU = Response.Redirect("menu2.asp")
  MENU.TargetFrame = "target=MENU"

........bla bla...


Hvorfor vil den ikke åbne menu2.asp i target=MENU?

..........................................................
50 points for dette svar. (er det ok?) Jeg ændrer det gerne, hvis det er for lidt.
Avatar billede ronniw Nybegynder
26. juli 2003 - 14:16 #1
Skrev forkert:

"Jeg roder med TargetFrame-muligheden, men jeg kan ikke finde ud af, HVORFOR den åbner min menu2.asp i MAIN-frame."

...sorry...

PS: Sætter points op til 100!
Avatar billede whatever Nybegynder
26. juli 2003 - 14:28 #2
Eksisterer TargetFrame ikke kun i AdRotator-komponenten?
Avatar billede snakeeyz Nybegynder
26. juli 2003 - 14:37 #3
hvorfor laver du det ikke med javascript ?
Det er meget lettere at styre framesets på den måde.

så sætter du bare framens location til den side du vil vise
Avatar billede whatever Nybegynder
26. juli 2003 - 14:44 #4
Eks. med java script:

Response.Write ("<script type=""text/javascript"">" & VbCrLf);
Response.Write ("window.open('menu2.asp','menu');" & VbCrLf);
Response.Write ("</script>" & VbCrLf);
Avatar billede snakeeyz Nybegynder
26. juli 2003 - 15:58 #5
whatever: så åbner du det da i en popup, gør du ikke ?

Jeg ville bruge:

'slut din asp tag
%>
<script language="javascript">
top.menu.location = '';
</script>
<%
'start den igen

Kan vi evt. se koden til dit frameset ?
Avatar billede snakeeyz Nybegynder
26. juli 2003 - 16:20 #6
har prøvet at slette partition nr 2 mens den sidder i som USB disk - nu sier den der er 15 GB ledig plads. Så der er nok noget om det med de 127 GB.

spørgsmålet er bare - hvordan får man maskinen til at finde resten ?

Jeg har prøvet at installere Intel Application Accelerator, som vist skulle kunne bruges til større diske.

Nogle andre idéer ?
Avatar billede snakeeyz Nybegynder
26. juli 2003 - 16:20 #7
ups... forkert spørgsmål. beklager
Avatar billede whatever Nybegynder
26. juli 2003 - 16:28 #8
snakeeyz : Nej det gør den ikke. Så længe du ikke har feature-parameteren med, åbner den ikke et popup.

Se http://www.devguru.com/technologies/ecmascript/quickref/win_open.html
Avatar billede snakeeyz Nybegynder
26. juli 2003 - 16:37 #9
ok.

Det var jeg ikke klar over :-(

Jeg bruger altid document.location til at skifte med i frameset, da man ofte skal opdatere flere steder af gangen :-)
Avatar billede ronniw Nybegynder
26. juli 2003 - 17:23 #10
hmm... kan ikke få det til at virke?? Jeg tror, det er fordi siden oprindelig startes i index.html, hvor disse 5 frames er. Alle mine menu-links (i MENU-frame) åbnes i MAIN-menu.

Eksempelvis er der en link i MENU'en (MENU-frame - på index.html) der hedder "LOG IND". Dette link åbner "login.asp" (i MAIN-frame). Når man så logger ind, sendes spørges signin.asp om tilladelse. Det er i denne fil (hvor tilladelsen enten gives eller ikke gives) jeg vil have til at enten vedholde menu.asp (i index.html - MENU-frame) eller skifte til MENU2.asp.

Men jers foreslag virker så ikke, fordi der ikke eksisterer nogen MANU-frame i signin.asp?? Den eksisterer jo index.html...

index.html ligger i roden og signin.asp, login.asp (og alle andre filer) ligger i et bibliotek, jeg kalder for [pages]. index.html bruger jeg kun til at definere frames.

...............................................................................

Signin.asp ser sådan ud:

<%
Option Explicit
Dim sql,rsUser,username,password,page,stayloggedin,LConnectString,lconn,sqlflag

'Grab the submitted variables (page is the page they've come from, set by the hidden variable at the login box)
username = Request.Form("username")
password = Request.Form("password")
page = Request.Form("page")
stayloggedin = Request.Form("stayloggedin")

if page = "" then
    page = "index.asp"
end if

'Check no s**t is trying to hack in using SQL commands
if InStr(username, "'") or InStr(username, """") or InStr(username, "=") or InStr(password, "'") or

InStr(password, """") or InStr(password, "=") then
    sqlflag = True
end if

'Open connection
%>
<!--#include file="conn.asp"-->
<%

'Get a recordset corresponding to the submitted username and password
sql = "SELECT username FROM users WHERE username = '" & username & "' AND password = '" & password & "'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

'If there was a valid recordset there, then send them back to the page they came from, with the username cookie

set
If (not rsUser.BOF) and (not rsUser.EOF) and sqlflag <> True then
  Response.Cookies("username") = rsUser("username")
  'If the user wants to stay logged in all the time, then we'll set the cookie with a far-away expiry date
  if stayloggedin = "yes" then
    Response.Cookies("username").expires = #1/1/2010#
  end if
  rsUser.close
  set rsUser = nothing
  conn.close
  set conn = nothing
  Response.Redirect(page)
end if

'Otherwise, display an invalid entry screen
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing%>

<html>
<head>
<title>Invalid entry</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000" bgproperties="fixed"

background="../grafik/baggrund-light.jpg">
<font face="Verdana" size=2>

<h3>Forkert brugernavn/password</h3>

<p><a href="java script:self.history.go(-1)"><b>Forsøg venligst igen</b></a></p>

</font>
</body>
</html>

...............................................................................

index.html ser sådan ud:


<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>De Konservatoriestuderendes Landsr&aring;d</TITLE>

<FRAMESET ROWS="*,442,*" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
  <FRAME SRC="frames/blackness_top.html" SCROLLING="no" BORDER="0" name="frame_top">
  <FRAMESET COLS="*,740,*" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
    <FRAME SRC="frames/blackness.htm" SCROLLING="no" BORDER="0" name="frameL">
    <FRAMESET ROWS="360,82" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
      <FRAME SRC="pages/forside.html" BORDER="0" NAME="MAIN" target="_self">
      <FRAME SRC="pages/menu.asp" SCROLLING="no" BORDER="0" NAME="MENU" target="MAIN">
    </FRAMESET>
    <FRAME SRC="frames/blackness.htm" SCROLLING="no" BORDER="0" name="frameR">
  </FRAMESET>
  <FRAME scrolling="no" SRC="frames/blackness.htm" BORDER="0" name="frame_bund">
</FRAMESET>
<noframes></noframes> // --> </HEAD> <BODY BGCOLOR="BLACK">
</BODY>
</HTML>

...............................................................................
Avatar billede whatever Nybegynder
26. juli 2003 - 17:39 #11
Har du det liggende online?

Hentes selve login.asp og signin.asp ikke ind i MAIN?
Avatar billede ronniw Nybegynder
26. juli 2003 - 18:11 #12
whatever> Jeg har det liggende i min IIS-bibliotek, wwwroot på computeren, så jeg kan se resultaterne i min browser, men ikke online. (det er kun online på min IP når jeg selv er online, men jeg ligenu sidder jeg hos svigerforældrenes PC med 56K-modem og vil ikke optage deres tlf for meget (hehe...) så jeg går kun online for at tjekke her...    Jeg kan desværre ikke oploade siderne, for mine webhoteller (pt) understøtter Microsoft Database Access, (denne side skal lægges ud på et hotel, som jeg køber, når jeg er færdig).

Jo,  selve login.asp og signin.asp hentes ind i MAIN (og 'afvikles' i MAIN). -det er måske lige derfor, at man ikke kan bede signin.asp om at ændre en side til en frame, der ligger i index.html?
- hvorfor?
Avatar billede whatever Nybegynder
26. juli 2003 - 18:16 #13
Det burde virke når du henter login.asp og signin.asp i ind MAIN. Har du husket at ændre framenavnet i javascriptet til store bogstaver, altså til MENU?

Desuden kan jeg heller ikke lide, at du har sat en target attribut på dine frames. Det har nok ikke noget at sige, men det er ikke ligefrem ifølge standarderne.
Avatar billede ronniw Nybegynder
26. juli 2003 - 18:50 #14
Jeg har ændret menu til MENU, men der sker ikke noget... Jeg har lagt fra.... til... altmuligt.... forskellige errors - nogle gange går den bare igennem (signin.asp afvikles uden errors), men uden at ændre MENU...

Jeg har lidt svært ved at holde overblikket lige nu....

...............................................................................

Jeg har lagt siderne ud på nettet http://www.nanaza.com/workgroup/dkl/ men som sagt kommer fejlmeddelelsen, at der er "fejl i conn.asp - linie 6." Linie 6 er "%>", og jeg har rodet med det problem tidligere... Jeg kom frem til, at det jo er conn.asp der korresonderer med databasen og eftersom der ikke understøttes Microsoft Database Access på dét webhotel, så er det sikkert derfor.

Den går jo også bare igennem nu, når jeg arbejder og tester siden fra wwwroot - så jeg bekymrer mig ikke om conn.asp...
.............................................................................

Det virkede ikke som om TARGET havde noget med det at gøre. Jeg slettede det og prøvede - ingen ændring...

...............................................................................

Jeg ved ikke rigtig, hvad jeg skal gøre... Signin.asp ser sådan ud:

<%
Option Explicit
Dim sql,rsUser,username,password,page,stayloggedin,LConnectString,lconn,sqlflag

'Grab the submitted variables (page is the page they've come from, set by the hidden variable at the login box)
username = Request.Form("username")
password = Request.Form("password")
page = Request.Form("page")
stayloggedin = Request.Form("stayloggedin")

if page = "" then
    page = "index.asp"
end if

'Check no s**t is trying to hack in using SQL commands
if InStr(username, "'") or InStr(username, """") or InStr(username, "=") or InStr(password, "'") or InStr(password, """") or

InStr(password, "=") then
    sqlflag = True
end if

'Open connection
%>
<!--#include file="conn.asp"-->
<%

'Get a recordset corresponding to the submitted username and password
sql = "SELECT username FROM users WHERE username = '" & username & "' AND password = '" & password & "'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

'If there was a valid recordset there, then send them back to the page they came from, with the username cookie set
If (not rsUser.BOF) and (not rsUser.EOF) and sqlflag <> True then
  Response.Cookies("username") = rsUser("username")
%>
Response.Write ("<script type=""text/javascript"">" & VbCrLf);
Response.Write ("window.open('menu2.asp','MENU');" & VbCrLf);
Response.Write ("</script>" & VbCrLf);
<%
  'If the user wants to stay logged in all the time, then we'll set the cookie with a far-away expiry date
  if stayloggedin = "yes" then
    Response.Cookies("username").expires = #1/1/2010#
  end if
  rsUser.close
  set rsUser = nothing
  conn.close
  set conn = nothing
  Response.Redirect(page)
end if

'Otherwise, display an invalid entry screen
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing%>

<html>
<head>
<title>Invalid entry</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000" bgproperties="fixed"

background="../grafik/baggrund-light.jpg">
<font face="Verdana" size=2>

<h3>Forkert brugernavn/password</h3>

<p><a href="java script:self.history.go(-1)"><b>Forsøg venligst igen</b></a></p>

</font>
</body>
</html>

...............................................................................

index.html ser sådan ud nu:


<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>De Konservatoriestuderendes Landsr&aring;d</TITLE>

<FRAMESET ROWS="*,442,*" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
  <FRAME SRC="frames/blackness_top.html" SCROLLING="no" BORDER="0" name="frame_top">
  <FRAMESET COLS="*,740,*" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
    <FRAME SRC="frames/blackness.htm" SCROLLING="no" BORDER="0" name="frameL">
    <FRAMESET ROWS="360,82" FRAMESPACING="0" BORDER="0" FRAMEBORDER="0">
      <FRAME SRC="pages/forside.html" BORDER="0" NAME="MAIN">
      <FRAME SRC="pages/menu.asp" SCROLLING="no" BORDER="0" NAME="MENU">
    </FRAMESET>
    <FRAME SRC="frames/blackness.htm" SCROLLING="no" BORDER="0" name="frameR">
  </FRAMESET>
  <FRAME scrolling="no" SRC="frames/blackness.htm" BORDER="0" name="frame_bund">
</FRAMESET>
<noframes></noframes> // --> </HEAD> <BODY BGCOLOR="BLACK">
</BODY>
</HTML>

...............................................................................

I just don't get it...... Points sættes til 150!!! Hjælp mig, please!!
Avatar billede ronniw Nybegynder
26. juli 2003 - 18:55 #15
http://www.nanaza.com/workgroup/dkl

opret en profil eller login med
brugernavn: albert
password: philweb

...det er et eller andet sted lige meget... man kan ikke kommunikere med database på hotellet...
Avatar billede ronniw Nybegynder
24. november 2003 - 23:23 #16
Jeg lukker lige dette spørgsmål...
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