Session Class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Developer

Functie omschrijving Gaat jouw hart sneller kloppen van software developen in C#.NET? Voor een softwarebedrijf in regio Den Bosch zijn wij op zoek naar een C# programmeur. Lees snel verder! Wat ga je doen? Je gaat werken met C# en ASP.NET MVC Framework om onder meer webapplicaties, webshops en websites te ontwikkelen. Je optimaliseert de bestaande software en helpt mee aan het automatiseren van bedrijfsprocessen. Je gaat samen met je collega's de juiste oplossing op basis van de wensen van de klanten uitwerken tot een mooi product. Bedrijfsprofiel Het ontwikkelen van softwareoplossingen en kantoorautomatiseringen is waar dit bedrijf voor staat.

Bekijk vacature »

Senior Developer ERP Dynamics 365

Samengevat: Deze werkgever is een softwarebedrijf. Ben jij een enthousiaste developer? Heb je ervaring met ERP of Dynamic 365 bussines central? Vaste baan: ERP Applicatie Specialist ERP MBO €3.600 - €5.200 Wij houden ons als bedrijf bezig met het leveren en implementeren van het Microsoft Dynamics pakket binnen verschillende industriële sectoren. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Binnen ons open team is er een no-nonsense cultuur. Daarnaast is er veel onderling contact door de korte communicatielijnen. Het team werkt enthousiast samen om een

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed leesbaar is. Je maakt voor bedrijven op maat

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

Bekijk vacature »
Jaws

Jaws

19/11/2008 17:21:00
Quote Anchor link
Ik wil onderstaande zelf gebouwde custom session handler class gebruiken. Alles werkt op zich. Behalve gaat er iets fout hij het cleanen van de sessie. Ik heb voor te testen de maxlifetime op 15s ingesteld, en de kans op cleaning is 100%, dus elke keer wordt de cleaning functie aangeroepen.

In de database worden de sessie's opgeslagen. Zoals je aan de clean_session() functie ziet, worden oude sessies gedeleted. Echter wanneer ik na 15sec de pagina refresh, staat de sessie nog altijd in de DB. Op een of andere manier wordt de sessie wel gewijzigd, maar direct daarna weer aangemaakt met de zelfde data. Dat eerste kan ik nog verklaren, maar het tweede niet? Wie weet wat hier aan te doen is, volgens mij zie ik gewoon iets over het hoofd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
class session {
    private $instance;
    
    function
__construct() {
        session_set_save_handler(
        array($this, "open_session" ),
        array($this, "close_session" ),
        array($this, "read_session" ),
        array($this, "write_session"),
        array($this, "destroy_session"),
        array($this, "clean_session" )
        );
    }
    
    function
open_session() {
        require_once('mysql.class.php');
        if ($this->instance = mysql::get_instance()->connection) {
            return true;
        }
    }
    
    function
close_session() {
        return mysql_close($this->instance);
    }

    function
read_session($sid) {
        $query = sprintf('SELECT data FROM sessions WHERE id="%s"',mysql_real_escape_string($sid));
        $result = mysql_query($query);
        if (mysql_num_rows($result) == 1) {
            list($data) = mysql_fetch_array($result);
            return $data;
        }

        else {
            return '';
        }
    }

    function
write_session($sid, $data) {
        $query = sprintf('REPLACE INTO sessions (id, data, last_accessed) VALUES ("%s", "%s", NOW())',mysql_real_escape_string($sid), mysql_real_escape_string($data));
        $result = mysql_query($query);
        return mysql_affected_rows($this->instance);
    }

    function
destroy_session($sid) {
        $query = sprintf('DELETE FROM sessions WHERE id="%s"',mysql_real_escape_string($sid));
        $result =  mysql_query($query);
        $_SESSION = array();
        return mysql_affected_rows($this->instance);
    }

    function
clean_session($expire) {
        $query = sprintf('DELETE FROM sessions WHERE DATE_ADD(last_accessed, INTERVAL %d SECOND) < NOW()', (int) $expire);
        $result = mysql_query($query);
        return mysql_affected_rows($this->instance);
    }
    
    function
__destruct() {
        session_write_close();
        $this->instance = null;
    }
}


//ini-settings
ini_set('session.gc_maxlifetime','15');
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 1);

$session = new session();

session_start();
?>
 
PHP hulp

PHP hulp

13/05/2024 21:48:00
 
Jelmer -

Jelmer -

19/11/2008 17:46:00
Quote Anchor link
Volgens mij gebeurt er dit:

Jij laadt pagina
-> session_start
-> session_close
-> INSERT
-> clean (maar niet die vorige insert, die is nog geen 15 sec oud)

Jij herlaadt de pagina
-> session_start
-> session_close
-> REPLACE
-> clean (de oude is nu met een nieuwe datum, dus ook dit maal wordt hij niet weggedaan)

Je zou het kunnen testen door een tweede browser erbij te pakken, en die ook de pagina te laten laden. Aangezien de twee browsers niet hun cookies, en dus hun sessies delen, zou je twee sessies moeten zien hierna. Na 15 seconden herlaadt je de pagina in één van de twee browsers. Hierna zou dan nog maar 1 sessie in de database aanwezig moeten zijn.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Jaws

Jaws

19/11/2008 19:56:00
Quote Anchor link
Ik had 2 sessies geopend. 1 in FF en 1 in IE. Er stonden toen inderdaad 2 records in de DB. Toen ik de FF page deed refreshen, toen verdwenen beide records??!!

Ik snap eigenlijk nog steeds niet waar nu de fout zit. Ik heb echo's in de session_write en de session_clean functies gezet om te kijken wanneer ze uitgevoerd worden.

Dit is de volgorde:
eerst clean en dan write

Ik zou denken dus, dat tijdens de clean de sessie uit de DB gegooid wordt (wat ook werkelijk gebeurd want mysql_affected_rows geeft 1 terug). En dan komt die write, en op een of andere manier schrijft hij de sessie opnieuw in de DB inc. alle data. Hoe kan ik dit nu oplossen?

Update:
Ok, ik heb een soort work around gevonden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
function clean_session($expire) {
        $query = sprintf('DELETE FROM sessions WHERE DATE_ADD(last_accessed, INTERVAL %d SECOND) < NOW()', (int) $expire);
        $result = mysql_query($query);
        if (mysql_affected_rows($this->instance)) {
            session_destroy();
            return true;
        }
    }

?>


Maar volgens mij houdt dit dus in dat als er een record gevonden wordt wat ouder is dan $expire dan wordt de huidige sessie beeindigd. Dit is dus nog steeds niet goed want, er zijn straks meerdere sessies in die DB, dus 1 verlopen sessie, moet niet inhouden dat ze allemaal verlopen :(

Niemand die ooit een gelijke classe heeft gemaakt of gezien??
Gewijzigd op 01/01/1970 01:00:00 door Jaws
 
Jaws

Jaws

21/11/2008 11:07:00
Quote Anchor link
*bump* niemand?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.