Limiteren resultaten if-statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

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

16/05/2024 13:51:36
 
- 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.