session_handler

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

Front-end Developer

Onze klant is sinds 2 jaar actief als adviseur en bemiddelaar in de verzekeringsmarkt. Sindsdien proberen zij deze slapende markt flink wakker te schudden. Dit willen zij doen door het bouwen van slimme vergelijkers op hun eigen website en die van partners. Het bedrijf wil continu voorop lopen, zodat consumenten eenvoudig de verzekeringen kunnen vinden die het beste bij ze past. Functieomschrijving Als Front-end Developer werk je aan vergelijkingsmodules die consumenten dagelijks gebruiken bij het vergelijken en afsluiten van verzekeringen. Je vindt het leuk om samen te werken met de product owner, bestaande modules te verbeteren en nieuwe vergelijkers "from

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Als junior .NET Developer lever je met jouw oplossingen direct een bijdrage aan de bedrijfsprocessen van de klanten. Werkzaamheden waar jij je zoal mee bezig houdt zijn; Het ontwikkelen, onderhouden en optimaliseren van de draaiende platforms van de klanten; Softwareontwikkeling middels C#, .NET; Klantcontact om de wensen te bespreken en uit te werken; Optimaliseren van de (huidige) bedrijfsprocessen; De IT-afdeling bestaat uit 30 personen verdeeld over 3 teams. Het team waar je in terecht komt bestaat uit ongeveer tien man. Het is een team wat bestaat uit betrokken collega’s, waar iedereen bereidt is om elkaar te

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »
Bjorn Vennema

Bjorn Vennema

19/03/2008 16:12:00
Quote Anchor link
Hoi allemaal,

Ik ben de laatste tijd bezig geweest met een session handler om sessies naar de database te schrijven. Nu gaat er alleen iets mis met het schrijven naar de database. De sessie wordt geschreven, alleen is het sessie_id regelmatig 0 en wordt de waarde nooit ingevuldt. De schrijf functie van de handler is:

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
<?
function write($ses_id,$ses_data)
{

    //$ses_id is het id van de sessie, net zoals bij de read functie
    //$ses_data is de data die geschreven moet worden
    
    //we gaan de controle aanmaken, zodat de sessie ook alleen bij 1 ip geldig is:

    $controle = md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);
    
    //uiteraard willen we alles weer in de DB schrijven. Hiervoor weer een query opstellen:
    $query  = "INSERT INTO Sessies";            //we gaan de gegevens in de tabel Sessies opslaan
    $query .= " (sessie_id,tijd_aangemaakt,waarde, controle)"; //de velden waar de gegevens moeten komen
    $query .= " VALUES";                            //uiteraard moeten er gegevens in komen
    $query .= " ('".mysql_real_escape_string($ses_id)."', NOW(),
    '"
.mysql_real_escape_string($ses_data)."', '".$controle."')";                    //en dit zijn de gegevens die we in de DB zetten
    
    //nu gaan we die query weer uitvoeren

    $result = mysql_query($query);
    
    //en kijken of dat gelukt is
    if(!$result)
    {

        //niet gelukt
        return false; //terugsturen dat het verkeerd ging
    }
    else
    {
        //het is gelukt waarschijnlijk gelukt. Nog 1 laatste check:
        if(mysql_affected_rows() != 1)
        {

            //het aantal aangepaste rijen is niet 1. Dus blijkbaar ging er toch iets fout.
            return false; //terugsturen dat er iets fout ging
        }
        else
        {
            //alles ging goed en de sessie is opgeslagen
            return true; //terugsturen dat alles gelukt is
        }
    }
}
?>


Schrijven gebeurt gewoon door $_SESSION['bla'] = "tekst";

Heeft iemand een idee waarom het fout gaat?
 
PHP hulp

PHP hulp

20/05/2024 08:50:22
 
Mike van Dongen

Mike van Dongen

19/03/2008 16:23:00
Quote Anchor link
wat is de foutmelding?
gebruik anders error_reporting(E_ALL | E_NOTICE);
 
Jesper Diovo

Jesper Diovo

19/03/2008 16:27:00
Quote Anchor link
Staat er wel session_start(); boven ieder bestand? Anders zal de sessie niet eens worden doorgegeven...

Wat geeft mysql_error() terug? Wat krijg je te zien als je de query echo'd? Klopt dan alles?
 
Bjorn Vennema

Bjorn Vennema

19/03/2008 16:29:00
Quote Anchor link
Er ontstaan geen foutmeldingen. Dat is juist het hele probleem. Hij wil alleen gewoon de data niet juist in de DB zetten. Snap niet waarom dat niet gebeurt?

session_start(); staat overal boven. mysql_error() geeft ook niets.

Wat zou je moeten krijgen als je de query echo'd
Gewijzigd op 01/01/1970 01:00:00 door Bjorn Vennema
 
Joren de Wit

Joren de Wit

19/03/2008 16:33:00
Quote Anchor link
Wat versta jij onder 'niet juist'?

In je huidige script geef je nergens een foutmelding als je query mislukt. Het enige dat je doet is de functie false terug laten geven, maar een SQL foutmelding wordt nergens getoond...
 
Bjorn Vennema

Bjorn Vennema

19/03/2008 16:39:00
Quote Anchor link
onder niet juist versta ik dat de gegevens niet goed in de database komen te staan. Je hebt gelijk over de SQL foutmeldinngen. Deze zal ik er in zetten.

Edit: Er worden bij het uitvoeren van het script ook geen foutmeldingen geproduceerd. Ik denk dat de variabelen ses_data en ses_id dan leeg zijn? Maar dat zouden variabelen moeten zijn die door de sessie meegegeven moeten worden...toch?
Gewijzigd op 01/01/1970 01:00:00 door Bjorn Vennema
 
Joren de Wit

Joren de Wit

19/03/2008 16:44:00
Quote Anchor link
Ja maar wat bedoel je dan weer met 'niet goed'?!

Komt er niets in de database, komen er incorrecte gegevens in de database, etc? Probeer nu eens precies te omschrijven wat er fout gaat. 'Niet juist' en 'niet goed' zijn zo nietszeggend. Dat is het zelfde als dat ik zou zeggen: 'Mijn script werkt niet goed, kun je me helpen?'...
 
Bjorn Vennema

Bjorn Vennema

19/03/2008 16:51:00
Quote Anchor link
Ik heb in de database een tabel met de velden: sessie_id, tijd_aangemaakt, waarde en controle. De velden controle en tijd_aangemaakt worden ingevuld zoals het hoort. Het veld sessie_id krijgt steeds als waarde 0. Leeg dus. Het veld waarde blijft ook leeg.
 
Joren de Wit

Joren de Wit

19/03/2008 16:53:00
Quote Anchor link
Nou dan weet je dus direct dat de variabelen $ses_id en $ses_data niet correct en dus blijkbaar ook leeg zijn. Dat zul je dus moeten gaan controleren...
 

19/03/2008 16:56:00
Quote Anchor link
Wat voor datatypes zijn al je velden in je database? En dan vooral de sessieid.
 
Bjorn Vennema

Bjorn Vennema

19/03/2008 17:08:00
Quote Anchor link
Toen ik de $ses_id en $ses_data ging afvangen in de handler, werd de waarde opeens geschreven, terwijl ik toch echt niets verandert heb in de overige code. Vraag me dus niet wat de fout zelf was, ik weet het niet. Het script is nu echter wel weer uitgebreid met extra foutafhandeling. Bedankt voor het helpen en meekijken in ieder geval.

Edit: sessie_id is type Int(eger) en waarde is Varchar
Gewijzigd op 01/01/1970 01:00:00 door Bjorn Vennema
 
Jurgen assaasas

Jurgen assaasas

19/03/2008 17:45:00
Quote Anchor link
Björn schreef op 19.03.2008 16:29:
Er ontstaan geen foutmeldingen. Dat is juist het hele probleem. Hij wil alleen gewoon de data niet juist in de DB zetten. Snap niet waarom dat niet gebeurt?

session_start(); staat overal boven. mysql_error() geeft ook niets.

Wat zou je moeten krijgen als je de query echo'd



session_start is niet nodig indien er een eigen session handler is. Je moet geloof ik zorgen dat de sessie pas wordt gesloten na de laatste </html> dmv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
 
Jelmer -

Jelmer -

19/03/2008 17:52:00
Quote Anchor link
Hoe registreer je de functie, en kloppen de andere callbacks wel? Zie ook session_set_save_handler.

Verder, weet je zeker dat sessie_id een nummer is? PHP Sessies zijn namelijk een md5-hash van iets, en ik merk niet dat je ergens een eigen sessie-id genereert. Een type CHAR(32) zou beter op z'n plaats zijn.

Overigens is de Varchar wel groot genoeg? Bij mijn weten heeft die een limiet van 255 karakters, en wanneer je grotere dingen in de sessie zet (de data van een sessie is het resultaat van serialize uitgevoerd op de $_SESSION array) wordt je data maar deels opgeslagen. Met als gevolg dat bij de eerst volgende keer dat je de sessie probeert uit te lezen, unserialize (wat intern gebruikt wordt om de $_SESSION array vervolgens weer te vullen) zal zeuren over een niet geldige waarde, en niets zal teruggeven. Resultaat: geen sessie meer. Ik zou voor een TEXT of misschien wel BLOB veld gaan. BLOB omdat je de data niet als tekst hoeft te behandelen, al is het in weze gewoon een enorme string waar je niet veel mee kan. Het vertoont op zich vrij veel overeenkomsten met binaire data.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Frank -

Frank -

19/03/2008 17:53:00
Quote Anchor link
Jurgen schreef op 19.03.2008 17:45:
session_start is niet nodig indien er een eigen session handler is.
Is dat zo? Bij mijn weten behandel je in jouw php-code een sessie zoals je altijd een sessie behandeld, maar wordt de sessie intern alleen anders verwerkt. Niet meer in een bestandje maar in de database. session_start() heb je dan ook gewoon nodig.

Of ik sla de plank flink mis, wat nooit helemaal is uit te sluiten...
 
Jurgen assaasas

Jurgen assaasas

19/03/2008 18:06:00
Quote Anchor link
pgFrank schreef op 19.03.2008 17:53:
Jurgen schreef op 19.03.2008 17:45:
session_start is niet nodig indien er een eigen session handler is.
Is dat zo? Bij mijn weten behandel je in jouw php-code een sessie zoals je altijd een sessie behandeld, maar wordt de sessie intern alleen anders verwerkt. Niet meer in een bestandje maar in de database. session_start() heb je dan ook gewoon nodig.

Of ik sla de plank flink mis, wat nooit helemaal is uit te sluiten...


Zoals ik gelezen heb in PHP 5 voor gevorderden is dit niet nodig (ik dacht nl. ook eerst dat de schrijver het fout had). Zelf heb ik dit nog niet getest maar zo zou het moeten zijn. Wel benadrukte hij dat er na de laatste </html> een session_write_close() moet komen anders wordt de sessie niet geschreven naar de database. Omdat hij 2 functies aanroept bij het sluiten, nl. schrijven en sluiten.
 
Frank -

Frank -

19/03/2008 18:12:00
Quote Anchor link
Dit is wat Zend er van zegt, dus inclusief het gebruik van session_start(). Maar wellicht zijn er meerdere wegen naar die naar Rome leiden.
 
Bjorn Vennema

Bjorn Vennema

20/03/2008 14:50:00
Quote Anchor link
wat ik heb gelezen moet session_start weldegelijk gebruikt worden en wordt de sessie intern anders behandeld. Zoals Frank al zegt.
@Jelmer: De waarde is in mijn geval niet zo heel groot, het slaat 2 sessie variabelen op en dat past prima in een varchar veld. Ik snap echter je punt, waardoor het inderdaad handiger wordt. Daarnaast ga ik nu eens testen of het id in een char veld werkt.

Edit: Inderdaad is een char veld hier de oplossing. Ik ging ervanuit dat het id uit een nummer zou bestaan, maar dat is niet het geval. Een char veld van 32 karakters biedt uitkomst, daar het id ook precies 32 karakters lang wordt.
Gewijzigd op 01/01/1970 01:00:00 door Bjorn Vennema
 



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.