elseif

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Java Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

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 »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Klein team zoekt grote fullstack .NET developer to

Bedrijfsomschrijving Deze werkgever is marktleider in de Benelux en is Europees ook al aardig aan de weg aan het timmeren. Ze voorzien technische winkels van apparatuur om producten een langer leven te geven. Hiermee reduceren ze flink wat CO2 uitstoot en dat is natuurlijk goed voor iedereen! IT speelt een belangrijke rol in de bedrijfsvoering en de applicaties zijn van goed niveau. Als fullstack .NET developer ga jij je bijdrage leveren aan het verder verbeteren van de applicaties en de interne processen. Ze zijn nu met ruim 50 medewerkers in totaal en de afdeling development bestaat uit een 5tal developers.

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Front-end React developer

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Scrum Master

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 Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

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

29/04/2024 00:50:02
 
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.