Logging.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

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 »

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 »

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Cloud Developer

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

Back-end Developer (Permanent position with the em

Bedrijfsomschrijving Dutch specialist in technical installation materials. Functieomschrijving Purpose of the position: Our client is looking for a Back-end Developer who, together with the rest of the energetic and dynamic team, is responsible for the development and management of the website. This not only concerns the development and management of the current website, but also the development of a new Headless Commerce Platform to keep the customer's website Future proof. Within the IT department, there is a real DevOps culture and the commerce team is at the forefront and tries to implement continuous improvements. Most important tasks: ï‚· Designing and

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Pagina: 1 2 volgende »

Chris PHP

Chris PHP

10/05/2012 08:14:05
Quote Anchor link
Heey,

Ik ben bezig om zelf een 'simpele' CMS te schrijven voor 2 projecten die ik nu heb. Het moet de bedoeling zijn dat dit CMS uiteraard uitgebreid wordt naarmate er de tijd voor is. Het CMS moet nu een aantal simpele taken kunnen doen.

- Een artikel aanmaken
- Een artikel bewerken
- een artikel verwijderen
- WYSIWYG editor voor dit alles (genoeg opensrouce versies beschikbaar)
- Loggen wie er wat doet.

Nu heb ik de eerste 4 punten wel onder de knie, echter wil ik een logging systeem maken waar er bijgehouden wordt wie er wat doet.

Ik moet wil de volgende punten terug kunnen zien

- IP adres van de gebruiker (makkelijk via $_SERVER['REMOTE_ADDR'] lijkt me)
- Welk bericht hij heeft aangemaakt, bewerkt of verwijderd
- Het tijdstip waarop dit is gebeurd

Mijn idee lijkt het om deze informatie in een nieuwe tabel te zetten, voor get gemak even logging gemoemt. Ik heb hier dus het ID van de gebruiker uit het tabel 'users' nodig, waaraan ik deze info koppel.

Mijn vraag is eigenlijk, heeft iemand enig idee hoe dit slim aangepakt kan worden? Het IP adres, datum en ID is geen probleem, echter hoe ik kan zien wat hij nu aangemaakt, bewerkt of verwijderd heeft ligt me wat moeilijker.

Kan ik dit gewoon na een van die drie acties een mysql_affected_rows() gebruiken? Maar hoe kan ik nu zien of er een UPDATE, INSERT of DELETE is uitgevoerd?

Alvast hartelijk dank voor de input.
 
PHP hulp

PHP hulp

26/05/2026 14:18:32
 
Gerhard l

gerhard l

10/05/2012 08:19:35
Quote Anchor link
Je weet ja wat de user gedaan heeft, je hebt waarschijnlijk waarschijnlijk voor alle 3 een apart stuk code. dan doe je iets van:

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
<?
switch($actie){
    case
'insert':
        //insert code hier
        $log = 'insert';
    break;

    case
'update':
        //update code hier
        $log = 'update';
    break;
    
    case
'delete':
        //deletecode hier
        $log = 'delete';
    break;
}

// en dan maak je hier een functie of iets van
loggin($_SESSION['id'], $artikel_id, $log); //(er bestaat al een php functie log ;p)
?>
Gewijzigd op 10/05/2012 08:24:03 door gerhard l
 
Chris PHP

Chris PHP

10/05/2012 08:24:17
Quote Anchor link
Gerard,

Ik neem aan dat je de code niet in je switch statement zet!? Als ik een swtich gebruik zet ik waar jij //.... code hier neerzet, zet ik bijv insertArticle(); waar ik na de switch de functie insertArticle(); maak.

Maar dank je voor het idee, ik had hier nog niet aan gedacht. Echter een snelle vraag, kan ik de waarde van de switch ($actie in dit geval) ook zonder $_GET doorgeven?
 
Gerhard l

gerhard l

10/05/2012 08:28:47
Quote Anchor link
Chris, soms doe ik het wel, maar wat jij doet is wel wat overzichtelijker. Je laatste vraag begrijp ik niet helemaal, het kan wel zonder $_GET maar hoe weet jij dan wat er gebeuren gaat(insert, update of delete), ik doe het zelf ook wel eens via $_POST icm een formulier.
 
Chris PHP

Chris PHP

10/05/2012 08:36:49
Quote Anchor link
Gerard,

Ja ik vind het wat overzichterlijker, echter heeft iedereen zijn eigen schrijfstyle :D. Er is niet echt een goed of fout want beide werkt namelijk, het is net wat je persoonlijk makkelijker en overzichtelijker vind.

Nou ik zat wat simpeler te denken, aangezien ik voor elke 'actie' een eigen pagina/script ga maken. Ik zelf zat eraan te denken om in het script van bijvoordbeeld INSERT te zetten dat als de query met succes is gedaan er in een array $log het volgende te zetten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$log
= [
"actie" => "toevoegen",
"IP" => "$_SERVER['REMOTE_ADDR']",
"succes" => "Ja"];
?>


En als de query niet goed gegaan is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$log
= [
"actie" => "toevoegen",
"IP" => "$_SERVER['REMOTE_ADDR']",
"succes" => "Nee"];
?>


Dus zodra de INSERT query is afgerond, kan ik nogmaals een INSERT maken waar ik simpelweg de gegevens van de $log in de tabel logging zet.
Gewijzigd op 10/05/2012 08:40:12 door Chris PHP
 
Gerhard l

gerhard l

10/05/2012 08:42:48
Quote Anchor link
Inderaad! Jou oplossing is ook prima mogelijk, alleen klopt je code dan niet helemaal. Als je een bestand met functions o.i.d hebt zou ik daar een logfunctie van maken, en anders hier gewoon direct de insert query doen.
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
mysql_query("
    INSERT INTO log (
        artikel_id,
        user_id,
        ip,
        date,
        actie,
        success
    )
    VALUES(
        '".mysql_real_Escape_string($id)."',
        '".mysql_real_Escape_string($_SESSION['id'])."',
        '".mysql_real_Escape_string($_SERVER['REMOTE_ADDR'])."',
        now(),
        'toevoegen',
        'ja'
    )"
);
Gewijzigd op 10/05/2012 08:43:39 door gerhard l
 
Chris PHP

Chris PHP

10/05/2012 08:48:09
Quote Anchor link
Gerard,

Ja ik ga even kijken of een 'logging' functie te doen is. Echter als ik gewoon direct zo de query doe, moet ik er 2 maken. Ik vind dan dat mijn code te vol wordt aangezien het makkelijker kan door gewoon 1 query en een array te gebruiken.

Want ik moet dan een INSERT INTO maken zoals jou voorbeeld voor een succes ja, en weer een nieuwe als het fout is gegaan (dus een nee). Vandaar dat ik zelf aan de array dacht, dit scheelt weer een hoop regels in het script :D

Maar zoiezo hardstikke bedankt voor het meedenken!
 
Gerhard l

gerhard l

10/05/2012 08:52:59
Quote Anchor link
Graag gedaan, dit kan je trouwens gewoon oplossen met een variabele he, query succes $var = 'ja'; anders $var='nee' en zoiets zet je dan weer in je query.
 
Chris PHP

Chris PHP

10/05/2012 10:00:24
Quote Anchor link
Gerhard l op 10/05/2012 08:52:59:
Graag gedaan, dit kan je trouwens gewoon oplossen met een variabele he, query succes $var = 'ja'; anders $var='nee' en zoiets zet je dan weer in je query.


Klopt dit kan inderdaad ook met een variabel, maar dan geef ik persoonlijk de voorkeur om gelijk al deze informatie in een array te zetten.

Toevoeging op 10/05/2012 10:38:18:

Wat ik me net bedenk is dat ik alleen aan het artikel_id niet genoeg heb. Uiteraard werkt dit goed met een INSERT of een UPDATE, echter bij een DELETE zal het ID wegzijn en kan ik dus nooit meer zien wat het artikel was alleen een ID.

Wellicht verstandig om de titel en summary er ook bij te vermelden niet?
 
Jurgen B

Jurgen B

10/05/2012 10:44:42
Quote Anchor link
Of je verwijdert het artikel door een flag kolom toe te voegen, deze kan je dan op 0/1 zetten. Op deze manier kan je bijvoorbeeld het verwijderen van een artikel ongedaan maken.
 
Chris PHP

Chris PHP

10/05/2012 10:56:55
Quote Anchor link
Jurgen, ja ik zat aan ziets gelijks te denken maar dan meer een 'Display: Yes/No' idee waar je met een checkbox het wel of niet laat zien op de pagina.

Echter als de gebruiker hem delete zou hem wel helemaal weg moeten zijn. Anders zou het betekenen dat de gebruiker nooit daadwerkelijk een artikel weg zou kunnen gooien.

De logging is trouwens puur voor de admin/webdesigner en niet voor de gebruiker. Aangezien schuld afschuiven op de ontwerper snel gedaan wordt, kun je dus doormiddel van deze log precies zien wie en wat er gebeurt is.

Tevens door misschien een het artikel te 'moven' van de artikel tabel naar een deleted_artikel tabel, kun je eventuele verwijderde artikelen altijd nog 'recoveren'.

Iemand enig idee of er een 'move' statment is of moet het gedaan worden in een script?
 
Jurgen B

Jurgen B

10/05/2012 10:59:07
Quote Anchor link
Maar wat is de toegevoegde waarde van een andere tabel? Door gebruik van flags kan je eveneens filteren op verwijderde berichten en ze restoren. Juist omdat je zegt dat het alleen voor de admin is lijkt me dit een nuttige feature.
 
Ozzie PHP

Ozzie PHP

10/05/2012 11:01:33
Quote Anchor link
Je kan ook bij ieder artikel een veld 'published' en 'deleted' toevoegen. Met published bepaal je of het artikel getoond wordt op de site (0=nee, 1=ja) en met deleted verwijder je een bestand (0=niet verwijderd, 1=verwijderd). Op deze manier hoef je niks te moven. In het admin gedeelte maak je dan een functie waarmee je echt alle deleted artikelen kunt verwijderen. Dit doe je dan bijv. eens per maand.

DELETE FROM artikelen WHERE deleted=1
 
Erwin H

Erwin H

10/05/2012 11:13:18
Quote Anchor link
Ik zou een nieuwe tabel nemen. Om de reden dat je dan nooit zomaar gedelete artikelen alsnog op de site krijgt (vergeet een keer in een query die delete flag op te nemen en al die oude zijn weer zichtbaar), omdat je het dan nog wel kan recoveren en omdat je artikelen tabel niet onnodig groeit (en dus trager wordt).

Met een simpel SQL statament kan je een record uit de ene naar de andere tabel plaatsen, hierna moet je het nog wel deleten uit de artikelen tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
INSERT deleted_artikel (id, title, content)
SELECT id, title, content
FROM artikelen
WHERE id = 1

Let op: hier gebruik je dus INSERT en niet INSERT INTO (maw, ik ben niet een keyword vergeten...).
De volgorde van de kolommen in INSERT en SELECT bepaalt welke waarde in welke kolom terecht komt. Ga er dus niet vanuit dat het op naam gebeurt, het gaat op volgorde.

Mocht je overigens nog een extra waarde willen toevoegen, bijvoorbeeld de user_id van de gebruiker die het artikel weggooit dan kan dat ook (57190 is dus het fictieve id):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
INSERT deleted_artikel (id, title, content, user_id)
SELECT id, title, content, 57190
FROM artikelen
WHERE id = 1
Gewijzigd op 10/05/2012 11:14:27 door Erwin H
 
Chris PHP

Chris PHP

10/05/2012 11:25:20
Quote Anchor link
Heren, Dank je allen voor de input, beide manieren zijn goed.

Echter zou ik toch voor de manier van Erwin (en mijn originele manier) gaan puur dat de artikel database schoon blijft en alleen artikelen bevat die op de site mogen.

de deleted_artikel is puur als mijn klant een fout maakt en het per ongeluk verwijderd, zodat ik het zelf alsnog kan recoveren voor hem. Dus de deleted_artikel is meer een parkeerplaats voor artikelen die de gebruiker niet meer wil.

Erwin, ik kan als ik je voorbeeld dus goed begrijp dit maken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$move
= ("INSERT deleted_artikel (id, title, content)
         SELECT id, title, content
         FROM artikelen WHERE a_id='$a_id'"
)

$delete = ("DELETE * FROM artikel WHERE a_id='$a_id'")
?>


En dan uiteraard een if statment maken dat if ($_POST['delete'] == 1) dus de checkbox delete is gemarkeerd voer ik beide queries uit, eerst de $move en daarna de $delete?
 
Erwin H

Erwin H

10/05/2012 11:36:44
Quote Anchor link
Inderdaad, zo copieer je het naar de andere tabel en delete je het in de originele. (Alleen die * hoeft niet in het delete statement, dus gewoon 'DELETE FROM artikel WHERE....'.)

Toevoeging: ik heb nu de kolommen dezelfde naam gegeven in de originele tabel en de deleted tabel, dat hoeft natuurlijk niet. Die namen kunnen vanalles zijn.
 
Chris PHP

Chris PHP

10/05/2012 11:55:08
Quote Anchor link
Dank je Erwin, ja klopt die * hoeft idd niet zat niet helemaal op te letten ;).

Klopt je kunt er idd van maken wat je wilt, maar om het 1-op-1 aan te houden met het originele klinkt alleen maar logisch in dit geval :D

Dit is natuurlijk ook een hele mooie oplossing als je ooit gaat mirgeren naar een nieuwe of andere database structuur!

Dank je voor de tip, ik ga er vanavond mee aan de slag.
 
Dave L

Dave L

10/05/2012 12:35:22
Quote Anchor link
Ik maak altijd .txt log-bestanden aan. Een weer iets andere wijze zonder gebruik van SQL.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$logboek
= date('Y-m-d H:i:s').' SUCCES: '.$_SERVER['REMOTE_ADDR'].' - gebruiker ingelogd - User: '.$_SESSION['naam'];

// VERWERKEN in security logboek
    $logbestand = "/home/gebruiker/domains/domein.nl/logboek/log_security.txt";
    
    if($handle = fopen($logbestand, 'a')) {
            
        fwrite($handle,"$logboek");
        fwrite($handle,"\n");
        fclose($handle); //bestand afsluiten
    }
?>
 
Chris PHP

Chris PHP

10/05/2012 13:22:11
Quote Anchor link
Dave L,

Als je zelf de site gebruikt werkt dat goed, echter wanneer er mensen achterzitten die er niets vanaf weten gebruik ik liever geen logbestand.

Mijn klanten hebben natuurlijk ook zelf toegang tot hun FTP, en ja ik heb al een aantal keren meegemaakt dat ze onopzettelijk hun hele root leeg gooien. Dan heb je klanten die dit netjes melden en toegeven, echter zijn er ook die regelrecht de schuld in jou schoenen schuiven.

Vandaar dat ik dit het liefst in een database wil opslaan. Tevens bewaar ik al de site's van mijn klanten die ik ontworpen heb, zodat dit soort dingen snel op te lossen zijn. Nog een voordeel om een database te gebruiken, deze gegevens gaan minder snel verloren dan bestanden.

Maar bedankt voor je input, logbestanden hebben in verschillende situaties zeker nut!
 
Wouter J

Wouter J

10/05/2012 13:39:09
Quote Anchor link
En als je dit mooi OO wilt maken kun je eens hiernaar kijken: http://www.phphulp.nl/php/forum/topic/de-opbouw-van-een-logging-class/81508/#577390
 
Chris PHP

Chris PHP

10/05/2012 13:53:25
Quote Anchor link
Wouter,

Dank je, ik zit er inderdaad aan te denken om dit in OOP te maken. Echter heb ik OOP nog niet zovaak toegepast dus wordt gelijk een mooie uitdaging.

Dank je voor de link, deze pak ik er vanavond even bij!
 

Pagina: 1 2 volgende »



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.