Session leren gebruiken.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

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 »

Teamlead PHP Developer

Functieomschrijving Voor een gewaardeerde werkgever in de buurt van Middelburg zijn wij op zoek naar een gemotiveerde teamlead PHP developer met affiniteit met Symfony/Laravel. Een enthousiast persoon die het ontwikkelteam komt versterken met het aanpakken van uitdagende projecten. Ben jij op zoek naar een uitdaging waar je de tijd en ruimte krijgt jezelf te ontwikkelen en je eigen IT-team aan te sturen? Lees dan snel verder! Die ga je doen: Bijdragen aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de PHP based applicaties; Ontwikkeling en beheer van de serviceportal in Symfony en de webshops in de tweede versie van

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

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 »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »
Mark van den Brink

Mark van den Brink

17/09/2012 21:12:46
Quote Anchor link
Ik zie dat veel mensen gebruik maken van sessies en merk dat dit
erg handig in gebruik is voor een hoop dingen.

Graag zou ik meer willen weten over het gebruik van sessies weet iemand een site waar ik dit kan leren of kan iemand mij vertellen waar sessie eigenlijk goed voor zijn!

Zo gebruik ik bijv. al jaren de volgende script om mijn database te connecten (heb ik van een vriend gehad) Maar heb eigenlijk geen idee hoe het werkt..

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
<?
    session_start();

                // database configuratie
                $dbname = "database_naam"; // database naam
                $user = "mysql_username"; // gebruikersnaam van mysql
                $pass = "mysql_password"; // wachtwoord van mysql
                $host = "localhost"; // host naar mysql

                // user configuratie

                $to = "[email protected]"; // jou email adres
                $subject = "Database Connectie Mislukt"; // onderwerp van de email
                $from = "From: Mark <[email protected]";

    if (!mysql_select_db($dbname, mysql_connect($host, $user, $pass)))
    {

        if (!$_SESSION["dberror"])
        {

            $msg = "============================================\n";
            $msg .= "Database connectie mislukt!\n";
            $msg .= "============================================\n\n";
            
            $msg .= "De connectie met de database is mislukt!\n\n";
            
            $msg .= "Datum: " . date("d.m.Y") . "\n";
            $msg .= "Tijd: " . date("H:i") . "\n";
            $msg .= "Ip addr: " . $_SERVER['REMOTE_ADDR'] . "\n\n";
            
            $msg .= "Mark\n";
            
            mail($to, $subject, $msg, $from);
            
            $dberror = 1;
            session_register(dberror);
        }

        
        echo "
        <html>
        <head>
        <title>Database connectie mislukt</title>
        </head>
        
        <body>
        
        <h1>De connectie met de database is mislukt.</h1>
        
        <p>Probeer het over enkele minuten opnieuw. Blijf niet de pagina herladen (refreshen).
        Wanneer u dit wel doet wordt de database alleen nog maar meer belast. Er is een
        e-mail gestuurd naar &eacute;&eacute;n van de administrators.</p>
        
        <p>Onze excuses en bedankt voor het begrip.</p>
        
        <p><i>Mark</i></p>
        
        </body>
        </html>"
;
        
        exit();
    }

?>


Kan iemand mij iets vertellen of verwijzen naar een goeie tutorial hier over??
 
PHP hulp

PHP hulp

06/05/2024 21:51:58
 
Eddy E

Eddy E

17/09/2012 21:14:44
Quote Anchor link
Je code heeft echt 0,0 te maken met sessies.
Kijk eens op php.net en typ in het zoekvak eens gewoon "Session" in.
 
Wouter J

Wouter J

17/09/2012 21:25:15
Quote Anchor link
Het probleem
Algemeen: Ik heb een variabele X die ik op pagina A aanmaak. Vervolgens wil ik die gebruiken op pagina B, maar niet via de URL (en GET parameters).
Toepassing: Dit heb je bijv. in een inlog script, je wilt een variabele in het inlog gedeelte setten met de waarde: ingelogd. Vervolgens wil je op elke pagina kunnen kijken of hij is ingelogd. [sidenote]Het maken van een inlog systeem is ingewikkelder, omdat je moet kijken of je nog steeds met dezelfde persoon te maken hebt[/sidenote]

Een idee
Je kan het niet met gewone variabele doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
A.php
=====
<?php
$x
= 'foobar';
?>


B.php
=====
<?php
echo $x;
?>


En via een database is veel te veel overhead.

De oplossing
De oplossing is, zoals je wel verwachte, sessies (of cookies) gebruiken. Het verschil daar tussen is simpel. Eigenlijk bestaan er alleen cookies, deze sla je op in één van de TEMP dirs van het browser. Die blijven beschikbaar tot ze verlopen zijn, dit kan oplopen in de jaren.
PHP heeft de sessies er bovenop bedacht. De waarde van een sessie wordt vastgehouden door PHP en de id van de sessie wordt opgeslagen als een cookie, zo weet PHP welke sessie bij deze bezoeker hoort. Zodra je je browser sluit zal de cookie verwijderd worden.

Hoe stel ik een sessie variabele in?
Om te kunnen werken met een sessie moet elke pagina die sessies wilt gebruiken beginnen met session_start:
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
A.php
=====
<?php
session_start();

$x = 'foobar';
?>


B.php
=====
<?php
session_start();

echo $x;
?>


Alle sessies sla je op in de super global $_SESSION, wat een array is. In ons geval:
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
A.php
=====
<?php
session_start();

$_SESSION['x'] = 'foobar';
?>


B.php
=====
<?php
session_start();

echo $_SESSION['x'];
?>


En klaar zijn we!




Dat script van je vriend is verre van goed:
- Verander de 1e if in 2 if statements, waarbij je bij de eerste de connectie en bij de 2e select db controleert
- krijg de errors via de functie mysql_error en niet via een sessie
- check of een mail is verzonden
- gebruik de juiste mailheaders
- session_register is deprecated, sinds PHP4.1 (!!). Gebruik de syntax die ik je hierboven leerde (de $_SESSION array)
- exit of die gebruikt je zelden en is in dit geval onnodig
- echo nooit hele stukken PHP. Sluit je PHP, plaats de HTML en open daarna je PHP weer.
 
Mark van den Brink

Mark van den Brink

18/09/2012 09:01:46
Quote Anchor link
Dat is nog eens een uitleg waar ik wat aan heb en inderdaad erg handig om dingen te gebruiken en veiliger maar eens kijken of ik dit script nu goed kan krijgen...

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
73
74
75
76
77
78
<?
    session_start();

                // database configuratie
                $dbname = "database_naam"; // database naam
                $user = "mysql_username"; // gebruikersnaam van mysql
                $pass = "mysql_password"; // wachtwoord van mysql
                $host = "localhost"; // host naar mysql

                // user configuratie

                $to = "[email protected]"; // jou email adres
                $subject = "Database Connectie Mislukt"; // onderwerp van de email
                $website_naam = 'Mijn Site';
                $eigen_emailadres = 'mijn_emailadres@mijn_domein.nl';
                $error_emailadres = 'mijn_emailadres@mijn_domein.nl';
                $naam_verzender = 'Afzender';
                $email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
                $html = true;
                
$headers     = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
$headers    .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
$headers    .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
$headers    .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
$headers    .= 'X-Priority: Normal' . PHP_EOL;
$headers    .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
$headers    .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';

if (!mysql_connect($host, $user, $pass)) {
    if (!mysql_select_db($dbname)){
    {

        if (!$_SESSION["dberror"])
        {

            $msg = "============================================\n";
            $msg .= "Database connectie mislukt!\n";
            $msg .= "============================================\n\n";
            
            $msg .= "De connectie met de database is mislukt!\n\n";
            
            $msg .= "Datum: " . date("d.m.Y") . "\n";
            $msg .= "Tijd: " . date("H:i") . "\n";
            $msg .= "Ip addr: " . $_SERVER['REMOTE_ADDR'] . "\n\n";
            
            $msg .= "Mark\n";
            
            if (mail($to, $subject, $msg, $headers)) {
    echo 'Error mail is verzonden.';
}

else {
    echo 'Error mail niet verzonden.';
}

            $dberror = 1;
            session_register(dberror);
        }

        
?>

        <html>
        <head>
        <title>Database connectie mislukt</title>
        </head>
        
        <body>
        
        <h1>De connectie met de database is mislukt.</h1>
        
        <p>Probeer het over enkele minuten opnieuw. Blijf niet de pagina herladen (refreshen).
        Wanneer u dit wel doet wordt de database alleen nog maar meer belast. Er is een
        e-mail gestuurd naar &eacute;&eacute;n van de administrators.</p>
        
        <p>Onze excuses en bedankt voor het begrip.</p>
        
        <p><i>Mark</i></p>
        
        </body>
        </html>";
        
<?php
    }
?>

Ik begrijp je uitleg maar ik weet nog niet hoe mijn script er dan uit hoort te zien.

Toevoeging op 18/09/2012 09:17:30:

Ik weet alleen niet hoe ik het volgende goed moet aanpassen..

- session_register is deprecated, sinds PHP4.1 (!!). Gebruik de syntax die ik je hierboven leerde (de $_SESSION array)

Snap wel wat je bedoelt maar weet niet zo goed hoe ik hem moet invoegen in dit script.

Is hij voor de rest wel goed? Of heb ik hem nu nog erger gemaakt haha!
Gewijzigd op 18/09/2012 09:38:14 door Mark van den Brink
 
- Ariën  -
Beheerder

- Ariën -

18/09/2012 09:34:44
Quote Anchor link
session_register() weghalen..
Gebruik gewoon:

$_SESSION['dberror'] = $dberror;

Waarom je een sessie aanmaakt voor een databasefoutmelding ontgaat mij even.
Gewijzigd op 18/09/2012 09:37:11 door - Ariën -
 
Mark van den Brink

Mark van den Brink

18/09/2012 09:45:00
Quote Anchor link
Het is een krijgertje..

Maar hoe zou jij het doen dan gebruik van sessies weg en dan zoiets?

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
73
<?

                // database configuratie
                $dbname = "database_naam"; // database naam
                $user = "mysql_username"; // gebruikersnaam van mysql
                $pass = "mysql_password"; // wachtwoord van mysql
                $host = "localhost"; // host naar mysql

                // user configuratie

                $to = "[email protected]"; // jou email adres
                $subject = "Database Connectie Mislukt"; // onderwerp van de email
                $website_naam = 'Mijn Site';
                $eigen_emailadres = 'mijn_emailadres@mijn_domein.nl';
                $error_emailadres = 'mijn_emailadres@mijn_domein.nl';
                $naam_verzender = 'Afzender';
                $email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
                $html = true;
                
$headers     = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
$headers    .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
$headers    .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
$headers    .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
$headers    .= 'X-Priority: Normal' . PHP_EOL;
$headers    .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
$headers    .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';

if (!mysql_connect($host, $user, $pass)) {
    if (!mysql_select_db($dbname)){

            $msg = "============================================\n";
            $msg .= "Database connectie mislukt!\n";
            $msg .= "============================================\n\n";
            
            $msg .= "De connectie met de database is mislukt!\n\n";
            
            $msg .= "Datum: " . date("d.m.Y") . "\n";
            $msg .= "Tijd: " . date("H:i") . "\n";
            $msg .= "Ip addr: " . $_SERVER['REMOTE_ADDR'] . "\n\n";
            
            $msg .= "Mark\n";
            
            if (mail($to, $subject, $msg, $headers)) {
    echo 'Error mail is verzonden.';
}

else {
    echo 'Error mail niet verzonden.';
}
        }

        
?>

        <html>
        <head>
        <title>Database connectie mislukt</title>
        </head>
        
        <body>
        
        <h1>De connectie met de database is mislukt.</h1>
        
        <p>Probeer het over enkele minuten opnieuw. Blijf niet de pagina herladen (refreshen).
        Wanneer u dit wel doet wordt de database alleen nog maar meer belast. Er is een
        e-mail gestuurd naar &eacute;&eacute;n van de administrators.</p>
        
        <p>Onze excuses en bedankt voor het begrip.</p>
        
        <p><i>Mark</i></p>
        
        </body>
        </html>";
        
<?php
    }
?>


Correct me if i'm wrong...
 
- Ariën  -
Beheerder

- Ariën -

18/09/2012 09:46:52
Quote Anchor link
Voor een databasefoutmelding heb je toch geen sessies nodig?
 
Mark van den Brink

Mark van den Brink

18/09/2012 10:14:21
Quote Anchor link
Daar heb je gelijk in maar heb het gekregen en eigenlijk nooit veranderd.

Hoe is het script boven zonder sessies moet alleen nog foutafhandeling in denk ik...
 
- Ariën  -
Beheerder

- Ariën -

18/09/2012 10:16:51
Quote Anchor link
Er zit gewoon foutafhandeling in.
 
Mark van den Brink

Mark van den Brink

18/09/2012 10:23:11
Quote Anchor link
Dan hou ik hem lekker zo.'

Alleen heb nu aantal foutjes ondekt waar ik niet uitkom..

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
73
74
<?php

                // database configuratie
                $dbname = "---"; // database naam
                $user = "---"; // gebruikersnaam van mysql
                $pass = "---"; // wachtwoord van mysql
                $host = "localhost"; // host naar mysql

                // user configuratie

                $to = "[email protected]"; // jou email adres
                $subject = "Database Connectie Mislukt"; // onderwerp van de email
                $website_naam = 'Sonic GFX :: Designs';
                $eigen_emailadres = '[email protected]';
                $error_emailadres = '[email protected]';
                $naam_verzender = 'Sonic GFX';
                $email_verzender = '[email protected]';
                $html = true;
                
$headers     = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
$headers    .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
$headers    .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
$headers    .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
$headers    .= 'X-Priority: Normal' . PHP_EOL;
$headers    .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
$headers    .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';

if (!mysql_select_db($dbname, mysql_connect($host, $user, $pass)))
    {

  

            $msg = "============================================\n";
            $msg .= "Database connectie mislukt!\n\r";
            $msg .= "============================================\n\n";
            
            $msg .= "De connectie met de database is mislukt!\n\n";
            
            $msg .= "Datum: " . date("d.m.Y") . "\n";
            $msg .= "Tijd: " . date("H:i") . "\n";
            $msg .= "Ip addr: " . $_SERVER['REMOTE_ADDR'] . "\n\n";
            
            $msg .= "Mark\n";
            
            if (mail($to, $subject, $msg, $headers)) {
    echo 'Error mail is verzonden.';
}

else {
    echo 'Error mail niet verzonden.';
}

        
?>

        <html>
        <head>
        <title>Database connectie mislukt</title>
        </head>
        
        <body>
        
        <h1>De connectie met de database is mislukt.</h1>
        
        <p>Probeer het over enkele minuten opnieuw. Blijf niet de pagina herladen (refreshen).
        Wanneer u dit wel doet wordt de database alleen nog maar meer belast. Er is een
        e-mail gestuurd naar &eacute;&eacute;n van de administrators.</p>
        
        <p>Onze excuses en bedankt voor het begrip.</p>
        
        <p><i>Mark</i></p>
        
        </body>
        </html>";
        
<?php
    }
?>

  


Hij verstuurd ene mail maar de ene keer krijg ik hem wel en de andere keer krijg ik hem niet hoe kan dat?

en ik heb deze weer terug veranderd in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if (!mysql_select_db($dbname, mysql_connect($host, $user, $pass)))
    {


als ik 2 if statements gebruikte zei hij geen DB geselecteerd of heb ik hem verkeerd gescript..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if (!mysql_connect($host, $user, $pass)) {
    if (!mysql_select_db($dbname)){


Toevoeging op 18/09/2012 11:07:19:

Laat het ontvangen van mails maar zitten ontvang zojuist 20 mails in 1x
Gewijzigd op 18/09/2012 13:24:21 door Mark van den Brink
 
Albert de Wit

Albert de Wit

18/09/2012 11:45:16
Quote Anchor link
je bent vergeten je database login gegevens te veranderen...
 
Mark van den Brink

Mark van den Brink

18/09/2012 13:24:55
Quote Anchor link
Dat was inderdaad niet handig bedankt!

Meteen alles maar wijzigen haha!
 
Nick Dijkstra

Nick Dijkstra

18/09/2012 13:40:13
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if (!mysql_connect($host, $user, $pass)) {
    if (!mysql_select_db($dbname)){
?>

Als het connecten niet lukt dan met de db verbinding maken?

Ik denk dat je het zo bedoelt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if (mysql_connect($host, $user, $pass)) {
    if (mysql_select_db($dbname)){

    }
else{
        echo 'Kan niet verbinden met de database';
    }
}
else{
    echo 'Kan geen verbinding maken met de server';
}

?>
 
Mark van den Brink

Mark van den Brink

18/09/2012 14:21:10
Quote Anchor link
Werkt! Helemaal super!
 
Wouter J

Wouter J

18/09/2012 15:19:32
Quote Anchor link
En je weet ook wat het doet?

Want op mysql_connect php.net kun je onder Return Values lezen wat de functie teruggeeft. In dit geval:
Quote:
Returns a MySQL link identifier on success or FALSE on failure.

Als er een fout is zien we dus dat er FALSE teruggegeven wordt. Daarop kunnen we dus checken, is er iets anders dan false teruggegeven dan kun je gewoon doorgaan.
De functie mysql_error bevat de error die omschrijft wat er fout is gegaan, toon deze niet aan je bezoekers, maar als je hem lokaal debugd is dit natuurlijk erg handig.
 
Mark van den Brink

Mark van den Brink

19/09/2012 18:37:34
Quote Anchor link
Oke duidelijk dus eigenlijk wat jij zegt is het nog het beste om er een mysql_error aan toe te voegen:
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
<?php
if (mysql_connect($host, $user, $pass)) {
    if (mysql_select_db($dbname)){

    }
else{
        echo 'Kan niet verbinden met de database<br>';
        echo mysql_error(). "<br>\n";

    }
}
else{
    echo 'Kan geen verbinding maken met de server<br>';
    echo mysql_error(). "<br>\n";
}

?>


is dat de dan de beste manier? Aangezien ik vooral op de site lees dat or die nooit meer gebruikt mag worden zoals bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_connect($host, $user, $pass)or die(mysql_error());


of zal ik hem zo laten zoals Nick aangaf??
 
Wouter J

Wouter J

19/09/2012 18:52:57
Quote Anchor link
Als je het script aan het maken bent, wat we de development fase/omgeving noemen, wil je natuurlijk zo veel mogelijk informatie zien om je fout zo snel mogelijk op te lossen.

Als de website online staat, wat we de production fase/omgeving noemen, wil je juist zo min mogelijk informatie tonen. Het maakt de gebruiker niet uit wat er fout gaat, alleen of er wat fout gaat. Tevens bevatten de foutmeldingen vaak gegevens zoals inlog gegevens of gegevens over hoe de tabellen en velden heten. Dit is natuurlijk heel handige informatie voor een hacker en dus is het gevaarlijk deze errors te tonen.

Wat je het beste kunt doen is in de production omgeving de error loggen in een bestand en in de development omgeving zoveel mogelijk tonen. Een voorbeeldje hoe ik het zal doen kun je vinden in SQL boilerplate, de link die ik je al eens eerder had gegeven.
 
Mark van den Brink

Mark van den Brink

19/09/2012 19:11:32
Quote Anchor link
Ik ga daar even rustig voor zitten daar zit duidelijk een hoop informatie waar ik verder mee kan.

Bedankt alvast nu eerst even brilletje op en gaan lezen maar.
 



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.