PHP Kontaktformular Klasse

In verschiedenen Projekten benötige ich sehr oft ein Kontaktformular welches immer die selben Attribute und Eigenschaften besitzt. Daher habe ich mir zur vereinfachung eine PHP Klasse geschrieben die mir ein komplettes Kontaktformular ausgibt, dynamisch mit jQuery validiert, serverseitig validiert und an den zu sendenden Empfänger schickt. Alle Einstellungen sind durch Kofigurarionsvariablen im Konstruktor zu bestimmen. Wie zum Beispiel die Eingabemaske mit unterschiedlichen validierungseigenschaften : text,textarea,plz,mail …
Hier ein Beispiel zum erzeugen:

<?php
include_once('kontakt_lib.php');
$set['mail-to']='ansprechpartner@meine-seite.de'; // Kontaktformempfaenger
$set['mail-from']='web-form@meine-seite.de'; // Absender
$set['title']='Kontaktform - Meine Seite'; // Titel
$set['jQueryMSG'] = true; // Zeigt direkt Fehler an
/*
Hier koennen 5 verschiedene Angaben gemacht werden:
text -> kleiner Text
textarea-> mehrzeiliger Text
mail -> Mailadresse mit validierung
plz -> Postleitzahlvalidierung
captcha -> Rechencaptcha
*/
$atr['Vorname']='text';
$atr['Nachname']='text';
$atr['E-Mail']='mail';
$atr['Nachricht']='textarea';
$atr['Sicherheitsabfrage']='captcha';
// Erzeugen
$k = new Kontaktform($atr,$set);
$k->checkForm(); // Validierung und Sendung
$k->echoForm(); // Ausgabe des Formulars
?>

github – stetro/contactlib

Für das Styling stehen viele verschiedene Klassentypen bereits im Formular und können selbst sehr einfach via CSS durchgestylt werden. Ein Beispiel Styling wird noch in Github hochgeladen. Bei Interesse, Verbesserungsvorschlägen oder Mithilfebedarf unter GitHub einfach melden. Vielleicht kann die Klasse jemand gebrauchen.

Das Ergebnis des oben stehenden Beispiels könnte dann so aussehen:

Tweetpoller – Cloud9 Projekt

Für das Fach „Netzbasierte Anwendungen“ an der FH-Köln standen wir vor der Aufgabe einen Twitter Feeder in JavaScript zu nutzen. Hierfür habe ich ein eigenes jQuery Plugin „tweetpoller“ geschrieben welches uns diese Arbeit sehr gut abnimmt. Tweetpoller lädt zu beginn einen Bestand der letzten Tweets eines Nutzers und fragt nach einem vorgegebenen Intervall immer wieder die Twitter API an ob neue Tweets des Benutzers online sind. Neue Tweets werden dynamisch in die Liste aller Tweets eingefügt. Das Projekt liegt unter github und kann einfach als jQuery plugin genutzt werden:

$(function(){
$("#twitter-tweets").tweetpoller(
{
"filter_value": "stetro",
"filter_attr": "screen_name",
"time": 20*1000,
"count" : 7,
"read_more_link_text" : "Mehr Tweets ..."
});
});

Der passende HTML Code könnte so aussehen:

<ul id="twitter-tweets">
<li>Tweets werden geladen ...</li>
</ul>

Besonders interessant war die IDE die ich für dieses Projekt das erste mal genutzt habe. Cloud9 ist eine Webbasierte JavaScript IDE die es ermöglicht sehr flexibel im Web auf Quellcodes zuzugreifen und eigens geschriebene Testumgebungen zu nutzen. Außerdem hat Cloud9 eine direkte Anbindung an github. Für öffentliche WebProjekte somit Ideal !

SNOC – U23 Projekt 2011

Dieses Jahre hatte ich die Möglichkeit beim diesjährigen U23 des Chaos Computer Club Cologne (C4) Teilzunehmen wo es in diesem Jahr um Sicherheit in Webapplikationen ging. Nach ersten Einführungsveranstaltungen in denen uns die Basics der Web Exploids in Ausübung und Prävention näher gebracht wurden, haben wir Gruppen gebildet in denen Spezielle Themen behandelt wurden (C4 Wiki).

In Unserer Gruppe hatten wir das Thema PHP-Shell was ein PHP Skript darstellen soll der durch z.B. eine Uploader lücke eines PHP Skripts hochgeladen und ausgeführt werden kann. Wenn dieser Skript nun aufgerufen wird lädt der Browser eine fast voll funktionsfähige Konsole. Die Kommunikation verläuft mit AJAX und Base64 codiert damit die gesendeten Daten nicht in Logfiles o.ä. auffallen. Außerdem kann man frei auf dem Server Navigieren (mit den Rechten des apache users).

Weitere Funktionen:

  • Upload in das Arbeitsverzeichniss ( falls schreibrechte vorhanden )
  • Download JEDER Datei mittels „download [datei]“
  • Freie navigation mit cd
  • Autocompletion mit Befehlen (Ordner sollen folgen)
  • Komplexe Kommandeos sind im Menü „Weitere Funktionen …“ zu finden
Habe den Quelltext bei GIThub veröffentlicht: SNOC PHP-Shell (shell is not an oil company) 

Windows 7 Gadget – Project Timer

Bei beruflichen oder ausbildungstechnischen Programmierarbeiten vergisst man schnell mal die Zeit und möchte gerne Wissen wie lange man für bestimmte Tätigkeiten eigentlich gebraucht hat. Denn es ist zum Beispiel für das Verfassen von Angeboten sehr Wesentlich folgende Frage beantworten zu können – „Wie lange brauche ich eigentlich für meine Arbeit?“. Deshalb habe ich mich rangesetzt ein kleines Windows 7 / Vista Gadget zu programmieren mit dem man einfach Zeiten für Projekte und Teilprojekte messen kann. Das ganze ist in HTML/CSS und jQuery Programmiert worden und kann (leider ohne Signatur) auf jedem Windows 7/Vista System installiert werden. Falls Interesse besteht könnten auch die Daten nach einem Reboot bestehen bleiben (webSQL), was aber noch ein wenig mehr Arbeit wäre. Hier ein Screenshot:


Hier der Download

Webprojekt – Hirschberg Tonstudio

Das Hirschberg Tonstudio ist ein umfangreiches Tonstudio in Mitten des Rothaargebirge im Sauerland. Das Webprojekt habe ich in diesem Monat mit dem CMS webEdition erstellt. Das Template habe ich wie üblich mit Photoshop und Eclipse als IDE entwickelt und einige jQuery Features einprogrammiert. Die gesamte Seite besteht nur aus einer Seite und scrollt über die Navigation zum jeweiligen Inhalt. Hier noch ein größerer Auszug der Website:

HTML 5 Canvas – Moorhuhn 2.0

Habe mich auf Grund von Abneigung zu Flash mal ein wenig mit dem Canvas Tag in HTML 5 auseinander gesetzt. Dabei ist ein kleines Moorhuhn ähnliches Spiel bei heraus gekommen welches durch die HTML 5 Technologie sich sogar auf iPhone, iPad und allen anderen Mobilen Endgeräten mit passendem Browser spielen lässt. Soweit der Webspace noch steht kann das Spiel unter folgender Adresse gespielt werden. Natürlich ist dort auch der Quelltext hinterlegt und man kann schauen wie simpel man alle möglichen Animationen und Interaktionen mit dieser Technik realisieren kann.

http://www.stetro-blog.de/blog/HTML5Canvas/

jQSlide – jQuery Slider

So endlich die Prüfungen und Ergebnisse meiner Ausbildung hinter mir. Also kann ich mich wieder um meinen Blog kümmern und nochmal etwas mit jQuery bauen. Habe auf viele Homepages dieses Bild, dass durch klicks nach rechts oder links wechselt gesehen und wollte das auch mal selbst basteln. Schnell hab ich gesehen, dass das mit jQuery gar nicht mal so schwer ist. Die Codierung habe ich mit gedit schnell machen können. Habe mich ein wenig mehr mit dem Design der Slidergrafik auseinander gesetzt, die ein durchlaufen über x-repeat ermöglichen sollte. Dabei kahm dann folgendes heraus:

Hiernach habe ich noch schnell die Richtungsfeile erstellt, die  sich jeder frei kopieren kann :

Das Resultat war danach folgendes:

Bei Interesse zeige ich auch gerne noch den Sourcecode, den ich noch ein wenig mit CSS3 aufgebessert habe.