$_GET['id'] controleren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

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 »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

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

21/12/2024 15:16:20
 
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.