if/else

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Capelle ad Ijssel Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Een deel van jouw werkzaamheden: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps en Power BI.

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

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 »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

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 »

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 »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden 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

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

29/04/2024 00:47:22
 
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.