if/else

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

.NET Developer te Naarden

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar een .NET Developer om het huidige team te komen versterken. Deze organisatie bevindt zich in de logistieke sector, en zij hebben een eigen ERP systeem ontwikkeld dat zij inzetten ter optimalisatie van de logistieke processen van haar eindklanten. Deze organisatie bestaat inmiddels al ruim 20 jaar, waarbij zij een duidelijke missie hebben, namelijk: het werk van de eindklant makkelijker maken door de systemen die zij leveren. Ze werken over heel de wereld, wat deze organisatie een echte internationale speler maakt. Binnen de organisatie kenmerken ze zich door een dynamische en professionele

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

SQL developer

Functieomschrijving Voor een erkende werkgever in de omgeving van Tilburg zijn wij op zoek naar een ervaren SQL ontwikkelaar. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt er als volgt uit te zien: Het ontwerpen en implementeren van databaseschema's: Je bent in staat om een database te ontwerpen en de structuur van tabellen, relaties, indexen en andere objecten te definiëren; Het schrijven van complexe SQL-query's: Je kunt complexe query's schrijven om gegevens uit de database

Bekijk vacature »
Jac E

Jac E

22/11/2014 11:21:34
Quote Anchor link
Ik ben dagen al aan het zoeken. Ik heb een SQL tabel waarde die 1 t/m 3 kan zijn. Die waarde uitlezen gaat goed. Wat ik wil is dat er een vraag wordt gesteld die afhankelijk is van die waarde. Bijvoorbeeld bij 1 is dat een INPUT TYPE="text" en bij 2 weer een INPUT TYPE="radio" vraag enz.

Wanneer ik de combinatie if/else en header("Location: http://... gebruikt krijg ik dus die welbekende header already sent foutmelding.
 
PHP hulp

PHP hulp

26/04/2024 18:56:26
 
Ward van der Put
Moderator

Ward van der Put

22/11/2014 11:43:05
Quote Anchor link
De keer je de logica van de if/else om zodat header() het eerst aan de beurt is.

Laat eens de code met de header() zien?

Een minder elegante work-around is output buffering inschakelen. Zolang je de output buffer (ob) niet leegt, kun je namelijk nog HTTP-headers toevoegen én headers wijzigen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
ob_start('ob_gzhandler');
?>
 
Jac E

Jac E

22/11/2014 12:18:22
Quote Anchor link
De vraag wordt dus gesteld op een andere pagina (om het overzichtelijker te maken dacht ik). Als de vraag beantwoord is wordt weer terug gegaan naar dit gedeelte. Dat was dan de bedoeling...

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
session_start();

// Declareren van sessievariabelen van de vorige pagina
$vraag_nummer_teller = $_SESSION["vraag_nummer_teller"];

// Vraag nummer teller (nodig om te beginnen met vraag 1 uit te lezen uit SQL)
if(empty($_SESSION['vraag_nummer_teller'])) $_SESSION['vraag_nummer_teller'] = 0;
$order =  $_SESSION['vraag_nummer_teller']+1;
$_SESSION['vraag_nummer_teller'] =  $vraag_nummer_teller;

if($vraag_soort==1)
{

header("Location: http://website.nl/vraagsoort1.php");
}

elseif ($vraag_soort==2)
{

header("Location: http://website.nl/vraagsoort2.php");
}

elseif ($vraag_soort==3)
{

header("Location: http://website.nl/vraagsoort3.php");
}

?>
 
Ward van der Put
Moderator

Ward van der Put

22/11/2014 12:58:52
Quote Anchor link
Gebruik een exit na elke header() om de redirect onmiddellijk uit te voeren en te voorkomen dat het script verder nog output genereert.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if ($vraag_soort == 1) {
    header('Location: http://website.nl/vraagsoort1.php');
    exit;
}
elseif ($vraag_soort == 2) {
    header('Location: http://website.nl/vraagsoort2.php');
    exit;
}
elseif ($vraag_soort == 3) {
    header('Location: http://website.nl/vraagsoort3.php');
    exit;
}

?>


Of gestructureerder:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if ($vraag_soort >= 1 && $vraag_soort <= 3) {
    header('Location: http://website.nl/vraagsoort' . (int)$vraag_soort . '.php');
    exit;
}

?>
 
Jac E

Jac E

22/11/2014 16:21:06
Quote Anchor link
Heel erg bedankt! Met exit werkt het nu wel gelukkig. Alleen heb ik nu hetzelfde probleem op de volgende pagina. Hier wordt de vraag gesteld en moet je die beantwoorden. Na het beantwoorden ga je via header/location weer terug naar script 1. Dit gaat dus niet omdat er al output is (heb ik gegoogled). Moet ik soms deze "vraag script" splitsen in 2 scripts (HTML en PHP)? Functie ob_start werkt helaas niet in dit geval.
 
Ozzie PHP

Ozzie PHP

22/11/2014 16:32:51
Quote Anchor link
>> Dit gaat dus niet omdat er al output is (heb ik gegoogled).

Het gaat om output die naar het scherm (de browser) wordt gestuurd. Daarvan is in jouw geval geen sprake.

Zolang jij geen informatie (output) naar de browser stuurt, kun je een header uitvoeren. Een header moet altijd als eerste naar de browser worden gestuurd. Daarna mag pas de "inhoud" (je html, teksten, plaatjes enz.) worden verstuurd.
Gewijzigd op 22/11/2014 16:33:12 door Ozzie PHP
 
Jac E

Jac E

22/11/2014 17:54:53
Quote Anchor link
Dit is mijn test voor die 2e pagina. De bedoeling is dat je iets invoert en dat het script verder gaat naar het eerste script. Ik krijg bij onderstaand voorbeeld de header already sent 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
32
33
34
35
36
37
<?php
session_start();
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<!-- myform.php -->
    <form name="my-form" method="POST" action="">

        <span>Which do you like better?</span>
        <label for="steak">steak</label>
        <input type="radio" name="food" id="steak" value="steak" <?php if(isset($food) && $food == 'steak') echo 'checked="checked"';?> />

        <label for="lobster">lobster</label>
        <input type="radio" name="food" id="lobster" value="lobster" <?php if(isset($food) && $food == 'lobster') echo 'checked="checked"';?> />

        <input type="hidden" name="submitted" value="submitted" />
        <input type="submit" name="submit" value="submit" />

    </form>

<?php
    if (isset($_POST['submitted'])) {
        $errors = array();
        if (isset($_POST['degree'])) {
            $degree = $_POST['degree'];
        }
else {
            $errors[] = 'Please select your degree type.';
        }
else {
        // redirect user to another page
    header('Location: http://website.nl/eerste_script.php');
    exit;
        }
    }

?>
Gewijzigd op 22/11/2014 17:55:50 door Jac E
 
Ozzie PHP

Ozzie PHP

22/11/2014 18:10:33
Quote Anchor link
Als ik het goed zie dan zit er een fout in je if/else vergelijking. Je zet 2x een "else" na elkaar neer. Dat kan niet. Ik weet ook niet wanneer je die redirect wilt uitvoeren. Moet die altijd worden uitgevoerd? Zo ja, dan krijg je 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
<?php

// bovenaan onder session_start, controleren of er errors zijn
if (isset($_SESSION['errors']) && !empty($_SESSION['errors'])) {
  print_r($_SESSION['errors']);   // de meldingen moet je zelf even fatsoeneren
  $_SESSION['errors'] = null;
}


// ... hier het formulier

if ($_SERVER['REQUEST_METHOD'] === 'POST') { // dit is de juiste manier om te controleren of er gepost is
  $errors = array();
  if (!isset($_POST['degree'])) {
    $errors[] = 'Please select your degree type.';  
  }

  if (!empty($errors)) {
    // er is een error
    $_SESSION['errors'] = $errors;
    header('Location: http://website.nl/huidige_script.php');
  }
else {
    // alles gaat goed, naar eerste script
    header('Location: http://website.nl/eerste_script.php');
  }

  exit;
}

?>

P.S. Ik heb het niet getest, dus er kunnen fouten inzitten.
Gewijzigd op 22/11/2014 18:12:09 door Ozzie PHP
 
Ward van der Put
Moderator

Ward van der Put

22/11/2014 18:37:49
Quote Anchor link
Je stuurt eerst HTML uit en voert daarna pas in PHP een redirect uit.
Dat kan niet: HTTP-headers komen voor HTTP-content.

Zoals al eerder gezegd: verplaats die beslissingsregels die in header() eindigen naar een eerder stadium, vóórdat er HTML-content wordt geproduceerd.
 
Jac E

Jac E

22/11/2014 19:45:18
Quote Anchor link
Ik wilde alleen nog een soort beveiliging erin maken dat iemand altijd een keuze moet maken (dus een antwoord moet geven). Hiernaar dus weer naar dat eerste script weer terug.

Heb nu e.e.a. toegepast op jullie advies, ook die beslissingsregels verplaatst.
Maar helaas... Warning: Cannot modify header information - headers already sent
Wat doe ik fout?

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
<?php
session_start();
?>

<?php
// bovenaan onder session_start, controleren of er errors zijn
if (isset($_SESSION['errors']) && !empty($_SESSION['errors'])) {
  print_r($_SESSION['errors']);   // de meldingen moet je zelf even fatsoeneren
  $_SESSION['errors'] = null;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') { // dit is de juiste manier om te controleren of er gepost is
  $errors = array();
  if (!isset($_POST['degree'])) {
    $errors[] = 'Please select your degree type.';  
  }

  if (!empty($errors)) {
    // er is een error
    $_SESSION['errors'] = $errors;
    header('Location: http://website.nl/huidige_script.php');
  }
else {
    // alles gaat goed, naar eerste script
    header('Location: http://website.nl/eerste_script.php');
  }

  exit;
}

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<!-- myform.php -->
    <form name="my-form" method="POST" action="">

        <span>Which do you like better?</span>
        <label for="steak">steak</label>
        <input type="radio" name="food" id="steak" value="steak" <?php if(isset($food) && $food == 'steak') echo 'checked="checked"';?> />

        <label for="lobster">lobster</label>
        <input type="radio" name="food" id="lobster" value="lobster" <?php if(isset($food) && $food == 'lobster') echo 'checked="checked"';?> />

        <input type="hidden" name="submitted" value="submitted" />
        <input type="submit" name="submit" value="submit" />

    </form>
Gewijzigd op 22/11/2014 19:50:16 door Jac E
 
- SanThe -

- SanThe -

22/11/2014 20:23:57
Quote Anchor link
Na regel 3 staat een 'enter', dat kan al funest zijn.
Ook regel 7 kan een probleem geven.
 
Jac E

Jac E

22/11/2014 20:27:03
Quote Anchor link
Klopt... het werkt nu! Bedankt iedereen weer :)
 
Ozzie PHP

Ozzie PHP

22/11/2014 20:29:33
Quote Anchor link
>> Zoals al eerder gezegd: verplaats die beslissingsregels die in header() eindigen naar een eerder stadium, vóórdat er HTML-content wordt geproduceerd.

Correct. Dat was in mijn snelle opzetje ook nog niet helemaal correct zie ik nu.

Doe in plaats van dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
session_start();
?>

<?php
// bovenaan onder session_start, controleren of er errors zijn
// ...

?>

eens dit...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
session_start();

// bovenaan onder session_start, controleren of er errors zijn
// ...

?>

Het kan zijn dat er witruimte tussen de sluiting- en openingstag zit, en daarnaast is het sluiten en direct openen nutteloos. Je doet een deur dicht, om 'm direct daarna weer open te doen. Dat heeft geen nut.
Gewijzigd op 22/11/2014 20:30:25 door Ozzie PHP
 
Jac E

Jac E

22/11/2014 22:49:25
Quote Anchor link
Super, bedankt ook voor je advies! Weer een leermoment geweest...
 



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.