$_GET['id'] controleren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »

PHP Developer Symfony

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. Hier ga je werken Als PHP Developer kom 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 teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

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 »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Backend developer

Functie omschrijving Ben jij graag bezig met de back-end van applicaties? Zou je dit graag willen doen voor een kleine werkgever waar ook tijd is voor een drankje op zijn tijd? Je taken hierbij zullen bestaan uit: Gebruik maken van de volgende technieken: .NET (core), C#, SQL, XML, MVC, JSON, REST & SOAP API. Gebruik maken van de volgende tools: Visual Studio, GIT, Jira, Jenkins. Bovengenoemde technieken en tools ga je gebruiken om: Nieuwe functionaliteiten te ontwikkelen. Wijzigingsverzoeken van klanten uitvoeren. Verzorgen van koppelingen tussen data. Bedrijfsprofiel Jouw nieuwe werkgever bevindt zich in regio Raamdonksveer en bieden oplossingen op gebied

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

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 »

Lead C++ Developer

The role of Lead C++ Developer As Lead C++ Developer at KUBUS you will be responsible for the implementation design of requirements and the software architecture of the desktop applications of BIMcollab, our platform for 3D model validation and issue management aimed at improving the quality of 3D building design models. Better 3D models lead to better buildings, thus contributing to the sustainability of the built environment with smarter use of materials, less waste and energy-efficient buildings. A good user experience is of paramount importance to us; we go for innovation and quality in our development. In your role as

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Junior .NET developer

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware 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: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

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

16/04/2024 15:58:04
 
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.