Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Sessions tvinger side til at vente?

Sessions tvinger side til at vente?


 

Sessions tvinger side til at vente?

Rasmus  

Vi har behov for at se status på et php script jeg kører under dets kørsel. Til det fandt
vi følgende løsning.
3 filer klarer jobbet:
index.php kører 2 iframes.
viewer.php kører i den ene iframe og læser fra filen test.txt
writer.php kører i den anden iframe og skriver sin status ned i test.txt (i dette eksempel
nedskriver den $i som kører i et for loop)

index.php
[code]
<html>
  <head>
    <title> php problem example working</title>
  </head>
  <body>
    index.php
    <iframe src='viewer.php' width='100%' height='80%'></iframe>
    <iframe src='writer.php' width='100%' height='20%'></iframe>
  </body>
</html>
[/code]

viewer.php
[code]
<html>
  <head>
    <title> php problem example working</title>
    <meta http-equiv="refresh" content="0.2;url=">
  </head>
  <body>
    viewer.php
    <br />
    <br />
    <?php
      readfile
('test.txt');    
    
?>
  </body>
</html>
[/code]

writer.php
[code]
<html>
  <head>
    <title> php problem example working</title>
  </head>
  <body>
    writer.php
    <br />
    <br />
    <?php
      
for($i=0;$i<50;$i++){
        
usleep(300000);
        
$myFile "test.txt";
        
$fh fopen($myFile'w') or die("can't open file");
        
fwrite($fh"i = $i");
        
fclose($fh);
      }
      echo 
"loop done";
    
?>
  </body>
</html>
[/code]

Live demo på: http://bergpalm.dk/working

Så langt så godt. Men vores system bruger en adgangskontrol baseret på sessions. Da dette
blev inkorporeret (<?php include(protected.php?> i toppen af filen) begyndte viewer.php
at vente på at writer.php var færdig med at eksekvere.
Jeg har lavet følgende eksempel filer.
Det er det samme system som før, men nu bruges sessions til at styre update hastigheden på
viewer således at den burde stoppe med at opdatere når at writer.php var færdig.

index.php
[code]
<?php 
  session_start
();
  
$_SESSION['update']=0.2
?>
<html>
  <head>
    <title> php problem example failing</title>
  </head>
  <body>
    index.php
    <iframe src='viewer.php' width='100%' height='80%'></iframe>
    <iframe src='writer.php' width='100%' height='20%'></iframe>
  </body>
</html>
[/code]

viewer.php
[code]
<?php 
  session_start
();
  
$update=$_SESSION['update'];
?>
<html>
  <head>
    <title> php problem example failing</title>
    <meta http-equiv="refresh" content="<?php echo $update?>;url=">
  </head>
  <body>
    viewer.php
    <br />
    <br />
    <?php
      readfile
('test.txt');    
    
?>
  </body>
</html>
[/code]

writer.php
[code]
<?php session_start(); ?>
<html>
  <head>
    <title> php problem example failing</title>
  </head>
  <body>
    writer.php
    <br />
    <br />
    <?php
      
for($i=0;$i<50;$i++){
        
usleep(300000);
        
$myFile "test.txt";
        
$fh fopen($myFile'w') or die("can't open file");
        
fwrite($fh"i = $i");
        
fclose($fh);
      }
      echo 
"loop done";
      
$_SESSION['update']=-1;
    
?>
  </body>
</html>
[/code]

Live demo på: http://bergpalm.dk/failing

Nogen ideer til hvordan vi kan få det til at virke som planlagt?



Dato : 07.02.2008, 09:29

Visninger : 1464

Points : 0




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund