Gå til innhold

Avslutting av vindu som bruker "REFRESH"


Anbefalte innlegg

Håper noen kan hjelpe en totalt uerfaren med følgende problem: Jeg får ikke ett auto-refresh vindu til å lukke seg av seg selv:

 

<html>

<head>

<META HTTP-EQUIV="REFRESH" Content="3;URL='oppdater.php?ctrlinprogress=' + ctrlinprogress">

<body bgcolor= "yellow">

<title>Oppdateringsvindu</title>

<link rel="StyleSheet" type="text/css" href="stylesheet.css">

</head>

<body>

<?php

if (!isset($_SESSION['ctrlinprogress'])) {

$_SESSION['ctrlinprogress']= 0;

}

 

$_SESSION['ctrlinprogress']= $_REQUEST['ctrlinprogress']+1;

If ($ctrlinprogress==4 ) {

print("Kommando er utført, vinduet kan lukkes");

sleep(2); //vent 2 sekunder

die("Kommando er utført, vindu lukkes");

}

?>

<input type="button" value="Lukk vindu" onclick="window.close()">

</ul>

</body>

</html>

Endret av btkphp
Lenke til kommentar
Videoannonse
Annonse
-taggen er en fin ting. dessuten, hvor er session_start(); ?

[right][snapback]6386612[/snapback][/right]

 

Hei, og takk for svar !

 

Jeg tok ikke med alt i forrige listing. Slik ser det ut:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

 

<html>

<head>

<META HTTP-EQUIV="REFRESH" Content="3;URL='oppdater.php?ctrlinprogress=' + $ctrlinprogress">

<body bgcolor= "yellow">

<title>Oppdateringsvindu</title>

<link rel="StyleSheet" type="text/css" href="stylesheet.css">

</head>

<body>

<?php

require_once('myweb_session.php'); //Innholder kall til session_start()

require_once('myweb_db.php');

require_once('myweb_auth.php');

 

if (!isset($_SESSION['ctrlinprogress'])) {

$_SESSION['ctrlinprogress']= 0;

}

 

$ctrlinprogress= $ctrlinprogress+1;

$_SESSION['ctrlinprogress']= $_REQUEST['ctrlinprogress'];

If ($ctrlinprogress==4 ) {

print("Kommando er utført, vinduet kan lukkes");

sleep(2); //vent 2 sekunder

die("Kommando er utført, vindu lukkes");

}

?>

<input type="button" value="Lukk vindu" onclick="window.close()">

</ul>

</body>

</html>

Endret av btkphp
Lenke til kommentar

Og hvordan hadde du tenkt deg å vise innholdet i en variabel når du ikke viser apache at her skal det brukes PHP.

<meta http-equiv="REFRESH" Content="3;URL='oppdater.php?ctrlinprogress=<?php echo $ctrlinprogress; ?>'">

Dette bør fungere.

hvis ikke kan du bruke

sleep(3);
header('Location: http://blabla.com/oppdater.php?ctrlinprogress=".$ctrlinprogress."');

 

<body bgcolor="yellow">

Dette er ikke noe skal skal i <head>. Den skal istede for <body>, og de fleste foretrekker å ha dette i css.

body
{
background-color: yellow;
}

 

 

Godt mulig at jeg er helt på bærtur, men da er det bare å si ifra, har ingen mulighet til å sjekke et det jeg har skrevet er korrekt.

Endret av M4rTiN
Lenke til kommentar

Takk for svar.

 

Nå funker oppdateringen, men problemet er å få automatisk avsluttning av vinduet når CtrlInProgress når en gitt verdi. :

 

elseif ($CtrlInProgress == 4) {

print("Kommando er utført, vinduet kan lukkes");

print("<br>");

sleep(2);

//----------------------------------------------------------------------------

//Det er denne die-kommandoen som ikke funker, vinduet fortsetter bare å oppdatere seg, ellers skiftes tekster som forutsatt ihht verdi av $CtrlInProgress....

 

die("Kommando er utført, vindu lukkes");

//-----------------------------------------------------------------------------

}

elseif ($CtrlInProgress > 8) {

$ctrlinprogress=12;

$_SESSION['ctrlinprogress']=12;

 

print("Det oppstod en feil, prøv på nytt. Oppdater hovedbilde først.");

}

Lenke til kommentar

Problemet ditt der, er at en meta-refresh vil fungere uavhenig av php-scriptet. En die() dreper php-scriptet, og gjør at ingenting etter die() blir utført. Prøv derfor å få et javascript som lukker vinduet automagisk etter x antall sekunder, før die() kjøres.

Lenke til kommentar

Takk for gode svar :D

 

Har kikket litt, og tror det burde la seg gjøre å lage ett "hidden" input-felt, for å kunne bruke "onchange-event til å kalle window.close(), men ser ikke helt for meg hvordan dette kan gjøres. Oppkall av javascript som du foreslo fikk jeg ikke til. Det har med mitt kunnskapsnivå å gjøre - huff.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...