Error handeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; 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

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

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

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Creatieve Front-end developer gezocht!

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

Bekijk vacature »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

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 »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

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 »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »
Sven b

Sven b

04/06/2011 10:23:08
Quote Anchor link
Hallo,

Ik heb een vraag met betrekking tot het omgaan met errors. De code hieronder zet ik altijd in mijn script om te zien welke errors ik krijg. Ik krijg bij mijn formulier vaker een undefined error, omdat de $naam nog niet door $_POST['naam'] gedefinieerd is geworden. Ondanks deze error werkt mijn script perfect. Zonder de error_reporting zou ik deze erorr niet te zien krijgen. Hoe belangrijk is het om deze error toch op te lossen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
error_reporting(E_ALL);
ini_set('display_errors', 'true');
echo mysql_error();
 
PHP hulp

PHP hulp

02/05/2024 21:27:55
 
Wouter J

Wouter J

04/06/2011 10:33:57
Quote Anchor link
Zonder error reporting krijg je nooit een error te zien...
Het is dus altijd belangrijk om alle errors en notice op te lossen. Hoe beter je script hoe sneller en hoe makkelijker te gebruiken.

Bij een formulier -zo als jij zegt- is het verstandig om te kijken of het verzonden is. Dat kan met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
# Formulier is verzonden
}
?>

En als je wilt weten of een variabele al geset is kan je isSet gebruiken.

Daarnaast is het zomaar echoën van mysql_error() niet verstandig, maar ik denk dat je dit alleen maar zo hebt gedaan als voorbeeldje.

Lees ook eens dit voor goede error handling.
 
Sven b

Sven b

04/06/2011 10:45:00
Quote Anchor link
Bedankt voor de snelle reactie. Je weet me wel wat leesvoer te geven :P

Ik heb de error opgelost, maar ik vroeg me gewoon af of het veel uitmaakte als het het de werking van het script niet beinvloedde. Ik heb in dit geval voor de isset functie gekozen om dit probleem op te lossen. Toch kan het best omslachtig zijn om dergelijke undefined errors weg te werken. Elke $naam moet gedefinieerd zijn en dat kan niet altijd in een script zo zijn. Ik heb mijn script toegevoegd om te laten zien wat ik bedoel. MIsschien ook handig script voor andere lezers. Deze namen script zet peter-paul of PeTeR-PAuL of o'conner om in Peter-Paul en O'Conner.

Wouter je zegt trouwens dat je en request method kunt gebruiken. Ik heb begrepen dat je site daarmee hack gevoeliger wordt. Is dat zo?
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'true');
echo mysql_error();
$name = (isset($_POST['voornaam'])) ? ucwords(strtolower($_POST['voornaam'])) : "";

  if(strpos($name, "'")) {    
    $pos = strpos($name, "'") + 1;
     echo '1';
    }

  if (strpos($name, "-")) {    
    $pos = strpos($name, "-") + 1;
    echo '2';
    }

  if (!preg_match('/[-\']/', $name)){
    $pos = $name; //als ik dit niet definieer krijg ik een error
    echo '3';
  }

  $name = substr_replace($name, strtoupper($name[$pos]), $pos, 1);
    echo "Fixed name is: {$name}<br />\n";
?>


Edit: Ik heb altijd de error_repport aan staan om te zien wat er fout gaat. Mijn site is dan ook nog niet online. In dit voorbeeld zie je ook echo 1, 2, 3 staan en dit was voor mijn eigen om te zien welk pad de code nam.

MOcht deze code omslachtig zijn of beter kunnen dan hoor ik het graag!
Gewijzigd op 04/06/2011 10:46:22 door Sven b
 
Wouter J

Wouter J

04/06/2011 11:32:22
Quote Anchor link
Die echo mysql_error is alleen nodig als je mysql gebruikt en alleen als er een fout is bij een mysql functie. Zodra je dit niet hebt moet je dit gewoon weglaten.

Een variabele moet altijd uit de quotes. Dus niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$naam
= 'Sven';
echo "Hallo $naam";
// Maar
echo 'Hallo '.$naam;
?>

(dit had ik al een keer gezegd...)

De manier in je if statement is verkeerd. str_pos geeft namelijk de STRing_POSitie terug. Dit kan 0 zijn, wat wordt aangezien als false en dit terwijl het true is. Gebruik dus === true.

I.p.v. !preg_match('/[-\']/', $name) kan je ook preg_match('/[^-\']/', $name) gebruiken, of dit beter is weet ik niet.

Wat jij in dit script doet kan volgens mij veel sneller met ucwords.
 
Sven b

Sven b

04/06/2011 11:47:14
Quote Anchor link
hehe,

bedankt voor je snelle reactie. Ik zal de aanpassingen maken. Het string_positie verhaal snap ik nog niet helemaal, maar ga ik nog mee stoeien.

Je geeft aan dat ucwords sneller gaat. Dat klopt wanneer ik gewoon een naam sven heb, maar als iemands naam o'conner of jean-paul is dan werkt ucwords niet meer, want met alleen ucwords krijg je dan.

O'conner en Jean-paul, terwijl het moet zijn... O'Conner en Jean-Paul. Dat is wat dit script doet of begreep je dit al en is er toch een snellere manier?
 
Wouter J

Wouter J

04/06/2011 17:15:11
Quote Anchor link
Ik zou het dan aanpakken dat je de string breek bij - of ', dit doe je bijv. met explode.
Vervolgens ga je met de array die je nu hebt elk woord met ucwords vergroten. Dan voeg je alles weer samen met een - of een '.

Ik heb het even getest en jou manier is sneller. Ik had gedacht dat het simpeler zou zijn met ucwords. Maar jou code heeft 0.000056982040405273 seconden nodig en die van mij 0.00010013580322266, het scheelt dus 5 tienduizendste seconde.
 
Sven b

Sven b

04/06/2011 20:23:47
Quote Anchor link
Aaah nice :P

hoe je dat dan met explode zou doen zou ik dan niet weten. Ik snap dat je een - of een ' kan herkennen en die dan omzet of een spatie er tussen knalt, maar dan moet je ook de spaties er weer alle spaties verwijderen. Wat als het nu o'conner van der janssen is?

Ik heb trouwens nog nagedacht over je tip:
Quote:
De manier in je if statement is verkeerd. str_pos geeft namelijk de STRing_POSitie terug. Dit kan 0 zijn, wat wordt aangezien als false en dit terwijl het true is. Gebruik dus === true.



De string positie kan geen 0 zijn of ken jij iemand die 'sven heet? Of een andere dergelijke naam. Ik denk dat er geen enkele naam in de wereld met een - of een ' begint. Toch vraag ik me af wat je precies bedoelde met al die === erin zetten, want ik zie niet waar ik die er in zou moeten zetten.

Ik krijg in mijn script een error:
3 Notice: Uninitialized string offset: 0 in


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
<?php      $name = (isset($_POST['voornaam'])) ? ucwords(strtolower($_POST['voornaam'])) : "";
      if(strpos($name, "'")) {    
        $pos = strpos($name, "'") + 1;
         echo '1';
        }

      if (strpos($name, '-')) {    
        $pos = strpos($name, '-') + 1;
        echo '2';
        }

      if (!preg_match('/[-\']/', $name)){
        $pos = $name;
        echo '3';
      }

                                
$name = substr_replace($name, strtoupper($name[$pos]), $pos, 1); //hier krijg ik de error
            echo "Fixed name is: {$name}";      
?>


Ik heb geprobeerd om dit stukje code alleen te laten werken wanneer er gesubmit is, maar dat werkt niet. De code werkt goed wanneer ik een naam submit. Dus mijn idee was om de hele code dit te zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if (isset($_POST['submit']) AND $_POST['naam'])){
   // gehele code
}


Echter bij deze code doet hij niet meer een echo afgeven. Ik snap alleen niet hoe dat kan, omdat dit wel logischerwijs zo zou moeten werken.

Btw. Wouter hoe test je de snelheid van je script? Dat is echt wel handig... Kan ik nog wat leuke testjes doen. Heb je het volgende getest?

I.p.v. !preg_match('/[-\']/', $name) kan je ook preg_match('/[^-\']/', $name) gebruiken, of dit beter is weet ik niet.


Groetjes Sven
Gewijzigd op 04/06/2011 20:25:21 door Sven b
 
Wouter J

Wouter J

04/06/2011 23:40:46
Quote Anchor link
Over de pos. Ik zou voor de zekerheid toch gewoon === true gebruiken, het is altijd veiliger en je weet nooit wat er ingevoerd wordt. Hoe dit werkt staat uitgelegd op php.net. Typ maar eens php.net/functieNaam en je krijgt een uitgebreide documentatie over die functie.

Een voorbeeld van hoe je een formulier goed verwerkt: http://snipplr.com/view/54888/verwerking-formulier/

De snelheid van een script test je door gebruik te maken van microtime:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$begin
= microtime(true);
// De code die getest moet worden
$verschil = (microtime(true)) - $begin;
?>


Met explode krijg je alle namen in een array, met een foreach loop kan je die dan bewerken.

@Hieronder, bedankt. Heb het aangepast.
Gewijzigd op 05/06/2011 09:05:32 door Wouter J
 
Maarten PHP

Maarten PHP

05/06/2011 08:15:57
Quote Anchor link
Wouter J op 04/06/2011 23:40:46:
Over de pos. Ik zou voor de zekerheid toch gewoon === true gebruiken, het is altijd veiliger en je weet nooit wat er ingevoerd wordt. Hoe dit werkt staat uitgelegd op php.net. Typ maar eens php.net/functieNaam en je krijgt een uitgebreide documentatie over die functie.

Een voorbeeld van hoe je een formulier goed verwerkt: http://snipplr.com/view/54888/verwerking-formulier/

De snelheid van een script test je door gebruik te maken van microtime:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$begin
= microtime(true);
// De code die getest moet worden
$verschil = (microtime(true) - $begin;
?>


Met explode krijg je alle namen in een array, met een foreach loop kan je die dan bewerken.


Je mist een haakje in je code.
 
Wouter J

Wouter J

05/06/2011 16:47:11
Quote Anchor link
Ik heb getest welke sneller is !preg_match('/[-\.]/') of preg_match('/[^-\.]/'). Na 1000 keer uitvoeren waren de resultaten heel ongelijkmatig. Na 10000 keer begon het al wat preciezer te worden en na 100000 keer krijg ik de hele tijd ong. dit:
!preg_match('/[-\.]/') 3.5565569400787E-5
preg_match('/[^-\.]/') 3.4309375286102E-5
Dit betekend dus dat preg_match('/[^-\.]/') sneller is.
 



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.