Avatar billede fritter25 Nybegynder
10. august 2003 - 09:34 Der er 10 kommentarer og
1 løsning

Link til html side

Jeg har et login system på min hjemmeside hvor en bestemt slags bruger bliver sendt til forskellige sider, vha cookies. Det ser ud som følgende :

if ($row[status] == 1){ // Almindelige bruger (sæt cookie til status 1)
    setcookie("bruger", "$row[bruger]", time()+ 2);
    setcookie("status", "1", time()+ 3600);
    echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=ip.php'>";}

Dette virker fint, og jeg kan uden problemer sende brugere hvorhen jeg vil. Mit problem er derimod, at dette login system bliver aktiveret i en html side bestående af frames, hvis når jeg sender en bruger hen til en anden side, så vises siden i denne frame. Det ønsker jeg ikke, men vil derimod gerne have at den nye side, fylder hele browseren ala "_parent" (som html koden siger)

Ved bare ikke helt, hvordan denne linie skal ændres:

echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=ip.php'>";}
Avatar billede nicklasb Nybegynder
10. august 2003 - 09:40 #1
evt:
echo '<META HTTP-EQUIV="Refresh" target="_parent" CONTENT="1;URL=ip.php">';

?!?
Avatar billede nicklasb Nybegynder
10. august 2003 - 09:44 #2
hvis ikke det virker, tror jeg ikke der er andet at gøre end at bruge javascript event handleren onLoad på din BODY
altså noget ligende:

<BODY onLoad='window.open("ip.php", "_parent")'>
Avatar billede fritter25 Nybegynder
10. august 2003 - 09:49 #3
Tjaaa det virkede ikke. Koden ser du også anerledes ud. Istedet for " har du brugt ' i starten og slutningen. Er dette en fejl eller??

Med hensyn til java script, så er jeg helt grøn der, og der må du meget gerne hjælpe.
Avatar billede nicklasb Nybegynder
10. august 2003 - 10:17 #4
tror ikke det virker med et target på en meta (men syntes at have hørt at det virkede i nogle browsere. Så jeg ville nok vælge java-scriptløsningen. Og nej.. det er ikke en fejl ;D Den "rigtigste" måde at skrive det du havde skrevet, var at gøre som jeg gjorde med '-er rundt om, og så bruge "-er i selve metaen.
Hvad er det helt præcist du vil? Bare åbne en anden side samtidig med den anden, eller vil du løbende opdatere de andet frame, mens dit hoved-frame er åbent?
For så kan du evt prøve at sætte dette ind på den side der skal sørge for opdateen:
<script language="javascript">
  parent.window.open('ip.php','_parent')
</script>
Ellers må du lige uddybe hvad det er du vil :D
Avatar billede hoejrup Nybegynder
10. august 2003 - 10:24 #5
<script language="JavaScript">
function sammevindue() {
  top.location.href = "ip.php"
}
</SCRIPT>

<BODY onLoad="sammevindue();">

/per
Avatar billede roenving Novice
10. august 2003 - 12:09 #6
Eller skal du have en hop-dog-ud-af-det-vindue-som-framer-mig-kode ?-)

<script type="text/javascript">
if(top.location!=window.location)top.location=window.location;
</script>

lige efter <head>-tagget ...
Avatar billede fritter25 Nybegynder
10. august 2003 - 12:44 #7
Mit problem er, at hvordan de skal indsættes i den funktion jeg allerede har, som ser ud som følger :

<?
if ($bruger && $pass){
$db = mysql_connect("127.0.0.1", "root", "");
    mysql_select_db("Film",$db);

$result = mysql_query("SELECT bruger, pass, status FROM login WHERE bruger ='$bruger' && pass='$pass'") or die("Der opstod en MySQL fejl.");
$row = mysql_fetch_array($result);
$antal = mysql_num_rows($result);

if ($antal == 1)
{

if ($row[status] == 0){ // Lukket bruger konto
    setcookie("bruger", "$row[bruger]", time()+ 2);
    setcookie("status", "0", time()+ 3600);
    echo "Din bruger-konto er blevet lukket!"; exit;}

if ($row[status] == 1){ // Admin (sæt cookie til status 1)
    setcookie("bruger", "$row[bruger]", time()+ 2);
    setcookie("status", "1", time()+ 3600);
    echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=admin.php'>";}


if ($row[status] == 2){ // Akmindelig brugere (sæt cookie til status 2)
    setcookie("bruger", "$row[bruger]", time()+ 2);
    setcookie("status", "2", time()+ 3600);
    echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=bruger.php'>";} 

}
else echo"Forkert brugernavn eller adgangskode";}
?>
<form action="<?=$PHP_SELF;?>" method="post">
<input type="text" name="bruger">
<br>
<input type="password" name="pass">
<br>
<input type="submit" value="Login">

Denne virker som sagt fint. Det jeg gerne ville have var, at når "bruger" loggede ind med brugernavn og password, så blev han/hun sendt til en ny side, som åbnede i hele browservinduet istedet for i en enkelt frame.

Ved bare ikke helt, hvordan jeg får kørt et "script" ind i denne linie:

echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=bruger.php'>";}
Avatar billede roenving Novice
10. august 2003 - 12:50 #8
I bruger.php :-)

<html>
<head>
<script type="text/javascript">
  if(top.location!=window.location)top.location=window.location;
</script>

-- og så resten af din side ...
Avatar billede fritter25 Nybegynder
10. august 2003 - 14:27 #9
Lige præcis roenving. Det virker perfekt. Smider du ikke lige et svar, så du kan få point.
Avatar billede roenving Novice
10. august 2003 - 14:34 #10
Muy bueno '-)
Avatar billede roenving Novice
10. august 2003 - 21:06 #11
-- og tak for points ;~}
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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