20. december 2014 - 18:37Der er
21 kommentarer og 1 løsning
Session variable dør efter en time uden aktivitet
Hej - denne kode virker fint på mit billige hotel hos domaindirect (PHP version 5.3.x, safemode off) men på mit hotel til drift hos wannafind timer session ud efter 1 time (PHP Version 5.3.29, safemode on).
Hvis der er over 1 time mellem aktivitet så ryger man retur til login på index.php når siden reloader. Det ser jeg som et udtryk for at serveren har lukket sessionen.
Er der en der har en ide om hvad jeg kan forsøge mig med?
<?php session_start(); //check om session er aktiv, ellers nyt login if (!isset($_SESSION['myplacename'])) { header("location:index.php"); // Stop running code exit; } //Version 1.0 dec 2014 TR ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Info about visitors</title> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="css/custom.css" rel="stylesheet" type="text/css"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <meta name="viewport" content="width=device-width"> </head> <body> <script type="text/javascript"> if(navigator.userAgent.match(/iPad/i)) { viewport = document.querySelector("meta[name=viewport]"); viewport.setAttribute('content', 'width=400'); } </script> <script type="text/javascript"> $(document).ready(function() {
<div align="center"> <div class="page-header"> <h2>Welcome to Place</h2> Please answer all three questions on every visit </div> <div class="line1" align="center"> Have you been here before today?<br> <button class="btn btn-primary">No, 1st time</button> <button class="btn btn-primary">Yes</button> </div> <hr width="300px"/> <div class="line2" align="center"> Where are you from?<br> <button class="btn btn-primary">Europe</button> <button class="btn btn-primary">Africa</button> <button class="btn btn-primary">Other</button> </div> <hr width="300px"/> <div class="line3"align="center"> How old are you?<br> <button class="btn btn-primary">18-24</button> <button class="btn btn-primary">25-29</button> <button class="btn btn-primary">Other</button> </div> </div> </body> </html>
hmm - virkede ikke deres support foreslår at prøve at sætte php_value session.gc_maxlifetime i en .htaccess fil men jeg ville nu hellere forlænge den fra browseren lidt ad gangen end at sætte den vildt højt som fast værdi
prøver lige med det der ajax link jeg fandt ovenfor
hej igen - hver test tager en time så det tager noget tid at få lavet noget der kan reproduceres.
Lige nu ser det ud til at dit trick virker på PC og på iPad med Safari, men ikke med Chrome. om nogle timer kan jeg testet nok til at kunne sige det med sikkerhed.
Aner det ikke. Jeg har ikke en iPad og ville aldrig selv prøve at få en session til at løbe længere end højst nødvendigt uden brugerens aktive interaktion.
Det har jeg bare brug for i den aktuelle situation. Den skal stå ved en indgang så ankomne kan angive de parametre der ligger på siden. Så det skal fungere selvom der ikke kommer nogen i noget tid.
Session er udelukkende en metode til at sikre at php filerne ikke kaldes direkte uden login (derfor har jeg det tjek af session-variable i hver php fil) Det kan være jeg skal google lidt om der er andre løsninger på det problem
hej - jeg lukker den her, kører bare med discounthost. repox, smider du ikke et svar, så får du halvdelen af pts for et kvalificeret løsningsforslag der givetvis ville fungere i andre situationer med andre behov. mvh thomas
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.