$_GET['id'] controleren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

React native developer

Looking for a new React native job? Talk to our expert who knows all about Dutch companies developing apps. Find out the in's & out's and your opportunities. Our client has have received a new investment and therefore want to get started quickly to expand their new app with new features. If you are an expert with React native they would love to have you in their team. Functie-eisen You have at least 4 years of experience developing in React Native apps and... TypeScript, Firebase, GIT, REST, and Swagger. Working together is your second nature Passion for the development profession

Bekijk vacature »

Freelance senior Programmeur (zzp)

Dienst Uitvoering Onderwijs Uren per week: 36,00 Standplaats: Groningen Max tarief: € 90,00 Startdatum inzet: 2-1-2023 Einddatum inzet: 1-1-2024 Wat doen we voor werk momenteel? Nieuwe applicaties: We bouwen nieuwe applicaties voor inwinnen B3/B4 scholen. Deze scholen kunnen inschrijvingen via een website aanleveren per keer of meerdere inschrijvingen via bestand. Deze inschrijvingen leggen we vast en ze kunnen ook beheerd worden. Moderniseren: Daarnaast hebben we zoals alle andere teams ook een flinke migratie voor de boeg om in de Cloud te landen. Eén applicatie (AVOID) hebben we al succesvol gemigreerd en deze draait bijna in PRD. De grootste uitdaging voor

Bekijk vacature »

Fullstack TypeScript developer voor innovatieve so

Bedrijfsomschrijving Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. De bedrijven schakelen hen in wanneer er iets nieuws ontwikkelt moet worden. Het fijne hieraan is dat je niet constant bezig bent met oude software en alleen maar onderhoud werk aan het verrichten bent. Innovatie staat erg hoog in het vaandel, je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen voor diverse werkzaamheden, zodat het nooit een saaie baan zal worden. Doordat alle projecten van A tot Z ontwikkeld worden, zul je ook

Bekijk vacature »

Freelance java developer / scrummaster (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 82,00 Voor onze partnerorganisatie, de Belastingdienst, zijn wij op zoek naar een Java Developer met kennis van en ervaring met de Scrum methodiek. In deze rol wordt er van je gevraagd dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Weet wat er van een scrummaster wordt verwacht; Als volwaardig teamlid participeert binnen het scrumproces in je team en in de SAFe-releasetrain; Zowel zelfstandig kunt werken in een scrumteam als intensief de samenwerking zoekt met je directe collega’s en je omgeving; Samenwerkt met je collega’s

Bekijk vacature »

Full-Stack Software Developer (junior / trainee)

Functie­omschrijving Ben jij een startende en leergierige developer in een Blueriq omgeving? Wil je T-shaped (leren) werken voor de Jeugdketen? Dan komen we graag met je in contact. Spreekt deze vacature aan maar heb je nog niet voldoende kennis en ervaring? Samen ontwikkelen we je dan naar dit niveau toe. Wat ga je doen? Samen met je collega’s ben je verantwoordelijk voor het doorontwikkelen van de applicaties: Generiek Casusoverleg Ondersteunend Systeem (GCOS) en Intelligente Formulierenmodule (IFM). Dit is vanaf refinement, het ontwikkelen en testen van de dienst, het demonstreren van de functionaliteit, tot en met de implementatie en de (technische)

Bekijk vacature »

Freelance java developer / scrummaster (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 82,00 Voor onze partnerorganisatie, de Belastingdienst, zijn wij op zoek naar een Java Developer met kennis van en ervaring met de Scrum methodiek. In deze rol wordt er van je gevraagd dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Weet wat er van een scrummaster wordt verwacht; Als volwaardig teamlid participeert binnen het scrumproces in je team en in de SAFe-releasetrain; Zowel zelfstandig kunt werken in een scrumteam als intensief de samenwerking zoekt met je directe collega’s en je omgeving; Samenwerkt met je collega’s

Bekijk vacature »

Data Solution Architect

Wil jij bijdragen aan de zorg van morgen? Stijg jij boven de techniek uit en wil je deze ervaring inzetten om teams te verbinden en data toepassingen te realiseren ten behoeve van zorg, onderzoek, onderwijs en bedrijfsvoering? Dan zoeken wij jou! Dit ga je doen Data gedreven besluitvorming op basis van data toepassingen ontwikkelt zich razendsnel en heeft een grote potentie de zorg ten goede te veranderen. Jij hebt de ambitie om de transitie naar een lerend zorgsysteem met ons te realiseren. Wij zijn er van overtuigd dat data toepassingen hiervoor de sleutel zijn. Met jouw kennis en ervaring wil

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Unieke PHP Laravel kans in een heel nieuw team!

Bedrijfsomschrijving Dit bedrijf is een grote speler in Nederland wat betreft duurzaamheid en ook binnen Europa timmeren ze stevig aan de weg. Het is een mooie organisatie die een ongekende groei heeft doorgemaakt in de afgelopen jaren. Ze hebben een geavanceerde online portal die intensief in gebruik is. Recent is besloten dit helemaal in eigen beheer te nemen en alle nieuwe PHP ontwikkelingen zelf te gaan doen. Hierdoor ontstaat er een unieke kans voor ervaren PHP ontwikkelaars. Je kunt namelijk instromen in een heel nieuw team en samen met je nieuwe teamgenoten de toekomstige PHP applicaties voor het bedrijf gaan

Bekijk vacature »

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

Oracle Developer

Dit ga je doen Je richt je op het ontwikkelen van diverse softwareoplossingen middels PL/SQL in APEX; Je spreekt met de product owner en business analisten over de behoeften en wensen m.b.t. de software en maakt de vertaalslag naar ontwerp en oplossing; Je onderhoudt de technische oplossingen en lost storingen op waar nodig. Hier ga je werken Het gaat om een specialistisch en professioneel bedrijf in de voedingsindustrie in regio Nijmegen. Er werken ongeveer 700 medewerkers en de organisatie wordt in hun branche gezien als het meest innovatieve bedrijf in de wereld. Ze hebben een grote groei doorgemaakt in de

Bekijk vacature »

API Developer Red Hat Fuse

Dit ga je doen Als API Developer zal je verantwoordelijk zijn voor het: het maken van API's en het correct laten draaien van de API's op het platform. Hierdoor kom je in aanraking met Red Hat Fuse, Springt Boot, 3Scale, Red Hat SSO, Openshift en Azure DevOps; zorgen voor de kwaliteit van de ontwikkeling, integratie en prestaties van de API's; zorgen voor een stabiel integratieplatform. 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 dat hoofdzakelijk op OpenShift, Azure en

Bekijk vacature »

Java developer

Het schrijven van software en applicaties die er echt toe doen, dit doe jij onder andere als Java developer. Wij zoeken een Java developer voor ons hoofdkantoor in Waalwijk voor 40 uur per week. Het schrijven van software en applicaties die er echt toe doen, dit doe jij onder andere als Java developer. De Mandemakers Groep, een huis vol mogelijkheden. Als Java developer werk je aan business applicaties, API’s en webservices die zowel binnen het bedrijf als door klanten en/of zakelijke partners worden gebruikt. Op deze manier kunnen we onze klanten nog beter bedienen en kunnen medewerkers hun werk eenvoudiger

Bekijk vacature »

Front-End Developer Design System

Je werkt samen met andere development teams en designers om dagelijks gebruikerservaringen op te bouwen en te verbeteren om onze klanten blij te maken. Wat doe je als Front-End Developer Design System bij Coolblue? Het Design System team van Coolblue is verantwoordelijk voor het bouwen van interfaces en interacties die onze collega's helpen om coherente, vloeiende/overzichtelijke en hoogwaardige ervaringen voor onze gebruikers te bouwen. Door product-, design- en technische knowhow te combineren, bieden we expertise op het gebied van front-end, merk, bruikbaarheid en toegankelijkheid als onderdeel van onze dagelijkse activiteiten. Ook Front-End Developer Design System worden bij Coolblue? Lees hieronder

Bekijk vacature »
Michael Brouwer

Michael Brouwer

10/02/2013 15:10:09
Quote Anchor link
Hallo,

Via een $_GET['id'] wil ik een waarde ophalen uit me database, dit werkt wel. Nu is alleen het probleem dat als ik een id invul die niet bestaat in de database krijg ik een lege pagina. Graag zou ik dan een 404 pagina willen laten zien. Hoe kan ik de voor elkaar krijgen.

Onderstaande script gebruik ik nu.

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
<?php
if(isset($_GET['id']) && is_numeric($_GET['id']))
{

    $sql='
        SELECT
            *
        FROM
            news
        WHERE
            id = '
.$_GET['id'].'
    '
;
    
    if (!($temp = mysql_query($sql, $connection)))
    showerror();
    
    while ($news= mysql_fetch_array($temp))
    {

    }
    
}
else {

}

?>
 
PHP hulp

PHP hulp

04/02/2023 16:38:17
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2013 15:16:12
Quote Anchor link
Net zoals bij 'Bas D L': Lees misschien nog eens een MySQL tutorial door.. Je kan ook mysql_num_rows gebruiken of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) AS aantal FROm tabel


Kijk ook eens hier: http://www.phphulp.nl/php/forum/topic/if-else-query-leeg-is/89181/last/

edit:
Frank zijn oplossing is beter, sorry! Maar mijn oplossing zou ik ook gebruiken omdat als een id wel een getal is maar in je database niet de record ervan bestaat je ook niet erg veel te zien krijgt.
Gewijzigd op 10/02/2013 15:19:38 door Mebus Hackintosh
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/02/2013 15:16:42
Quote Anchor link
Zoiets?
voor header() mag geen enkele output plaatsvinden anders krijg je een foutmelding.

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
<?php
$id
= 0;
if(isset($_GET['id']))
  $id = intval($_GET['id']);

if($id > 0)
{

    $sql='
        SELECT
            *
        FROM
            news
        WHERE
            id = '
.$_GET['id'].'
    '
;
    
    if (!($temp = mysql_query($sql, $connection)))
    showerror();
    
    if(mysql_num_rows($temp) == 0)
        header("HTTP/1.0 404 Not Found");
        
    while ($news= mysql_fetch_array($temp))
    {

    }
    
}
else {
    header("HTTP/1.0 404 Not Found");
}

?>
Gewijzigd op 10/02/2013 15:28:10 door Frank Nietbelangrijk
 
Frank WD

Frank WD

10/02/2013 15:17:57
Quote Anchor link
Of opvangen met een .htaccess bestand
[url=http://www.homepage-maken.nl/htaccess/error-pages.php}KLIK[/url]
 
Eddy E

Eddy E

10/02/2013 15:27:16
Quote Anchor link
Frank NietBelangrijk: en als je id=38245845345363442463523425264 invoert gaat hij toch gewoon lekker in de database op zoek en kom je dus niet bij de 404 uit.

Ik zou het zo doen:
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
<?php

    function error($nummer)
    {

        if($nummer == 404)
        {

            header("Status: 404 Not Found");
        }
    }


    if(isset($_GET['id']) AND is_int($_GET['id']))
    {

        $id = $_GET['id'];

        $sql = '
        SELECT
           kolom, kolom, kolom
        FROM
            news
        WHERE
            id = '
. $_GET['id'] . ' ';

        if( !($temp = mysql_query($sql, $connection)))
        {

            showerror();
        }


        $error = true;
        while($news = mysql_fetch_array($temp))
        {

            // je eigen dingen
            $error = false;
        }


        if($error == true)
        {

            error(404);
        }

    }

    else
    {
        error(404);
    }

?>


Uiteraard zou je ook de andere nummers in kunnen zetten (500 etc).
 
Michael Brouwer

Michael Brouwer

10/02/2013 15:28:40
Quote Anchor link
Thanks voor alle tips! Hier kan ik wel wat mee :D
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/02/2013 15:29:36
Quote Anchor link
Klopt Eddy, ik heb er inmiddels nog wat aan gewijzigd.

Toevoeging op 10/02/2013 15:31:21:

Michael, belangrijk is wel om intval te gebruiken omwille van de beveiliging
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2013 15:32:10
Quote Anchor link
Eddy E op 10/02/2013 15:27:16:
Frank NietBelangrijk: en als je id=38245845345363442463523425264 invoert gaat hij toch gewoon lekker in de database op zoek en kom je dus niet bij de 404 uit.

Ik zou het zo doen:
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
<?php

    function error($nummer)
    {

        if($nummer == 404)
        {

            header("Status: 404 Not Found");
        }
    }


    if(isset($_GET['id']) AND is_int($_GET['id']))
    {

        $id = $_GET['id'];

        $sql = '
        SELECT
           kolom, kolom, kolom
        FROM
            news
        WHERE
            id = '
. $_GET['id'] . ' ';

        if( !($temp = mysql_query($sql, $connection)))
        {

            showerror();
        }


        $error = true;
        while($news = mysql_fetch_array($temp))
        {

            // je eigen dingen
            $error = false;
        }


        if($error == true)
        {

            error(404);
        }

    }

    else
    {
        error(404);
    }

?>


Uiteraard zou je ook de andere nummers in kunnen zetten (500 etc).


Gaat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
is_int($_GET['id']);

wel werken? Want een $_GET is een string en niet een integer (heb zelf weleens problemen gehad met is_int omdat een variabele dus nog een string was en nog niet een integer).. Kan het ook fout hebben natuurijk.

En waarom weer een extra onnodige variabele gebruiken als je net zo goed mysql_num_rows kan gebruiken of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) AS aantal FROM tabel


edit:
dit staat er op php.net/is_int
Quote:
Find whether the type of a variable is integer


edit:
Als iemand dit voor mij zou willen testen, dankje! Maar ik geloof dat een _GET variabele altijd automatisch een string is en niet een integer waardoor is_int dus zegt dat het geen integer is ondanks dat er een cijfer word meegestuurd..
Gewijzigd op 10/02/2013 15:37:15 door Mebus Hackintosh
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/02/2013 15:38:45
Quote Anchor link
een id is doorgaans (hoeft natuurlijk niet) numeriek. door intval te gebruiken of is_int voorkom je dat gebruikers een niet-numerieke waarde gaan ingeven. Het gevaar als je dit niet doet is sql-injection.
 
Erwin H

Erwin H

10/02/2013 15:40:09
Quote Anchor link
Mebus Hackintosh op 10/02/2013 15:32:10:
Gaat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
is_int($_GET['id']);

wel werken? Want een $_GET is een string en niet een integer (heb zelf weleens problemen gehad met is_int omdat een variabele dus nog een string was en nog niet een integer).. Kan het ook fout hebben natuurijk.

Nee, dat gaat inderdaad niet werken. Dan moet je is_numeric gebruiken. Die functie test of een string een numerieke waarde is (wat overigens ook floats etc kan zijn, maar dat is in dit geval niet belangrijk).
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2013 15:43:16
Quote Anchor link
Frank Nietbelangrijk op 10/02/2013 15:38:45:
een id is doorgaans (hoeft natuurlijk niet) numeriek. door intval te gebruiken of is_int voorkom je dat gebruikers een niet-numerieke waarde gaan ingeven. Het gevaar als je dit niet doet is sql-injection.


Ja, zoek eens op google naar 'typecasten'... Een $_GET variabele is geloof ik altijd een string.. Dus om van die string een integer te maken moet je er (int) voorzetten.

En anders kan je ook nog altijd mysql_real_escape_string gebruiken. Dubbele controle is nooit erg!

edit:
voer andes eens dit stukje code uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

if(isset($_GET['nummer']) && is_int($_GET['nummer']))
{

 echo $_GET['nummer'].' is een integer!';
}


?>
Gewijzigd op 10/02/2013 15:45:24 door Mebus Hackintosh
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/02/2013 15:44:53
Quote Anchor link
Mebus, met intval() bereik je hetzelfde.
 
Erwin H

Erwin H

10/02/2013 15:45:35
Quote Anchor link
Frank Nietbelangrijk op 10/02/2013 15:44:53:
Mebus, met intval() bereik je hetzelfde.

Maar met is_int bereik je in dit geval dus helemaal niets....
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2013 15:46:33
Quote Anchor link
Frank Nietbelangrijk op 10/02/2013 15:44:53:
Mebus, met intval() bereik je hetzelfde.


Ik heb het niet over jou intval maar over de functie is_int en hoe je die dus moet gebruiken. intval kon ik nog niet en zal vast en zeker wel werken..
Gewijzigd op 10/02/2013 15:47:08 door Mebus Hackintosh
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/02/2013 15:48:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

echo intval('hallo 5').'<br />';
echo intval('5 hallo').'<br />';
echo intval('5').'<br />';
echo intval('hallo').'<br />';

?>


output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
0      
5          
5          
0      
Gewijzigd op 10/02/2013 15:49:40 door Frank Nietbelangrijk
 
Mebus  Hackintosh

Mebus Hackintosh

10/02/2013 15:52:04
Quote Anchor link
Frank Nietbelangrijk op 10/02/2013 15:48:35:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

echo intval('hallo 5').'<br />';
echo intval('5 hallo').'<br />';
echo intval('5').'<br />';
echo intval('hallo').'<br />';

?>


output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
0      
5          
5          
0      


Ja leuk.. Maar zoals sommige andere hier doen kijken ze op de documentatie website van php.net :-) Alsnog bedankt! Maar ik had hem al door hoor..
 



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.