Limiteren resultaten if-statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

Bekijk vacature »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. 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 vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

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 »

.NET 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 »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

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 »

Social Media Specialist

Social Media Specialist locatie: Rotterdam (Zuid Holland) Wij zoeken op korte termijn een nieuwe collega, een social media specialist/ adviseur sociale media (24 uur), voor ons sprankelende team Communicatie van CJG Rijnmond. Onze focus ligt op het informeren en binden van onze in- en externe klanten en stakeholders en het versterken van onze naamsbekendheid en zichtbaarheid. Dat doen we in nauwe samenwerking met elkaar. Over de functie Ons team bestaat uit 7 communicatieprofessionals met ieder een eigen expertise. Als lid van het online team ben je verantwoordelijk voor het ontwikkelen, uitvoeren en analyseren van onze socialemediastrategie. Ook stel je campagnes

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

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 »

Functioneel applicatiebeheerder - SOP-SYS-SAM

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 Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

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

27/05/2026 15:46:12
 
- 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.