Limiteren resultaten if-statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

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 »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Full stack .NET developer Microsoft 365

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

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

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 »

Embedded Software Developer

Functie omschrijving Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar een Embedded Software developer. Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij enthousiast en een echte team player? Lees dan snel verder en laat wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot aantal creatieve en ambitieuze ontwikkelaars. Ze

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 »
Mario Achternaam

Mario Achternaam

12/04/2017 15:55:13
Quote Anchor link
Goedemiddag!

Ik ben met een klein projectje bezig, maar kom er even niet uit.
Het wordt een simpel logsysteem, waar je vanuit het admin panel de logs kunt bekijken. Hier worden ook IP-adressen bijgehouden, die je vanuit de logs meteen kunt blokkeren.

Op dit moment zit ik even in de knoei met het volgende:

In de logs kan een IP-adres meerdere keren voorkomen. Ik ga ervoor zorgen dat een IP-adres maar 1x per dag wordt gelogd om het overzichtelijk te houden. Maar met de volgende code wordt een IP-adres zo vaak geblokkeerd als deze in de logs voorkomt, en dat moet natuurlijk maar 1x zijn.
Ik heb zelf al heel wat afgezocht, maar kan het niet vinden.

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
<?php

session_start();

if($_SERVER['REQUEST_METHOD'] === 'POST'):
    require_once('../../config.php');
    
    $open = fopen("../../".$conf_file_logs, 'r');
    while(!feof($open)): // <-- laadt alle rijen uit het logbestand (.txt)
        $file = fgets($open);
        $fileLine = explode('|', $file);
        if($fileLine[1] == 'IP' && $fileLine[2] == $_POST['inputIp']): // <-- checkt het type log en kijkt of het IP-adres overeenkomt met de invoer van de beheerder, dit kan dus meerdere keren voorkomen
            $array = array($_POST['inputIp'], $_POST['inputReason']);
            newLine($array, "../../".$conf_file_ips);
            header("Location: ../admin.php?IPCenter");
        endif;
    endwhile;
endif;


?>


Het probleem zit in de while en het feit dat de if-statement meerdere resultaten heeft/kan hebben. Uit de var_dump komt een opsomming van arrays naar voren.

In de logs wordt het als volgt opgeslagen:

logs.txt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
0|IP|::1|12-04-2017
1|IP|::1|12-04-2017


ips.txt (geblokkeerde IP-adressen)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
0|::1|Reden|12-04-2017
1|::1|Reden|12-04-2017
Gewijzigd op 12/04/2017 15:57:50 door Mario Achternaam
 
PHP hulp

PHP hulp

05/05/2024 16:37:52
 
- Ariën  -
Beheerder

- Ariën -

12/04/2017 16:04:42
Quote Anchor link
Wat is de reden dat je geen database gebruikt? Het maakt het stukken makkelijker om mee te werken.

Verder hoort er eigenlijk een exit(); na je location-header.
 
Mario Achternaam

Mario Achternaam

12/04/2017 16:06:09
Quote Anchor link
Ik vind het wel leuk om mezelf soms uit te dagen en zonder database te werken. Voor het ene project doe ik het wel en het andere niet :)

Is dat zo? Dat heb ik nooit geweten, zal er rekening mee houden.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/04/2017 19:40:08
Quote Anchor link
- Ariën - op 12/04/2017 16:04:42:
Verder hoort er eigenlijk een exit(); na je location-header.


Eigenlijk moet dat altijd, en wel om de volgende reden.
 
Mario Achternaam

Mario Achternaam

12/04/2017 22:10:00
Quote Anchor link
Bedankt.

Jullie kunnen me niet helpen met m'n uitdaging?
 
Ben van Velzen

Ben van Velzen

12/04/2017 23:15:31
Quote Anchor link
Zo te zien heb je niet echt een probleem, want let op:
>> In de logs kan een IP-adres meerdere keren voorkomen. Ik ga ervoor zorgen dat een IP-adres maar 1x per dag wordt gelogd om het overzichtelijk te houden. Maar met de volgende code wordt een IP-adres zo vaak geblokkeerd als deze in de logs voorkomt, en dat moet natuurlijk maar 1x zijn.

Nee, je code wijzigt alleen de eerste keer dat het voorkomt, je redirect immers direct daarna. Als je je exit gewoon netjes na de header plaatst zoals het hoort te zijn ben je al klaar.

Kortom, geen probleem, hooguit niet erg netjes.
 
Mario Achternaam

Mario Achternaam

14/04/2017 22:16:27
Quote Anchor link
Yes, werkt, dankjewel!

Toevoeging op 14/04/2017 23:01:17:

Ben, zou je me trouwens nog kunnen uitleggen wat er niet netjes is?

Toevoeging op 14/04/2017 23:03:22:

Dit is de code nu:

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

// Probleem opgelost

?>
Gewijzigd op 15/04/2017 21:39:44 door Mario Achternaam
 
Ben van Velzen

Ben van Velzen

14/04/2017 23:14:50
Quote Anchor link
Simpel, het deel dat niet netjes is is het redirecten gebruiken als eindconditie. Een break was mogelijk netter geweest om nadat alles klaar was te redirecten. Is overigens grotendeels een kwestie van smaak, en je nieuwe code heeft dit probleem niet. Ik zou voor de leesbaarheid echter wel afstappen van endif, endwhile etc en gewoon gebruik maken van {}. Dan zie je een stuk beter wat je code aan het doen is. De vorm die je nu gebruikt is vooral geschikt voor een grote if met een lading HTML ertussen bijvoorbeeld.
 
Mario Achternaam

Mario Achternaam

14/04/2017 23:24:50
Quote Anchor link
Dankjewel voor je feedback.

Ik heb op jullie aanraden de redirect in een functie gezet, die eindigt met exit;. Ook heb ik alle functies in een class gezet, dat vind ik ook wat fijner werken.
Normaal gesproken gebruikte ik altijd {}, het is pas sinds een paar dagen dat ik dit een beetje aan het toepassen ben omdat ik het mooier vind als de code zo kort mogelijk is.

Nog even een vraagje trouwens:

Na het deleten van een rij wordt er een lege rij in het tekstbestand achtergelaten, wat een isset warning veroorzaakt. Ik kan natuurlijk in de code met isset controleren of een rij al dan niet leeg is, maar ik wil eigenlijk dat lege rijen helemaal niet voorkomen in het tekstbestand.
Voor de volledigheid zal ik de betreffende functie hieronder plaatsen:

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

// Probleem opgelost

?>
Gewijzigd op 15/04/2017 21:40:07 door Mario Achternaam
 
Adoptive Solution

Adoptive Solution

14/04/2017 23:34:34
 



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.