elseif

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Front-end Developer

Functie omschrijving Gezocht front-end developer! Voor een toffe organisatie in de regio Rhenen zij wij op zoek naar een front-end developer die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. In deze functie heb je een adviserende rol en beschik je over een grote dosis vakinhoudelijke kennis. Samen met collega’s en klanten overleg je om aangeleverde designs om te zetten naar unieke concepten. Zo draag jij je steentje bij aan de groeiambities van de klant. Voor klanten wordt jij het vaste aanspreekpunt als het gaat over planningen hierin houdt je alle betrokkenen goed op de

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »
Jac E

Jac E

18/01/2016 01:12:14
Quote Anchor link
Ben de hele dag al aan het zoeken en proberen. De bedoeling is dat je kan inloggen. Er wordt dan gecontroleerd of e.e.a. eerst klopt. Bij een klant kom je bij klant.php en wanneer admin inlogd bij admin.php.

Het inloggen lukt uiteindelijk. Alleen werkt de controle "minimaal 5 karakters" niet en de password wordt niet gecontroleerd. Ik kan van alles invoeren als wachtwoord maar het wordt goedgekeurd. Wie kan er even na kijken. Alvast bedankt.


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
<?php
        if (empty($_POST) === false) {
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);

    if (empty($username) === true || empty($password) === true) {
        $errors[] = 'Gebruik een juiste gebruikersnaam/wachtwoord.';
    }
elseif ($users->user_exists($username) === false) {
        $errors[] = 'De gebruikersnaam wordt niet herkend.';
    }
elseif ($users->email_confirmed($username) === false) {
        $errors[] = 'Uw account is nog niet geactiveerd.';
    }
else {
        if (strlen($password) > 5) {
        $errors[] = 'Het wachtwoord moet uit minimaal 5 karakters en zonder spaties zijn.';
        }

        $login = $users->login($username, $password);
        if ($login === false) {
        $errors[] = 'De ingevoerde gebruikersnaam/wachtwoord combinatie is niet juist.';        
        }

                $administratie = $_SESSION["administratie"];
        if($administratie=="Admin")
         {

        // Variabelen in session
        $_SESSION['username'] = $username;                    
        $_SESSION['administratie'] = $administratie;

        session_write_close();
        header("Location: admin.php");
        exit();
        }
                            
        else {        
        // Variabelen in session                 
        $_SESSION['username'] = $username;                                
        $_SESSION['administratie'] = $administratie;        
                
        session_write_close();    
        header('Location: klant.php');
        exit();
        }                    
    }
}

?>
 
PHP hulp

PHP hulp

22/12/2024 17:29:01
 
Ozzie PHP

Ozzie PHP

18/01/2016 02:07:21
Quote Anchor link
Ff heeeeeel snel gekeken ...

if (strlen($password) > 5) {

zal wel

if (strlen($password) < 5) {

moeten zijn.
 
- SanThe -

- SanThe -

18/01/2016 03:12:19
Quote Anchor link
Als je niet ingelogd bent (regel 17) dan ga je toch altijd door en kom je altijd op de admin of klant pagina.
 
Thomas van den Heuvel

Thomas van den Heuvel

18/01/2016 14:45:24
Quote Anchor link
Regel 20 t/m 39 doe je ook een hoop dubbel... Je bent $administratie heen en weer aan het kopiëren zonder dat je hier iets mee doet.

Daarnaast, zou $username niet in de sessie ingevuld moeten worden in je login() routine? Waarom verricht je de afhandeling van het inloggen op twee verschillende plaatsen? Als je het wegschrijven naar de sessie van de username nu eens verplaatst naar je login routine zelf dan hoeft dit stuk code je alleen naar de juiste pagina door te sturen, lijkt mij een stuk simpeler en staan dingen ook meer op de goede plek als je het mij vraagt.
 
Jac E

Jac E

19/01/2016 14:11:49
Quote Anchor link
Bedankt voor de tips. Het script werkt nu op 1 onderdeel na. Dat is nog steeds de controle op het wachtwoord. Als ik een verkeerd wachtwoord invoer wordt ik gewoon ingelogd. Ik zie de fout echt niet. Soms krijg ik ook een foutmelding "Deze webpagina bevat een omleidingslus". Dan start ik logout.php en dan kan ik weer verder. Wie wil me helpen?

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
<?php
    if (empty($_POST) === false) {
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
        $login = $users->login($username, $password);

    if (empty($username) === true || empty($password) === true)
        {
$errors[] = 'Gebruik een juiste gebruikersnaam/wachtwoord combinatie om in
                      te loggen.'
;}
    elseif ($users->user_exists($username) === false)
           {
$errors[] = 'De gebruikersnaam wordt niet herkend.';}
        elseif ($login = $users->login($username, $password) | $login === false)
               {
                
           header('Location: menu_ingelogd.php');          
           }

            
    else {$errors[] = 'De ingevoerde gebruikersnaam/wachtwoord
                           combinatie is niet juist.'
;
          exit();          
          }                                                  
}

?>
  
Gewijzigd op 19/01/2016 14:17:11 door Jac E
 
Ward van der Put
Moderator

Ward van der Put

19/01/2016 14:24:14
Quote Anchor link
Dan zit de fout waarschijnlijk hierin:

elseif ($login = $users->login($username, $password) | $login === false)

Wat is het resultaat van de methode $users->login()? Is dat bijvoorbeeld true/false?
 
Thomas van den Heuvel

Thomas van den Heuvel

19/01/2016 14:35:55
Quote Anchor link
Allereerst, het is NOOIT de bedoeling om (gedetailleerde) informatie te geven wat er precies mis is met een login, hierin geef je informatie vrij aan derden die het (mogelijk) makkelijker maken om in te breken. Een login is simpelweg "goed" of "fout". In het laatste geval meld je ook alleen dat de login "fout" is, en geef je iemand een (beperkt aantal) nieuwe poging(en).

Daarnaast draait bovenstaande code nogal om de hete brei heen. Schrijf je code wat meer recht-door-zee. Overigens, die login() methode, voert deze zowel de controle uit of de gegevens kloppen, en logt deze iemand tevens in als deze kloppen?

Ik zou dus zoiets doen, in tegenstelling tot een overgecompliceerd if-statement:
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
<?php
// controleer of een formulier is gePOST
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // onderneem een inlogpoging alleen als username en wachtwoord niet leeg zijn
    if (!empty($_POST['username']) && !empty($_POST['password'])) {
        // aanname: login bevat zowel de check of de combinatie geldig is
        // alsmede de stappen die genomen moeten worden om iemand in te
        // loggen als de check is geslaagd en retourneert of dit alles succesvol was

        if ($users->login($_POST['username'], $_POST['password'])) {
            // alleen dan stuur je iemand door
            header('Location: ingelogd.php');
            exit;
        }

        // anders doen we niets, het einde van het script stuurt je terug naar de login
        // met de indicatie (?errors=1) dat er iets mis was

    }
}


// Als we dit punt bereiken is er iets mis, terug naar de login
header('Location: login.php?errors=1');
exit;
?>
 
Jac E

Jac E

19/01/2016 14:42:42
Quote Anchor link
Beste Ward,

Weggehaald: "$login = $users->login($username, $password) |". Stond al bovenaan.

Klopt, het resultaat van de methode $users->login() is true/false als het goed is.
Deze wordt elders gemaakt met: public function login($username, $password).

Helaas geen veranderingen...
Gewijzigd op 19/01/2016 14:44:15 door Jac E
 
Thomas van den Heuvel

Thomas van den Heuvel

19/01/2016 14:46:31
Quote Anchor link
Ja euh, hoe controleer je of iemand ingelogd is? Kijk je hiervoor in $_SESSION? Roep je op alle pagina's session_start() aan? Het is een beetje koffiedik kijken wat er nu misgaat.

Heb je het weergeven + melden van fouten aan staan?

Zet dit helemaal aan het begin van je code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>


Dit begint weer te klinken als een probleem dat geen probleem is, maar de aanpak van het oplossen ervan...
 
Ward van der Put
Moderator

Ward van der Put

19/01/2016 15:04:23
Quote Anchor link
Als je het lastig vindt dergelijke logica uit te werken in meerdere geneste if/else/elseif-controlestructuren, dan kun je de 4 condities ook gewoon in één enkele if stoppen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if (
    $_SERVER['REQUEST_METHOD'] == 'POST'
    && !empty($_POST['username'])
    && !
empty($_POST['password'])
    &&
$users->login($_POST['username'], $_POST['password'])
) {

    header('Location: ingelogd.php');
    exit;
}

?>


PHP verwerkt de condities in de volgorde waarin je ze opsomt en verlaat deze if zodra niet aan een conditie is voldaan. Is !empty($_POST['password']) in de 3e conditie bijvoorbeeld false, dan wordt $users->login($_POST['username'], $_POST['password']) in de 4e conditie niet aangeroepen maar overgeslagen.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/01/2016 15:30:34
Quote Anchor link
Alleen stuurt het bovenstaande script je niet door wanneer een van de condities niet opgaat. In dat geval blijf je op een lege pagina hangen?

Pas als je doorhebt wat er allemaal gebeurt kun je dit soort "shortcuts" nemen, maar het lijkt erop dat de topicstarter er nu al niet helemaal uitkomt. Dit lijkt mij dan ook niet het moment om alles te refactoren.
 
Jac E

Jac E

19/01/2016 15:51:48
Quote Anchor link
Beste Thomas. Bedankt voor je advies. Je script werkt helaas niet bij mij (omleidingslus). Je gaat er ook vanuit zoals je al zegt "alsmede de stappen die genomen moeten worden om iemand in te loggen als de check is geslaagd".
Mijn functie login geeft alleen de waarde true/false na controle van de combinatie $username, $password. Wat moet ik dan toevoegen? Dan gaat het om de vergelijking $login === true of false lijkt me.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/01/2016 17:00:29
Quote Anchor link
Je zult ergens moeten onthouden dat een inlogpoging is geslaagd, en daar (de manier waarop je het onthoudt) zul je op moeten controleren of iemand ingelogd is.

Daarom vond ik de naam voor de methode "login" een beetje misleidend en vroeg ik om bevestiging van de betekenis/werking.

Ik zou dus eigenlijk twee stappen verwachten in plaats van die ene login methode:
1. een authenticatie-stap, wat nu in feite de login methode is: invoer username+password, uitvoer: simpelweg "ja" als de gegevens kloppen en "nee" wanneer dit niet het geval is, en
2. een login-stap, waarin je de administratieve afhandeling verricht van een geslaagde authenticatie; dit kan bijvoorbeeld het instellen van sessie-variabelen zijn

Vervolgens controleer je of iemand ingelogd is door (het bestaan van) deze sessie-variabelen te raadplegen.
 



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.