<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>André Bloggt &#187; Internet</title>
	<atom:link href="http://blog.andreflemming.de/tag/inet/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.andreflemming.de</link>
	<description>Ein Pfadfinder im Internet</description>
	<lastBuildDate>Tue, 24 Jan 2012 15:43:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pfadfinder teilen eben</title>
		<link>http://blog.andreflemming.de/2012/01/24/pfadfinder-teilen-eben/</link>
		<comments>http://blog.andreflemming.de/2012/01/24/pfadfinder-teilen-eben/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 15:37:41 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Pfadfinder]]></category>
		<category><![CDATA[Rover]]></category>
		<category><![CDATA[Aufnäher]]></category>
		<category><![CDATA[Deutschland]]></category>
		<category><![CDATA[DPSG]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Zusammenhalt]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=807</guid>
		<description><![CDATA[Heute gibt es mal wieder einen Artikel zu Pfadfindern. Ich muss ja schließlich meinem Blog Titel gerecht werden. Ich befinde mich ja seit einiger Zeit (ich glaube seit knapp 2 Jahren) bei Twitter. Dadurch kommt immer wieder viel scheiße auf meinen Bildschirm, aber auf wirklich gute Sachen. Aber was hat das jetzt mit Pfadfindern zutun? [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibt es mal wieder einen Artikel zu Pfadfindern. Ich muss ja schließlich meinem Blog Titel gerecht werden. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ich befinde mich ja seit einiger Zeit (ich glaube seit knapp 2 Jahren) bei <a href="http://twitter.com/DasLampe" target="_blank">Twitter</a>. Dadurch kommt immer wieder viel scheiße auf meinen Bildschirm, aber auf wirklich gute Sachen.</p>
<p>Aber was hat das jetzt mit Pfadfindern zutun?</p>
<p>Pfadfinder gibt es natürlich auch viele bei Twitter. Unter anderem ein Account mit dem Namen: <a href="http://twitter.com/scoutnews" target="_blank">@scoutnews</a>, dem ich natürlich auch folge. Dahinter verbirgt sich jedoch nicht, wie man meinen könnte, ein Bot der einfach Neuigkeiten zu Pfadfindern postet, sondern ein <a href="http://www.evangelische-pfadfinder.de" target="_blank">Evangelischer Pfadfinderstamm aus Vogelsberg</a>.</p>
<p>Vor einigen Tagen flatterte mir dann die Meldung, dass sie <a href="www.evangelische-pfadfinder.de/pfadfinderarbeit/organisation/wolfskopf-aufnaher/" target="_blank">neue Wolfskopf-Aufnäher benötigen</a>, auf den Bildschirm. Da mich das ganze Interessierte guckte ich mir natürlich auch den Link dazu an.</p>
<p>Der Aufnäher mit dem Roten Wolfskopf gefiel mir sofort und ich dachte mir, er würde sich gut auf meiner Rover-Kluft machen.</p>
<p>Diese Kluft habe ich in meiner Roverzeit gemacht, es ist im Prinzip nur eine schwarz eingefärbte Kluft, mit einigen Aufnähern. Auf dem Rücken der Kluft ist außerdem der Roverschriftzug aufgeflockt. Diese Kluft trage ich zum Beispiel, wenn ich bei SilWesternohe oder auf der WebCon bin, also bei nicht Offiziellen Anlässen.</p>
<p><a href="http://blog.andreflemming.de/wp-content/uploads/2012/01/CIMG0033.jpg"><img class="alignleft size-medium wp-image-809" title="Aufnäher" src="http://blog.andreflemming.de/wp-content/uploads/2012/01/CIMG0033-224x300.jpg" alt="" width="224" height="300" /></a>Aber wie komme ich jetzt an diesen Aufnäher? Naja ich habe einfach in einem Kommentar unter dem Beitrag gefragt, ob ich so einen haben könnte. Am gleichen Abend kam noch eine Email mit der Frage, ob meine Adresse richtig sei und 3 Tage später lag ein Umschlag mit 2 Aufnähern, einem Heft der Landesjugendvertretung Westfalen e.V und einem Zettel auf meinem Schreibtisch.</p>
<p>Meine Email, wo ich denn das Geld für den Aufnäher und den Postversand hinschicken sollte und wie viel mich das kostet, wurde bis zu diesem Zeitpunkt allerdings noch nicht beantwortet.</p>
<p>Auf dem Zettel stand jedoch die Antwort, zu meiner unbeantworteten Email: &#8220;Hallo Andre, anbei zwei Aufnäher von uns. Kostet natürlich nix. Gut Pfad, Lux&#8221;</p>
<p>An dieser Stelle möchte ich mich ganz herzlich für den Aufnäher bedanken, denn: &#8220;Etwas, das dir geschenkt wurde, gehört dir erst, wenn du dem Schenkenden dafür gedankt hast.&#8221; Lord Robert Baden-Powell<br />
Ich finde das eine sehr nette Sache von dem Stamm und man sieht hier wieder, dass Pfadfinder eben teilen! <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Gut Pfad!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2012/01/24/pfadfinder-teilen-eben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piwik automatisch laden</title>
		<link>http://blog.andreflemming.de/2012/01/18/piwik-automatisch-laden/</link>
		<comments>http://blog.andreflemming.de/2012/01/18/piwik-automatisch-laden/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 11:47:02 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[mod_include]]></category>
		<category><![CDATA[mod_inject]]></category>
		<category><![CDATA[mod_layout]]></category>
		<category><![CDATA[mod_substitute]]></category>
		<category><![CDATA[Piwik]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=801</guid>
		<description><![CDATA[Heute gibts mal wieder was aus der Ecke der nützlichen Sachen. Wie einige von euch vielleicht wissen, habe ich seit einigen Monaten ein VServer. Davor war ich mit all meinen Webseiten bei pytal.de, wo auch jetzt noch einige Seiten von mir liegen. Bei Pytal gab es immer so eine kleine Statistik wo man zumindest sehen [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibts mal wieder was aus der Ecke der nützlichen Sachen.<br />
Wie einige von euch vielleicht wissen, habe ich seit einigen Monaten ein VServer. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Davor war ich mit all meinen Webseiten bei <a href="http://pytal.de">pytal.de</a>, wo auch jetzt noch einige Seiten von mir liegen.</p>
<p>Bei Pytal gab es immer so eine kleine Statistik wo man zumindest sehen konnte, wie viele User auf der Seite waren, daher hatte ich mir nie wirklich Gedanken gemacht eine eigene Statistik auftzustellen. Für mich ist sowas eigentlich auch gar nicht wichtig, ich möchte im Prinzip nur ab und an mal sehen, wie viele Leute denn auf der Webseite waren.<br />
Naja jetzt mit einem eigenen Server gibt es diese Statistik von Pytal natürlich nicht mehr, also musste was eigenes her.</p>
<p>Piwik &#8230;. schon viel von gelesen, aber noch nie ausprobiert.</p>
<p>Die Benutzung ist ja wirklich leicht, einfach den Tracking-Code, der von Piwik generiert wird, auf die Webseite packen und gut ist.</p>
<p>Aber bei jeder Webseite die neu auf den Server kommt immer in den Code eingreifen und evtl. bei einem Update drauf achten, dass der Tracking-Code nicht verloren geht, ist auf die Dauer bestimmt nervig. Was muss also passieren? Richtig, der Code muss Automatisch in die Webseiten eingebettet werden. Aber wie?</p>
<p>Bei Pytal waren die Werbeeinblendungen auf der Webseite auch immer automatisch eingebunden, wie machen die das nur? Ich habe einfach mal eine Email geschrieben und bekam auch direkt eine Antwort, dass es sich dabei um ein selbst geschriebenes Apache Modul handelt.</p>
<p>Ok, das ist ein bisschen zu viel den guten, ich möchte doch einfach nur ein bisschen dynamischen Code ans Ende jeder Webseite einfügen. Eine Idee dafür, lieferte die Email von Pytal direkt mit, ich wurde auf mod_layout hingewiesen.</p>
<p>Bei der Beschaffung dieses Modules traten jedoch einige Probleme auf, da ich die Webseite, wo man das ganze Downloaden sollte, nicht öffnen konnte.</p>
<p>Also suchte ich erst einmal ein bisschen weiter. Nach einigen Minuten hatte ich die Lösung gefunden &#8230; naja das dachte ich zumindest.</p>
<p>auto_append_file in der php.ini war für mich erst einmal die Lösung des Problems. Heute morgen habe ich das ganze dann auf meinem Server getestet, natürlich ohne Erfolg. Das Skript wurde zwar geladen und ausgeführt, allerdings bei jeder PHP-Datei. Diese Aktion zwang dann meinen VServer in die Knie &#8230; und so war meine Webseite nicht erreichbar, bis ich nach 2 Stunden wieder aus der Schule kam.</p>
<p>auto_append_file ist also keine Lösung &#8230; aber was benutze ich dann? Vielleicht noch einmal mod_layout probieren? Doch auch diesmal hatte ich keinen Erfolg, beim Download. Bei der suche nach Alternativen fand ich dann mod_injection. Aber auch hier musste ich feststellen, dass die Seite zum Downloaden offline war.</p>
<p>Was mache ich nun also?</p>
<p>Nach einiger Zeit des googelns, stieß ich auf einen <a href="http://bemasc.net/wordpress/2010/06/24/how-to-not-use-mod_layout/">Blog Artikel</a>, welcher erklärt, wie man mittels mod_substitute und mod_include Code an das Ende der Seite einfügt.</p>
<p>Aufgrund dieses Beispiels habe ich dann folgenden Code in meine httpd.conf eingefügt:</p>
<p><code>&lt;IfModule substitute_module&gt;<br />
&lt;IfModule include_module&gt;<br />
FilterDeclare Sub<br />
FilterProvider Sub SUBSTITUTE resp=Content-Type $text/html<br />
FilterDeclare SSI<br />
FilterProvider SSI INCLUDES resp=Content-Type $text/html<br />
Options +Includes<br />
FilterChain +Sub +SSI<br />
Substitute "s|&lt;/body.*?&gt;|&lt;!--#exec cmd=\"php /srv/http/include_piwik.php\"--&gt;&lt;!--#exec cmd=\"php /srv/http/include_piwik.php\"--&gt;$1|i"<br />
&lt;/IfModule&gt;<br />
&lt;/IfModule&gt;</code></p>
<p>Und siehe da, endlich wurde die include_piwik.php an jede Seite angehängt und der Sever ging dabei nicht in die Knie.</p>
<p>Wie aber stellt man es nun an, dass nicht jede Webseite getrackt wird? Und dazu auch die Webseiten unterschieden werden?</p>
<p>Bei einem kurzen Blick auf den von Piwik erstellten Tracking-Code sieht man, dass dort eine ID gesetzt wird. Also muss man nur die ID der Seite herausfinden &amp; in den Tracking-Code einsetzen. Schon kann man die Webseiten unterscheiden.</p>
<p>Ich habe das ganze wie folgt gelöst:</p>
<p><code><br />
&lt;?php<br />
// +----------------------------------------------------------------------+<br />
// | Copyright (c) 2012 DasLampe &lt;daslampe@lano-crew.org&gt; |<br />
// | Encoding:  UTF-8 |<br />
// +----------------------------------------------------------------------+<br />
$url    = $_SERVER['SERVER_NAME'];<br />
if(substr_count($url, '.') &gt;= 2)<br />
{<br />
$url    = substr($url, strrpos($url, '.', -4)+1);<br />
}<br />
$result    = simplexml_load_file("http://nixmuss-design.de/services/piwik/index.php?module=API&amp;method=SitesManager.getSitesIdFromSiteUrl&amp;url=http://".$url."/&amp;format=XML&amp;token_auth=[AUTH TOKEN]");<br />
if(!empty($result))<br />
{<br />
?&gt;<br />
&lt;!-- Piwik --&gt;<br />
&lt;script type="text/javascript"&gt;<br />
var pkBaseURL = (("https:" == document.location.protocol) ? "https://nixmuss-design.de/services/piwik/" : "http://nixmuss-design.de/services/piwik/");<br />
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));<br />
&lt;/script&gt;&lt;script type="text/javascript"&gt;<br />
try {<br />
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", &lt;?= $result-&gt;row[0]-&gt;idsite; ?&gt;);<br />
piwikTracker.trackPageView();<br />
piwikTracker.enableLinkTracking();<br />
} catch( err ) {}<br />
&lt;/script&gt;&lt;noscript&gt;&lt;p&gt;&lt;img src="http://nixmuss-design.de/services/piwik/piwik.php?idsite=&lt;?= $result-&gt;row[0]-&gt;idsite; ?&gt;" style="border:0" alt="" /&gt;&lt;/p&gt;&lt;/noscript&gt;<br />
&lt;!-- End Piwik Tracking Code --&gt;<br />
&lt;?php<br />
}<br />
else<br />
{<br />
echo $url;<br />
}<br />
?&gt;<br />
&lt;/body&gt;</code></p>
<p>Piwik läuft bei mir also unter der URL meiner Gewerbe Webseite <a href="http://nixmuss-design.de">http://nixmuss-design.de</a>. Die ID jeder Seite finde ich über die Piwik API heraus. Den Zugriff auf diese Daten habe ich einem Benutzer erlaubt, von welchem ich den Token Key übergebe.</p>
<p>Wenn ich die ID habe, dann setze ich diese einfach in den Tracking-Code ein und fertig.</p>
<p>&nbsp;</p>
<p>Eine Besonderheit ist, dass Subdomains als die normale Domains getrackt werden, somit muss ich zum Beispiel blog.andreflemming.de nicht extra in Piwik eintragen, sondern der Zugriff wird unter andreflemming.de gespeichert.</p>
<p>Sollte eine Webseite nicht in Piwik auftauchen, aber trotzdem bei mir auf dem Server liegen, dann wird einfach nur ein &lt;/body&gt; ausgegeben.</p>
<p>&nbsp;</p>
<p>Ich hoffe diese kleine Erklärung, die irgendwie mehr Text als alles andere geworden ist, hilft einigen Leuten, bei der Lösung ähnlicher Probleme.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2012/01/18/piwik-automatisch-laden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Email Adressen automatisch anklickbar machen</title>
		<link>http://blog.andreflemming.de/2011/12/02/php-email-adressen-automatisch-anklickbar-machen/</link>
		<comments>http://blog.andreflemming.de/2011/12/02/php-email-adressen-automatisch-anklickbar-machen/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 00:28:11 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=782</guid>
		<description><![CDATA[Heute Mittag habe ich schon über das erstellen von anklickbaren Links mittels der PHP Funktion preg_replace geschrieben. Das ganze habe ich nun etwas bearbeitet und habe jetzt eine Funktion, die mir Email Adressen anklickbar macht und dabei netter weise noch ein wenig vor Spambots schützt. Den Code dafür findet ihr hier: https://gist.github.com/1420919 Dort steht in [...]]]></description>
			<content:encoded><![CDATA[<p>Heute Mittag habe ich schon über das <a href="http://blog.andreflemming.de/2011/12/01/php-links-aus-text-generieren/">erstellen von anklickbaren Links mittels der PHP Funktion preg_replace</a> geschrieben.</p>
<p>Das ganze habe ich nun etwas bearbeitet und habe jetzt eine Funktion, die mir Email Adressen anklickbar macht und dabei netter weise noch ein wenig vor Spambots schützt. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Den Code dafür findet ihr hier: <a href="https://gist.github.com/1420919">https://gist.github.com/1420919</a></p>
<p>Dort steht in dem Kommentar auch was ihr zusätzlich benötigt, damit die Email Adressen wirklich anklickbar sind.</p>
<p>Ich habe jetzt auch keine Lust mehr, mehr zu schreiben.<br />
Wünsche euch allen eine gute Nacht!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2011/12/02/php-email-adressen-automatisch-anklickbar-machen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Klarstellung: Merkt ihr gar nichts mehr?!</title>
		<link>http://blog.andreflemming.de/2011/04/14/klarstellung-merkt-ihr-gar-nichts-mehr/</link>
		<comments>http://blog.andreflemming.de/2011/04/14/klarstellung-merkt-ihr-gar-nichts-mehr/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 15:34:05 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Blogsystem]]></category>
		<category><![CDATA[Deutschland]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[Klarstellung]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=762</guid>
		<description><![CDATA[Nur ein kleiner Hinweis am Rande. Der Blogpost &#8220;Mekt ihr gar nichts mehr?!&#8221; wurde etwas geändert. Ich hoffe, dass man nun besser verstehen kann, was ich meine! Bis zum nächsten Blogpost, der wohl mal wieder auf sich warten lässt.]]></description>
			<content:encoded><![CDATA[<p>Nur ein kleiner Hinweis am Rande.</p>
<p>Der Blogpost &#8220;<a href="http://blog.andreflemming.de/2011/03/03/merkt-ihr-gar-nichts-mehr/">Mekt ihr gar nichts mehr?!</a>&#8221; wurde etwas geändert.<br />
Ich hoffe, dass man nun besser verstehen kann, was ich meine!</p>
<p>Bis zum nächsten Blogpost, der wohl mal wieder auf sich warten lässt. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2011/04/14/klarstellung-merkt-ihr-gar-nichts-mehr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webseiten als PDF speichern</title>
		<link>http://blog.andreflemming.de/2011/01/13/webseiten-als-pdf-speichern/</link>
		<comments>http://blog.andreflemming.de/2011/01/13/webseiten-als-pdf-speichern/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 14:07:18 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Schule]]></category>
		<category><![CDATA[Drucker]]></category>
		<category><![CDATA[Facharbeit]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Umwelt]]></category>
		<category><![CDATA[Webseiten]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=748</guid>
		<description><![CDATA[Langsam geht es wieder für viele Schüler des 12. Jahrgangs in die Endphase der Facharbeiten. Ein häufig benutztes Medium der Informationsbeschaffung, ist dabei das Internet. Durch die offenheit des Internets, also das jeder mit den nötigen Rechten, die Inhalte der Seite ändern kann, sollten Webseiten im Anhang der Facharbeit als ausgedruckte Form bestehen, zumindest fordern [...]]]></description>
			<content:encoded><![CDATA[<p>Langsam geht es wieder für viele Schüler des 12. Jahrgangs in die Endphase der Facharbeiten.</p>
<p>Ein häufig benutztes Medium der Informationsbeschaffung, ist dabei das Internet.</p>
<p>Durch die offenheit des Internets, also das jeder mit den nötigen Rechten, die Inhalte der Seite ändern kann, sollten Webseiten im Anhang der Facharbeit als ausgedruckte Form bestehen, zumindest fordern das die Lehrer der <a href="http://gss-ohligs.de" target="_blank">Geschwister-Scholl-Gesamtschule in Solingen</a>!</p>
<p>Da die Webseiten meistens nur für die Lehrer interessant sind, welche die Facharbeit kontrollieren und nicht für Schüler die diese Facharbeit vielleicht später lesen (wenn das überhaupt jemand macht <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), kann man eine Menge Papier sparen, indem man die Webseiten zum Beispiel als PDF Datei auf eine CD brennt und diese dann der Facharbeit beilegt.</p>
<p>Ich habe das letzten Jahr auch so gemacht, weil ich auch ein kleines Video dabei hatte, aus welchem ich Zitiert habe.</p>
<p>Für dieses Jahr, habe ich auch schon mit einer meiner Jahrgangsleiterinen gesprochen, dabei ist herraus gekommen, das wir auch dieses Jahr diese Methode wieder anwenden dürfen.</p>
<p>Aufgrund von einigen Nachfragen aus meiner Stufe, schreibe ich hier kurz eine Anleitung, wie man Webseiten in eine PDF-Datei &#8220;druckt&#8221;.</p>
<p>Die Anleitung ist nur für Windows User. Soweit ich das beurteilen kann, kann Linux das ganze eh. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Wie es bei dem Apfel-Betriebssystem aussieht, weiß ich grade nicht.</p>
<p>Zuerst brauchen wir eine Software die einen Drucker emuliert. Dazu nehmen wir z.B. PDFCreator (<a href="http://www.chip.de/downloads/PDFCreator_13009777.html" target="_blank">von Chip.de</a>).</p>
<p>Nach der Installation, welche ohen Probleme vonstatten gehen sollte, könenn wir nun in unseren Browser gehen, zum Beispiel Firefox, und dort einfach auf Drucken klicken, als Drucker wählen wir nun PDFCreator aus.</p>
<p>Und schon &#8220;druckt&#8221; man die Webseite in eine PDF-Datei.</p>
<p>Schwer ist das ganze also nicht! <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ich hoffe diese Anleitung hilft ein paar Leuten.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2011/01/13/webseiten-als-pdf-speichern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Palm Pre: Powerknopf Problem</title>
		<link>http://blog.andreflemming.de/2010/08/29/palm-pre-powerknopf-problem/</link>
		<comments>http://blog.andreflemming.de/2010/08/29/palm-pre-powerknopf-problem/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 16:48:22 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[Fail]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[O2]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Powerknopf]]></category>
		<category><![CDATA[Pre]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=707</guid>
		<description><![CDATA[Die nächsten Artikel drehen sich mal wieder um das Palm Pre, da es hier einiges zu Berichten gibt. Los geht&#8217;s mit einem Hardware Problem. Der Powerknopf zum ausschalten des Displays und des Palms selbst, hat mir heute Probleme bereitet. Normalerweise hört man ein kleines klicken, wenn man diesen betätigt. Nachdem ich den Palm aus meiner [...]]]></description>
			<content:encoded><![CDATA[<p>Die nächsten Artikel drehen sich mal wieder um das Palm Pre, da es hier einiges zu Berichten gibt. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Los geht&#8217;s mit einem Hardware Problem. Der Powerknopf zum ausschalten des Displays und des Palms selbst, hat mir heute Probleme bereitet. Normalerweise hört man ein kleines klicken, wenn man diesen betätigt.<br />
Nachdem ich den Palm aus meiner Tasche genommen hatte, kam dieses Geräusch allerdings nicht mehr und der Palm reagierte auch nicht mehr auf diese Taste.<br />
Das entwickelt sich dann natürlich zu einem großen Problem, da ich keine Lust habe, den Palm immer aufzuschieben bevor ich was sehen kann und zu warten bis sich die Touchscreensperre eingeschaltet hat, bevor ich den Pre wieder in die Tasche stecken kann.<br />
Ab morgen, werde ich dafür wohl auch kaum die Zeit finden, wenn ich erstmal wieder in der Schule sitze.</p>
<p>Also was macht man? Das Ding einschicken und eine Zeit lang ohne Handy auskommen, kommt für mich nicht wirklich in frage, da ich kein zweites Handy habe, welches ich als Alternative verwenden kann, damit ich trotzdem erreichbar bin. Und extra eins kaufen, naja dafür bin ich dann etwas zu geizig. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Also habe ich mich schnell mal vor den Mac von <a href="http://twitter.com/Pfirsichwolke">@Pfirsichwolke</a> gesetzt und gegoogelt, wie man das Problem den beheben kann, bzw. erstmal ob dieses Problem öfter auftritt.<br />
Tatsächlich, das ganze ist wohl eine Abnutzungserscheinung vom Pre, was ich bei dem Preis schon echt krass finde, besonders da mein Palm Pre noch nicht alt ist, knapp 4 Monate.</p>
<p>Lange rede kurzer Sinn, ich wollte euch hier mal schnell die Lösung präsentieren, die ich verwendet habe, damit der Powerknopf wieder funktioniert.</p>
<p>Einfach, ganz Vorsichtig, von der Bildschirmseite, mit einem dünnen Gegenstand, bei mir war es eine Nagelfeile, den Powerknopf aushebeln. Dort wo der Powerknopf war, kommt nun eine Platte zum vorschein. Auf diese Platte habe ich ein kleines (2 mal gefalltenes) Stück Kassenbon gelegt und den Knopf wieder drauf gepackt.</p>
<p>Jetzt läuft das ganze wieder ohne Probleme. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Vielleicht kann dem ein oder anderen das ja helfen.</p>
<p>Achja den Tipp habe ich übrigens hier her: <a href="http://www.preforum.de/palm-pre-forum/1318-power-knopf-funktioniert-nicht.html#post17353">http://www.preforum.de/palm-pre-forum/1318-power-knopf-funktioniert-nicht.html#post17353</a></p>
<p>Bald gehts weiter, mit neuen Infos, bzw. der Installationsanleitung zum SMS Counter.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/08/29/palm-pre-powerknopf-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IMAP via fsockopen</title>
		<link>http://blog.andreflemming.de/2010/08/03/imap-via-fsockopen/</link>
		<comments>http://blog.andreflemming.de/2010/08/03/imap-via-fsockopen/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 23:18:10 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[fsockopen]]></category>
		<category><![CDATA[IMAP]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=689</guid>
		<description><![CDATA[Hier kommt mal wieder ein Artikel der etwas länger, aber vielleicht auch etwas informativer, als die letzten wird. Dieses mal geht es um eine Möglichkeit via fsockopen in PHP ein IMAP-Postfach auszulesen. Normaler weise gibt es dafür in PHP schon eine Extension, jedoch ist diese nicht überall aktiviert, daher kann man diese Technik nicht sehr [...]]]></description>
			<content:encoded><![CDATA[<p>Hier kommt mal wieder ein Artikel der etwas länger, aber vielleicht auch etwas informativer, als die letzten wird. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dieses mal geht es um eine Möglichkeit via fsockopen in PHP ein IMAP-Postfach auszulesen. Normaler weise gibt es dafür in PHP schon eine Extension, jedoch ist diese nicht überall aktiviert, daher kann man diese Technik nicht sehr gut nutzen, wenn man ein Programm/Skript, schreiben möchte, welches auf möglichst vielen Server läuft.</p>
<p>fsockopen ist zwar auch bei vielen Free Webhostern ausgeschaltet, da mit dieser Funktion viel &#8220;Schaden&#8221; angerichtet werden kann, jedoch hat man bei <a href="http://pytal.de">Pytal.de</a> zum Beispiel die Möglichkeit, durch eine Bestätigte Mitgliedschaft fsockopen nutzen zu können.</p>
<p>Naja lange genug um den heißen Brei geredet, was habe ich also gemacht?</p>
<p>Ganz einfach, ich habe es mir einige Stunden vorm PC gemütlich gemacht, während sich <a href="http://twitter.com/Pfirsichwolke">@Pfirsichwolke</a> immer mehr langweilte.</p>
<p>Nach ziemlich viel gegoogle, ausprobieren und fragen im <a href="http://pyjeti.pytalhost.de">Pytalchat</a>, habe ich jetzt endlich eine naja zugegeben schlechte, aber trotzdem Funktionierenden IMAP-Klasse geschrieben. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Der Code dazu kommt hier:</p>
<blockquote><p>// +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
// | Copyright (c) 2010 DasLampe  |<br />
// | Encoding:  UTF-8 |<br />
// +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
class IMAP<br />
{<br />
var	$sock;<br />
var $host;<br />
var $port;<br />
var $sid;<br />
var $tag;<br />
var $_lastTag;<br />
var	$currentMailbox;</p>
<p>function __construct()<br />
{<br />
$this-&gt;sock	= null;<br />
$this-&gt;host	= &#8220;localhost&#8221;;<br />
$this-&gt;port	= &#8220;143&#8243;;<br />
$this-&gt;sid	= &#8220;&#8221;;<br />
$this-&gt;tag	= 0;<br />
$this-&gt;_lastTag	= $this-&gt;tag;<br />
$this-&gt;currentMailbox	= &#8220;&#8221;;<br />
}</p>
<p>function __destruct()<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; LOGOUT\r\n&#8221;);<br />
}</p>
<p>function connect($host=&#8221;", $port=&#8221;", $ssl=false)<br />
{<br />
$this-&gt;host		= $host;<br />
$this-&gt;port		= $port;</p>
<p>if($ssl == true)<br />
{<br />
$this-&gt;host = &#8220;ssl://&#8221;.$host;<br />
}</p>
<p>$this-&gt;sock	= fsockopen($this-&gt;host, $this-&gt;port, $errno, $errstr);</p>
<p>if(!$this-&gt;_assumedNextLine(&#8216;* OK&#8217;))<br />
{<br />
echo &#8216;FAIL CONNECT&#8217;;<br />
}<br />
}</p>
<p>function getTag()<br />
{<br />
$this-&gt;tag	= $this-&gt;tag +1;<br />
$this-&gt;_lastTag	= &#8220;A000&#8243;.$this-&gt;tag;</p>
<p>return $this-&gt;tag;<br />
}</p>
<p>function login($username, $pass)<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; LOGIN &#8220;.$username.&#8221; &#8220;.$pass.&#8221;\r\n&#8221;);<br />
if(!$this-&gt;_assumedNextLine($this-&gt;_lastTag))<br />
{</p>
<p>}<br />
}</p>
<p>function selectMailBox($mailbox)<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; SELECT &#8220;.$mailbox.&#8221;\r\n&#8221;);<br />
$this-&gt;currentMailbox	= $mailbox;</p>
<p>$this-&gt;readResponse($this-&gt;_lastTag);<br />
}</p>
<p>function countMessages()<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; SEARCH ALL\r\n&#8221;);<br />
$response	= $this-&gt;readResponse($this-&gt;_lastTag);</p>
<p>foreach($response as $id)<br />
{<br />
if($id[0] == &#8220;S&#8221;)<br />
{<br />
$count	= count_chars($id, 1);<br />
}<br />
}<br />
return $count[32];<br />
}</p>
<p>public function getSubject($msgId)<br />
{<br />
if(empty($msgId))<br />
{<br />
return false;<br />
}</p>
<p>$this-&gt;fetch($msgId.&#8221; BODY[HEADER.FIELDS (subject)]&#8220;);</p>
<p>$array	= array();<br />
while(!$this-&gt;readLine($tokens, $this-&gt;_lastTag))<br />
{<br />
if(!empty($tokens) &amp;&amp; preg_match(&#8220;/FETCH/&#8221;, $tokens))<br />
{<br />
$msgId	= preg_split(&#8220;/ /&#8221;, $tokens, 2);<br />
$msgId	= $msgId[0];<br />
}<br />
if(!empty($tokens) &amp;&amp; !preg_match(&#8220;/FETCH/&#8221;, $tokens))<br />
{<br />
$array[]	= array(&#8220;id&#8221;		=&gt; $msgId,<br />
&#8220;subject&#8221;	=&gt; $tokens);<br />
}<br />
}<br />
return mb_decode_mimeheader($array[0]['subject']);</p>
<p>}</p>
<p>public function getMsgText($msgId=&#8221;")<br />
{<br />
if(empty($msgId))<br />
{<br />
return false;<br />
}</p>
<p>$this-&gt;fetch($msgId.&#8221; BODY[TEXT]&#8220;);</p>
<p>$array		= array();<br />
$array[]	= &#8220;=?ISO-8859-1?Q?&#8221;;<br />
while(!$this-&gt;readLine($tokens, $this-&gt;_lastTag, $tag))<br />
{<br />
$array[]	.= $tag.&#8217; &#8216;.$tokens;<br />
}<br />
//Löschen der 1. und letzten Response<br />
unset($array[1]);				//FETCH<br />
unset($array[count($array)]);	//Klammer</p>
<p>$array = array_values($array);</p>
<p>//Array2String<br />
$array	= implode(&#8221;, $array);</p>
<p>//Decodieren und Zeilenumbrüche setzten<br />
return nl2br(mb_decode_mimeheader($array));<br />
}</p>
<p>public function getFromOrTo($msgId=&#8221;", $fromOrTo=&#8221;")<br />
{<br />
if(empty($msgId) || empty($fromOrTo))<br />
{<br />
return false;<br />
}</p>
<p>$this-&gt;fetch($msgId.&#8221; BODY[HEADER.FIElDS (".$fromOrTo.")]&#8220;);</p>
<p>while(!$this-&gt;readLine($tokens, $this-&gt;_lastTag))<br />
{<br />
if(!isset($return) &amp;&amp; !preg_match(&#8216;/FETCH/&#8217;, $tokens))<br />
{<br />
$return	= htmlspecialchars($tokens);<br />
}<br />
}<br />
return mb_decode_mimeheader($return);<br />
}</p>
<p>private function fetch($command, $param=false)<br />
{<br />
if(!$param)<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; FETCH &#8220;.$command.&#8221;\r\n&#8221;);<br />
}<br />
else<br />
{<br />
fwrite($this-&gt;sock, &#8220;A000&#8243;.$this-&gt;getTag().&#8221; FETCH &#8220;.$command.&#8221; &#8220;.$param.&#8221;\r\n&#8221;);<br />
}<br />
}</p>
<p>function _nextLine()<br />
{<br />
$line = @fgets($this-&gt;sock);<br />
if ($line === false)<br />
{<br />
echo &#8216;FAIL!!&#8217;;<br />
return false;<br />
}<br />
return $line;<br />
}</p>
<p>protected function _assumedNextLine($start)<br />
{<br />
$line = $this-&gt;_nextLine();<br />
return strpos($line, $start) === 0;<br />
}</p>
<p>public function readLine(&amp;$tokens = array(), $wantedTag = &#8216;*&#8217;, &amp;$tag=&#8221;")<br />
{<br />
$line = $this-&gt;_nextTaggedLine($tag);<br />
$tokens = $line;<br />
$tag	= $tag;</p>
<p>if(($tag == &#8220;A000&#8243;.$this-&gt;tag) || ($tag == $wantedTag))<br />
{<br />
return $tag;<br />
}<br />
}</p>
<p>public function readResponse($tag=&#8221;*&#8221;)<br />
{<br />
if($tag	== &#8220;lastTag&#8221;)<br />
{<br />
$tag	= $this-&gt;_lastTag;<br />
}<br />
$lines = array();<br />
while (!$this-&gt;readLine($tokens, $tag)) {<br />
$lines[] = $tokens;<br />
}</p>
<p>return $lines;<br />
}</p>
<p>protected function _nextTaggedLine(&amp;$tag)<br />
{<br />
$line = $this-&gt;_nextLine();</p>
<p>// seperate tag from line<br />
@list($tag, $line) = explode(&#8216; &#8216;, $line, 2);</p>
<p>return $line;<br />
}<br />
}</p></blockquote>
<p>Vielleicht kann diese Klasse ja jemanden Helfen, der ein ähnliches Problem hat, ich würde mich dann auf jeden Fall über ein Kommentar freuen.</p>
<p>Ich muss dazu sagen, das ich bei meiner Suche natürlich auch auf andere Klassen gestoßen bin, welche bei mir jedoch alle nicht Problemlos liefen. Dazu kommt, das ich natürlich gerne weiß, was mein Programm macht und ich in den Ferien auch Zeit dafür habe, so etwas selbst zu schreiben.</p>
<p>Kleiner Tipp noch am Rande, wer plant auch einige eigene Klasse zu schreiben, dem kann <a href="http://www.wireshark.org/">Wireshark</a> echt gut helfen!<br />
Ich hatte zum Beispiel das Problem, das schon die 2. Anfrage gesendet wurde, bevor die 1. Anfrage zurück kam, trotz eines <em>sleep(2)</em>, solche Fehler kann man eher schlecht aus einer Protokolldokumentation entnehmen. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Achja, hier noch die Klassen, die ich so ausprobiert habe und von welchen Einflüsse in meinem Code sind:</p>
<p>Zend Mail aus dem Zend Framework + <a href="http://www.phpgangsta.de/imap-emails-lesen-mit-dem-zend-framework">diese Anleitung von PHP Gangsta</a></p>
<p>Net_IMAP aus der PEAR Bibliothek.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/08/03/imap-via-fsockopen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hol dir den Öl Teppich direkt nach Hause!</title>
		<link>http://blog.andreflemming.de/2010/06/08/hol-dir-den-oel-teppich-direkt-nach-hause/</link>
		<comments>http://blog.andreflemming.de/2010/06/08/hol-dir-den-oel-teppich-direkt-nach-hause/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 14:06:40 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Aktion]]></category>
		<category><![CDATA[BP]]></category>
		<category><![CDATA[Chaos]]></category>
		<category><![CDATA[Karte]]></category>
		<category><![CDATA[Öl Teppich]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Solingen]]></category>
		<category><![CDATA[Umwelt]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=662</guid>
		<description><![CDATA[Was sich so komisch und irgendwie auch lustig anhört, soll einem nur Verdeutlichen wie groß die Schäden eigentlich sind und wie weit sich der Öl Teppich schon im Golf von Mexiko ausgebreitet hat. Seit vielen Tagen sprudelt Öl aus dem Leck im Golf von Mexiko, dazu muss ich ja wohl nichts mehr sagen, sollte jeder [...]]]></description>
			<content:encoded><![CDATA[<p>Was sich so komisch und irgendwie auch lustig anhört, soll einem nur Verdeutlichen wie groß die Schäden eigentlich sind und wie weit sich der Öl Teppich schon im Golf von Mexiko ausgebreitet hat.</p>
<p>Seit vielen Tagen sprudelt Öl aus dem Leck im Golf von Mexiko, dazu muss ich ja wohl nichts mehr sagen, sollte jeder von euch in den Nachrichten mit bekommen haben.</p>
<p>Eben bin ich auf die Seite <a href="http://IfItWasMyHome.com ">IfItWasMyHome.com</a> gestoßen. Dort kann man den Ölteppich beliebig verschieben. Und somit zum Beispiel gucken welche Städte der Ölteppich so überdecken würde, wenn die Öl Plattform in seiner Heimatstadt untergegangen wäre.</p>
<p>Ich hoffe, man kann sich dann besser Vorstellen, welche Ausmaße der Ölteppich hat.</p>
<p>Schon krass, wenn man sich das ganze mal in einer relativ bekannten Umgebung anguckt!</p>
<p>Ich habe das ganze mal für Solingen ausprobiert und folgendes kam dabei raus:</p>
<p><a href="http://blog.andreflemming.de/wp-content/uploads/2010/06/oel_teppich_solingen.jpeg"><img class="aligncenter size-full wp-image-663" title="Öl Teppich aus Solingen" src="http://blog.andreflemming.de/wp-content/uploads/2010/06/oel_teppich_solingen.jpeg" alt="" width="801" height="504" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/06/08/hol-dir-den-oel-teppich-direkt-nach-hause/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatisch erkennen ob Feld Pflichtfeld ist [JQuery]</title>
		<link>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/</link>
		<comments>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 00:12:11 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wochenende]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Formular]]></category>
		<category><![CDATA[Hilfe]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=633</guid>
		<description><![CDATA[Ich hatte grade mal wieder etwas langeweile und wollte daher bei einem Projekt eine neue Funktion mit einbauen, die das Absenden eines Formulares verhindert, wenn in diesem nicht alle Felder die mit einem * gekennzeichnet sind ausgefüllt sind. Natürlich geht das ganze nur wenn Javascript eingeschaltet ist, aber das PHP Skript, hat ja eh noch [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte grade mal wieder etwas langeweile und wollte daher bei einem Projekt eine neue Funktion mit einbauen, die das Absenden eines Formulares verhindert, wenn in diesem nicht alle Felder die mit einem * gekennzeichnet sind ausgefüllt sind. Natürlich geht das ganze nur wenn Javascript eingeschaltet ist, aber das PHP Skript, hat ja eh noch einen Abfrage ob die Daten auch das richtige Format haben.</p>
<p>Natürlich könnte man für jedes Formular eine eigene Javascript Datei schreiben, in welcher man jedes Formularfeld prüfen lässt, welches Ausgefüllt werden muss. Da mir das aber zu viel Arbeit ist, habe ich mir gedacht ich lese einfach mittels Javascript alle &lt;label&gt; Felder aus, welche in ihrem Text ein * besitzen.</p>
<p>Das ganze habe ich mit dem Javascript Framework <a href="http://jquery.com" target="_blank">JQuery</a> realisiert.</p>
<p>Erst einmal ein Beispiel Formular:<br />
<code><br />
&lt;form method="post"&gt;<br />
&lt;label for="vorname"&gt;Vorname *&lt;/label&gt;<br />
&lt;input type="text" name="vorname" /&gt;&lt;br/&gt;<br />
&lt;label for="nachname"&gt;Nachname&lt;/label&gt;<br />
&lt;input type="text" name="nachname" /&gt;&lt;br/&gt;<br />
&lt;label for="gebDatum"&gt;Geburtsdatum *&lt;/label&gt;<br />
&lt;input type="text" name="gebDatum" /&gt;&lt;br/&gt;<br />
&lt;input type="submit" name="submit" value="Absenden" /&gt;<br />
&lt;/form&gt;</code></p>
<p>In diesem Formular sollen also der Vorname und das Geburtsdatum angegeben werden. Um zu überprüfen ob diese Daten wirklich eingetragen wurden, benötigen wir nun noch ein kleines Javascript. (Achtung: JQuery muss natürlich schon eingebunden sein)</p>
<p><code>&lt;script type="text/javascript"&gt;<br />
$('input[type="submit"]').click(function() //Ausgeführt wenn submit-Button gedrückt<br />
{<br />
var    error    = false;<br />
var form    = $('form').children($(this)); //Suchen des Formulars<br />
var    label    = $(form).find('label:contains("*")'); //Finden der Label-Felder mit einem *<br />
$(label).each(function(index)<br />
{<br />
var name    = $(this).attr('for'); //Suche Namen für input-Feld<br />
if($('input[name='+name+']').val() == "") //Wenn input-Feld leer<br />
{<br />
error    = true;<br />
$('input[name='+name+']').addClass('inputError'); //Hinzufügen von CSS-Klasse<br />
}<br />
});<br />
if(error == true)<br />
{ //Nicht alle Felder ausgefüllt<br />
return false;<br />
}<br />
else<br />
{<br />
return true;<br />
}<br />
});<br />
&lt;/script&gt;</code></p>
<p>Mit diesem kleinen, aber meiner Meinung nach sehr hilfreichen Codeschnipsel kann man sich einiges an Arbeit sparen und dem User einiges an Wartezeit, da die Seite ja nicht erst neu geladen werden muss, bevor er angezeigt bekommt, das er einen Fehler gemacht hat.</p>
<p>Bestimmt kann man an diesem Skript noch viel verbessern, aber es erfüllt erst einmal Sinn und Zweck. Wenn jemand noch einen besseren Vorschlag hat, dann wäre ich dankbar diesen zu bekommen.</p>
<p>[Leider will WordPress den Code nicht so schön speichern wie er ursprünglich war <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Ich hoffe ihr könnt ihn trotzdem lesen]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2010/03/27/automatisch-erkennen-ob-feld-pflichtfeld-ist-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mal wieder ein Stöckchen</title>
		<link>http://blog.andreflemming.de/2009/12/16/mal-wieder-ein-stoeckchen/</link>
		<comments>http://blog.andreflemming.de/2009/12/16/mal-wieder-ein-stoeckchen/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 14:31:30 +0000</pubDate>
		<dc:creator>André</dc:creator>
				<category><![CDATA[Alltag]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Blogsystem]]></category>
		<category><![CDATA[Privat]]></category>
		<category><![CDATA[Stöckchen]]></category>

		<guid isPermaLink="false">http://blog.andreflemming.de/?p=585</guid>
		<description><![CDATA[Und ein weiteres Mal habe ich ein Stöcken zu geworfen bekommen. Mein erstes Stöckchen war von Chriz in diesem Stöckchen sollte ich einige Sachen die ihr bisher nicht über mich wusstet aufschreiben. In dem Aktuellen Stöckchen was ich von Herr Schmidt bekommen habe, geht es mehr ums Bloggen, daher hoffe ich das ich diesmal auch [...]]]></description>
			<content:encoded><![CDATA[<p>Und ein weiteres Mal habe ich ein Stöcken zu geworfen bekommen.</p>
<p>Mein erstes Stöckchen war von <a href="http://www.chrizblog.de/">Chriz</a> in <a href="http://blog.andreflemming.de/2009/10/12/stoeckchen-7-bisher-geheime-tatsachen-ueber-mich/">diesem Stöckchen</a> sollte ich einige Sachen die ihr bisher nicht über mich wusstet aufschreiben.</p>
<p>In dem Aktuellen Stöckchen was ich von <a href="http://www.herr-schmidt.de/">Herr Schmidt</a> bekommen habe, geht es mehr ums Bloggen, daher hoffe ich das ich diesmal auch mehr schreiben kann! <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also dann mal los.</p>
<p><strong>Warum bloggst du?</strong><br />
Ja das ist eine gute Frage. Im Prinzip nur deswegen, weil ich manchmal zu viel Zeit habe. Ein Blog Eintrag benötigt immer eine Menge Zeit, allerdings hat man auch sehr viel Spaß dabei. Der Hauptgrund wird aber wohl sein, das ich einfach das Bedürfnis habe, Leuten meine Gedanken mitzuteilen, damit diese die Sachen mal aus einer anderen Sichtweise sehen können oder sich überhaupt mal mit einem Thema befassen.</p>
<p><strong>Seit wann bloggst du?</strong><br />
Wer meinen Blog verfolgt, der weiß die Antwort schon. Ich Blogge jetzt seit etwas über einem Jahr, Angefangen hat alles damit, das ich ein Teil der Leiterrunde in unserem Pfadfinderstamm wurde und das natürlich allen Mitteilen musste. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><strong>Warum lesen deine Leser deinen Blog?</strong><br />
Das frage ich mich manchmal auch. Ich mein einige Artikel sind vielleicht ganz in Ordnung, aber das man damit dauerhaft einen guten Besucherdurchschnitt hat, das verstehe ich bis heute nicht. Ich gehe einfach mal davon aus, das die Leute zu viel Zeit haben. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  (Wer mir da eine andere Antwort geben kann, soll das doch bitte in ein Kommentar packen)</p>
<p><strong>Welche war die letzte Suchanfrage, über die jemand auf deine Seite kam?</strong><br />
Oh da muss ich mal eben nachgucken. Es war: &#8220;pilotengespräche&#8221;. Also da muss man aber bestimmt lange auf weiter klicken <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Welcher deiner Blogeinträge bekam zu Unrecht zu wenig Aufmerksamkeit?</strong><br />
Ähm ja, das ist natürlich jetzt einer sehr schwere frage, eben habe ich doch schon gesagt, das die meisten Blog einträge von mir nicht so super spannend sind. Aber<span id="more-585"></span> ich hatte eben doch einige Artikel, wo ich sagen würde, die sind Lesenswert, dazu zählt auch der Beitrag &#8220;<a href="http://blog.andreflemming.de/2009/05/14/gratis-pfeffer-spray-frauen-und-kinder-z/">Gratis Pfefferspray – Frauen und Kinder zuerst</a>&#8220;. Der mit 2 Klicks viel zu wenig angeklickt wurde!</p>
<p><strong>Dein aktuelles Lieblingsblog?</strong><br />
Einen Lieblingsblog habe ich bis jetzt noch nicht gefunden, es gibt so viele gute Blogs, die man alle lesen sollte. <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Welches Blog hast du zuletzt gelesen?</strong><br />
Den Blog vom <a href="http://phphacker.net/">phpHacker</a> mit dem Artikel &#8220;<a href="http://phphacker.net/2009/12/16/von-eastereggs-und-wie-man-sie-verstecken-kann/">Von Eastereggs und wie man sie verstecken kann</a>&#8220;, weil dieser Artikel, grade beim schreiben über Twitter rein kam.</p>
<p><strong>Wieviele Feeds hast du gerade im Moment abboniert?</strong><br />
Ein paar, ich guck mal schnell nach. 11 sind es, aber alles nur relativ kleine Blogs, daher kommen nicht so viele Einträge darüber rein.</p>
<p><strong>An welche fünf Blogs wirfst du das Stöckchen weiter und warum?</strong></p>
<p><a href="http://www.chrizblog.de/">Chriz&#8217; Blog</a> &#8211; Weil ich doch echt mal gerne wissen würde, warum er den Bloggt.</p>
<p><a href="http://blog.imerlin.de/">iMerlin</a> &#8211; Dort stehen zwar fast nur Gedichte, aber auch er muss ja eine Motivation dafür haben</p>
<p><a href="http://edding.in/">edding.in</a> &#8211; Meiner Meinung nach viel zu wenig Einträge. Da muss was passieren, weil schlecht ist er nicht. Außerdem auch ein Pfadfinder aus Solingen.</p>
<p><a href="http://wemaflo.net">wemaflo.net</a> &#8211; Wegen dem super schönen Tutorial zu BuddyPress (was ich immer noch nicht am laufen habe, wegen Zeitmangels <img src='http://blog.andreflemming.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ) und den auch sonst guten Artikeln.</p>
<p><a href="http://linuxundich.pytalhost.de/blog">Ein Mädchen erobert Linux Mint</a> &#8211; Sehr kleiner Blog, allerdings schön. Und außerdem von einem Mädchen geschrieben, findet man ja auch nicht so oft.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.andreflemming.de/2009/12/16/mal-wieder-ein-stoeckchen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

