Avatar billede kennedk Nybegynder
01. oktober 2005 - 21:31 Der er 11 kommentarer

Opdatere en if sætning.

Kan man ikke lave så den opdatere en ifsætning hvert 5 min.
altså fx så
If(isset($hej)){
echo "Hej";
}
så den kun opdatere den hvert 5 min. kun ifsætningen, ikke alt det andet på siden.
Skriv hvis du ikke forstår.
Men kan det lade sig gøre?
jeg tror det ikke, men det kunne jo ske :)
Avatar billede jaw Nybegynder
01. oktober 2005 - 21:33 #1
Ikke i php nej, der skal hele siden reloades. Måske du kan i javascript, det har jeg ikke meget forstand på. Men igen, så skal variablen vil ændres på en måde for at if-sætningen skal ændres, og den variabel skal vel også ændres på en måde via en reload eller lign.?!
Avatar billede kennedk Nybegynder
01. oktober 2005 - 21:38 #2
Jeg ved ingenting?
Avatar billede jaw Nybegynder
01. oktober 2005 - 21:40 #3
Hvad havde du tænkt dig egentlig? Hvad skal det bruges til?

Er det:
if(isset($hej)) du mener der skal ændre sig, eller indholdet i if'en:
echo "hej" ?
Avatar billede kennedk Nybegynder
01. oktober 2005 - 21:44 #4
Jamen altså den skulle køre en mysql update, for jeg har et bruger system, og jeg vil gerne have sp man kan se om de er online, så skal man vel tjekke hele tiden ?
Avatar billede kennedk Nybegynder
01. oktober 2005 - 21:48 #5
altså til den enkelte bruger, også skal den skrive på deres profil at de er online
Avatar billede fixxxer Nybegynder
01. oktober 2005 - 21:49 #6
Det løser du på en anden måde.. IMHO

I toppen af alle diner sider, kan du se i en tabel hvor længe siden du sidst har set aktivitet fra en bruger. Hvis det er mere en 5 minutter eller 10 minutter senere, så fjern ham fra "online-listen".

For så at undgå at brugere der faktisk er til stede, men er på den samme side i lang tid, kan du bruge en <img> til at indeholde et php-script der vha. javascript refreshes hvert minut.

Jeg kunne godt komme med det store forkromede eksempel, men det er vel sjovere hvis du selv kunne se hvordan du skulle skrive det, udfra mine vejledninger :)
(og så sparer du også point)
Avatar billede kennedk Nybegynder
01. oktober 2005 - 21:50 #7
For så at undgå at brugere der faktisk er til stede, men er på den samme side i lang tid, kan du bruge en <img> til at indeholde et php-script der vha. javascript refreshes hvert minut.

Hvis du kan forklare den?
Avatar billede fixxxer Nybegynder
01. oktober 2005 - 21:57 #8
Forestil dig at du logger ind med en bruger, og går til en side med en masse tekst der tager dig minimum 15 minutter at læse (det er hyptetisk, for det ville være meget tekst !-)

I de 15 minutter, ville din "session" måske udløbe, forstået på den måde at det vil tolkes sådan at du har forladt siden.

Med et <img> kan vi holde liv i denne session, blot udfra kriteriet at JavaScript er slået til i brugeren browser.

Det kunne fx være sådan:

<img id="keep_alive" border="0" width="0" height="0" scr="keep_alive.php" alt="">


--keep_alive.php--

<?
  mysql_query("UPDATE tabel SET sidst_set = NOW() WHERE bruger = 'brugernavn'");
?>


Til sidst skal vi blot refreshe img'et fx hvert minut:


<script type="text/javascript">
  function keep_alive_fc()
  {
    document.images['keep_alive'].src = 'keep_alive.php';
    // åbner keep_alive.php i billedet - php-scriptet bliver eksekveret
    setTimeout("keep_alive_fc()", 60000);
    // kører keep_alive_fc() igen om et minut
  }

  window.onload=keep_alive_fc;
</script>
Avatar billede fixxxer Nybegynder
01. oktober 2005 - 22:01 #9
Når nu jeg er i gang, får du her den SQL du kan køre mod DB'en, for at luge ud i bruger hvis session er udløbet.


mysql_query("DELETE FROM tabel WHERE DATE_ADD(sidst_set,INTERVAL 10 MINUTE) <= NOW()");
Avatar billede kennedk Nybegynder
01. oktober 2005 - 22:01 #10
ok :)
Det prøver jeg at rode med, men sgu ikke sikkert at det virker:D
Meen, jeg rpøver lykken:d
Avatar billede fixxxer Nybegynder
01. oktober 2005 - 22:05 #11
Det virker skam, eller ville jeg ikke skrive det. Jeg har selv brugt ovenstående model talrige gange !-)

Hvis du får nogle problemer så må du jo oprette et spørgsmål om det specifikt.
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