Facebook Twitter E-mail RSS

PHP| QLog – MySQL Queries sicher loggen

Ausgestellt am April 2, 2012 vom in PHP, Programmierung

Hey,

in meinem ersten Tutorial zu PHP möchte ich euch nun eine(bzw. zwei) kleine Klassen zeigen, welche ich zusammen mit Leon geschrieben habe.

Diese Klasse dient dem Zweck, jegliche MySQL Query in eine Log Datei zu schreiben, um so nachvollziehen zu können, welche Queries ausgeführt wurden/werden.

Als erstes legen wir eine Datei mit dem Namen qlog.class.php an, in welcher wir die Queries loggen. Wir definieren als erstes die Klasse QLog.

Danach müssen wir 2 protected Variablen in dieser Klasse erstellen.
Diese wären $LogDir und $fopenObj.

$LogDir wird später den Ordner, in welchem die Log Datei liegen soll, beinhalten.
$fopenObj wird später fopen der Log beinhalten.

Gleich nach dem Aurufen der Klasse soll es $LogDir und $fopenObj definieren. Dies passiert mit folgendem Code:

$LogDir bekommt den Wert des Log Verzeichnis, welches bei uns “/log/mysql/” ist.
$fopenObj ruft dabei die Datei “date(“m_Y”).”.log” im Log Verzeichnis auf. Durch den Modus “a+” kann die Datei bei nicht existieren erstellt und geöffnet werden, wenn sie existiert wird sie einfach nur geöffnet.
“date(“m_Y”)” stellt das Datum im Format m_Y dar, sozusagen Monat_Jahr. Dadurch wird auch gleichzeitig jeden Monat eine neue Log Datei erstellt. Diese kann z.B. so heißen: “03_2012.log”

Will man in die Log Datei schreiben, braucht man eine extra function. Diese sieht so aus:

$Query beinhaltet später die MySQL Query.
Durch die Funktion fwrite() wird der Eintrag in die Log Datei erstellt. Dabei wird im Beispiel Sekundengenau eingetragen. Der Text kann später so aussehen:
“at: 21:10:23 — 08-03-2012 was this Query: “SELECT * FROM Users;” Executed”
Am Ende dieser Funktion gibt es noch ein true zurück.

Das letzte in der Klasse QLog ist die __destruct Funktion.
In dieser wird lediglich ein fclose() der Datei $fopenObj durchgeführt.

Das war es jetzt auch schon für die Datei qlog.class.php.

Nun kommen wir zu einer Datei, die nicht unbedingt sein müsste, jedoch zur vereinfachung angefertigt wurde.
Diese Datei heißt sqli.class.php.
Wir benötigen unseren Grundaufbau einer Klasse, jedoch mit 2 Besonderheiten.
Das erste wäre, die qlog.class.php einzubinden. Dazu kommt jedoch auch noch, die mysqli Klasse einzubinden. Danach sieht unser Grundbau der Datei so aus:

Durch die Klasse sqli.class.php wollen wir eigentlich nur bezwecken, nicht jedes mal 2 Befehle eingeben zu müssen, um ein Query durchzuführen und es dazu noch zu loggen. Darum brauchen wir als ersten den __construct Teil, welcher eine typische MySQLi Verbindung herstellen soll. Dies kann man so ermöglichen:

Dadurch kann man später mit einem einfachen Befehl Verbindung aufbauen. Wie das genau geht, wird später erklärt.
Erstmal müssen wir nämlich noch die Funktion schreiben, um den Query auszuführen und gleichzeitig zu loggen. Dies geschieht ab besten so:

In $ql wird unsere vorhin geschriebene QLog Klasse gebraucht.
Durch parent::query(); wird die Query ausgeführt.

Damit war es das auch für diese Datei. Um sie zu benutzen, werden wir folgendes brauchen:

Wir binden die Datei sqli.class.php ein, stellen eine Verbindung her und führen dann ein Query aus.

Ein kleiner Trick: Wenn beim Host localhost verwendet wird, kann es auch frei gelassen werden. Somit würde es folgendermaßen heißen:

Jede weitere Verarbeitung der Query ist normal wie bei MySQLi.

Hier nochmal die Files als Anhang:
QLog

Mit vielen Grüßen
Jan

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
1 Comment  comments 

PHP|MyRSS – Easy RSS creator

Ausgestellt am März 11, 2012 vom in PHP

Hier eine alte Klasse die ich ausgegraben habe. Selbst geschrieben ;)

(C) by darksider3.de. All rights Reserved. Skript unter der in darksider3.de/OpenLab genannten Lizens!

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 

XML: Canonical kündigt XML in der Version 2.0 an!

Ausgestellt am März 5, 2012 vom in Programmierung

Canonical(Link zu der Homepage) kündigte am 24 Januar dieses Jahres XML Version 2 an( w3.org Homepage Link)

Leider las ich das erst gestern, wo ich mit einem anderem Entwickler darüber diskutierte, ob XML die Zukunft oder nicht ist. Da ich hörte das XML 2.0 rauskommen soll, sagte ich ihm dies, wusste es aber leider nicht sicher..

Nunja, daraufhin suchte ich nach XML Neuigkeiten. Diese Fand ich hier: http://www.w3.org/TR/xml-c14n2/.

Dort sah ich, das die Version voraussichtlich am 12 April diesen Jahres Veröffentlicht werden sollen. Ich freue mich natürlich darauf, weil ich andauernd dafür einstehe, das XML nicht veraltet oder nutzlos ist. Dank Canonical (:) ) kann ich dem jetzt sogar aussagekräftige Argumente anhaften. Ich freue mich schon, besonders wenn ich die Neuerungen sehe, auf XML 2.0!

Ich freue mich auf das nächste mal,

Leon Giesenkämper ( darksider3 )

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 

Mit SimpleXML (Funktionen) in PHP XML Dateien auslesen

Ausgestellt am März 4, 2012 vom in PHP, Programmierung

Hallo, da ich grad für das Projekt MyFriendsXXL eine Möglichkeit suche, Sprachdateien auszuwerten – in XML. XML ist meiner Meinung, und von ein paar anderen Entwicklern nach, DAS Dateiformat der Zukunft.
Nun, fangen wir an!

Man kann sagen, das es 2 Verschiedene Möglichkeiten zur Benutzung gibt,

Die zwei Funktionen

helfen sehr beim Umwandeln von Sogenannten Knotenpunkten nach Klassen-objekt-Variablen. weiteres darüber (Variablen erstellung) ließt man weiter unten :)

Für alle folgenden beispiele nutze ich dieses Beispiel:

Nun, ich habe zwei Voraussetzungen, die erfüllt sein müssen!
Das…

  1. ..beherschen von Klassen in PHP5.
  2. …und die PHP Basics

Über die beiden Links könnt ihr jeweils ein Tutorial über die Gebiete finden.

Da dies wohl nun erfüllt sein sollte…

… widmen wir uns jetzt der Handhabung der Funktionen.
Hier ist nurnoch schnell zu sagen, das ich hier nur die Funktion simplexml_load_file(); behandle.
Okay, los gehts!
Fangen wir damit an, erstmal zu verstehen was die Funktion eigentlich macht.
Die Funktion nimmt sich die XML Datei, prüft sie auf ihre Validität, und gibt falls es nicht Valide zu der Version ist, wird ein Error auf dem E_WARNING Level ausgegeben. Hier mal das erste Beispiel:

Mit simplexml_load_file(“beispiel.xml”); laden wir die Xml-Datei,
und mit print_r() geben wir uns alle Elemente der Variable aus.
Außerdem: Die Variable wird benötigt damit wir Zugriff auf das geladene
XML Dokument haben.
Achtung: Die Dateien werden nicht als Array geladen, sondern als Klassen Objekt-Variable. Also kriegen wir nur Zugriff, wenn wir es auch wie eine Klasse handhaben:

Also, wie oben schon beschrieben, geben wir hier mit echo einfach das Feld “FeldName” vom Knoten “KnotenName”.
Und es geht weiter…

…Wir haben jetzt herausgefunden, wie wir die Dateien Laden und die
erstellten Objekte ausgeben. Aber wie sieht das am Beispiel aus? Ganz einfach: So!

Die Ausgabe sieht so aus:

Mehr gibt es darüber eigentlich nicht zu schreiben, da ich schon alle Wege und Beispiele eingesetzt habe.

FAZIT

SimpleXML ist gut für das Laden von Sprachdateien, aber nicht für das Manipulieren von XML Dateien. Fazit Ende :D

Freue mich euch mal wieder ein neues Hilfreiches Tutorial vorstellen zu können,
Mfg, Leon Giesenkämper ( darksider3 )

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
3 Comments  comments 

Kohlendioxid gegen Kohlendioxid

Ausgestellt am März 1, 2012 vom in Uncategorized

Das ist ja nun das Albernste überhaupt:

 

 

 

 

 

 

 

 

Wachs aus Teelichtern zu verbrennen erzeugt CO2. Das Bild ist ungefähr so, als würde man für die Abrüstung Leute erschießen.

Atmen erzeugt übrigends auch CO2. Wenn die Öko-Romantiker auf dem Foto also mal bitte für eine Weile die Luft anhalten könnten…so ungefähr 10 Minuten lang. Danke

 

mfg, Leon G. (darksider3)

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
1 Comment  comments 

FDP Ich mag dich … ich mag mich!

Ausgestellt am Februar 29, 2012 vom in Politik

Na Hallo!

Wie ihr sicherlich schon bemerkt habt – die FDP ist ein gemeiner Orden voller Vor-Geld-Erstickenden-Mars-menschen-Entflohen-aus-Area-51 :D Ne.. Spass (oder vielleicht auch nicht O.o).

Jedenfalls, ganz Deutschland regt sich mittlerweile über die FTP auf – ich will da nicht hinterher Hinken! Also hier ein schönes Lied über die FDP *hust*ironi*/hust* :D

 

Hach… ist das Lied nicht schön? Songtext:

Ich mag Firmen mit viel Geld,
die Lobbyisten dieser Welt,
Unternehmen und Industrie -
Den kleinen Leuten helf ich nie!

Ich mag Zwei-Klassen-Medizin,
ich mag es, Kranke abzuziehen,
Milliarden Kassenüberschuss -
den der Kunde zahlen muss!

Ich mag Freunde – auch im Job,
die bring ich unter, das läuft top,
haben keine Ahnung vom Metier,
sind dafür in der FDP.

All das mag ich – und ganz doll mich.
Schwappschwabidubidu…

Ja, so ist die FDP,
Lobbyismus ist OK.
Viele Posten eingesackt -
wir sind halt abgef…..!

FDP ich mag dich!

Mit freundlichen Grüßen, und vor lachend auf dem Boden Liegend,

Leon Giesenkämper( darksider3 ) :D :D

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 

C++ Beitragsreihe: Ende!

Ausgestellt am Februar 25, 2012 vom in Uncategorized

Hallo, ich muss sagen, das ich die C++ Beitragsreihe abblasen werde. Da neu e Komponenten von C++ zu erlernen ziemlich schwierig ist, werde ich ab jetzt warscheinlich über PHP,CSS,MySQL &co berichten. Tut mir ehrlich gesagt sehr leid, aber die dauer zum lernen von Qt & C++ ist einfach zu imenns für diverse Beiträge. Vielleicht werde ich nochmal damit anfangen… aber erstmal ist schluss damit. Ausserdem bin ich mittlerweile an dem Projekt http://myfriendsxxl.com beteiligt, als PHP Programmierer. Dem will ich mich widmen.

Trotzdem hoffe ich ihr könnt damit leben( :D ),

Mfg Leon Giesenkämper

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 

C++ Beitragsreihe: Neues über das Verbleiben.

Guten Abend allerseits!

Ich wollte euch nur schnell was über die neusten Entwicklungen über die C++ Beitragsreihe Informieren.

Ich bin gerade dabei, ein PHP Source Management System(PHPSMY) zu installieren, damit ich euch Live über das neuste meiner Erworbenen Kenntnisse zu Informieren. Ich werde ab und zu dort etwas über meinen Stand bei dem Qt lernen schreiben. Der nächste Beitrag der Kategorie wird also das erst-gelernte von mir in Qt beinhalten.

UPDATE: Jetzt einsehbar unter code.darksider3.de

Ich freue mich schon darauf,

Leon Giesenkämper

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
1 Comment  comments 

C++ Beitragsreihe: Nächster Beitrag geplant!

Ausgestellt am Februar 19, 2012 vom in C++

Hallo liebe Leser dieser Reihe.

In der C++ Reihe habe ich bis jetzt nur über Komponenten von C++ getextet. Jetzt möchte ich auf eine Schöne C++ Klasse umsteigen: Der nächste Beitrag behandelt da Qt 4.8 GUI Framework! Warum? Nunja, über Qt lässt sich lange diskutieren… über Komponenten nicht. Ausserdem gibt es leider sehr wenig über Qt Tutorials in und auf Deutsch. Dies möchte ich ab jetzt ändern! Der Beitrag wird erstmal das Installieren von der Qt SDK behandeln. Dann gehe ich rüber zu Buttons und Fenstern….

Freue mich schon darauf,

Leon Giesenkämper

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
1 Comment  comments 

C++ Beitragsreihe Teil II: Mit Variablen Rechnen

Hallo,
heute möchte ich euch zeigen, wie man mit Variablen Rechnet. Für die Typen und Wertbereiche, guckt euch den Ersten Teil dieser Reihe an. Nun, Rechnen kann man mit folgenden, sogenannten “Operatoren”:

  • + Ist für die Addition da
  • - Ist für das Subtrahieren da
  • * Ist für das Multiplizieren da
  • / Ist für das Dividieren da

Den Einsatz dieser Operatoren kann man wie folgt beschreiben, mit einem Beispiel:

C++ Kennt auch das Rechnen alá “Punkt vor Strich”. Wenn wir also dieses Beispiel hier nehmen:

Kommt nicht, wie erwartet, 2.2+2*3 Raus, sondern 2*3+2.2.
Natürlich kann man auch mit Klammern rechnen:

Hier gilt: C++ Rechnet Klammern zu erst aus!
Logisch ist auch, das wir den Wertbereich eines Datentypes nicht mit Rechenoperationen austricksen können:
Der zugelassene Bereich bleibt!
Nun, zuletzt gibt es zu diesem Thema nur noch zu sagen:
C++ ist ein wahres Rechen Monster, und besitzt jede gängige Rechenart.

Übungen

*Führe 5 Rechenoperationen aus.
*Beherrscht C++ die gängigen Rechenarten?

Lösung der Übung im ersten Teil:

* Erstelle 3 Int,double und char Variablen, und gib ihnen einen erlaubten Wert.:

* Versuch die Wert begrenzungen “auszutricksen”. Hilfe gibts bei Google Einfach mal suchen, zb: Wertebegrenzungen umgehen in c++:
In C++ kann man den Wertbereich mit dem Schlüsselwort unsgined erhöhen

Mit freundlichen grüßen,
Leon Giesenkämper

PS: Und der zweite Sinnvolle Beitrag geht zu ende…

Share
 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
© 2011 - 2012 darksiderForge- Lizenz soweit nicht anders vermerkt: CC BY-SA 3.
credit