session_handler

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

Ervaren C#.NET developer

Functieomschrijving We zijn op zoek naar een ervaren C#.NET programmeur voor een moderne werkgever in de regio Prinsenbeek. Als programmeur zal je bezig zijn met het ontwikkelen van op maat gemaakte webapplicaties voor verschillende klanten, waarbij je ervoor zorgt dat complexe processen zo goed mogelijk worden ondersteund. Je takenpakket omvat onder andere: Werken met databases en dataopslagoplossingen, implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens, evenals het schrijven van technische documentatie en gebruikershandleidingen. Het ontwikkelen en onderhouden van C#.NET-applicaties. Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen. Het schrijven van hoogwaardige en herbruikbare codes.

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Ervaren PHP Software Developer

Functieomschrijving Voor een toffe opdrachtgever in regio Breda zijn wij op zoek naar een medior PHP Developer met affiniteit met Laravel. Je komt te werken bij een uitdagende opdrachtgever met supergave klanten in een specifieke branche. Als PHP ontwikkelaar ben je samen met een vooruitstrevende team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het vernieuwen van informatiesystemen voor een specifieke branche. Je ondersteunt complexe uitdagingen van klanten. Vervolgens breng je hun wensen in kaart en vertaalt deze door naar maatwerk software. Affiniteit met Laravel is een pré. Om de klanten zo goed mogelijk te ondersteunen en snel in

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

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 »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

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 »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

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

02/06/2024 23:03:23
 
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.