Session leren gebruiken.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

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 »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

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 »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

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 »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

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

29/04/2024 00:22:41
 
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.