<?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>YourHelpCenter.de &#187; php</title>
	<atom:link href="http://www.yourhelpcenter.de/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yourhelpcenter.de</link>
	<description>Hilfe &#38; Support für IT Probleme</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:17:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PHP: GUID erstellen (flexible Länge und Struktur)</title>
		<link>http://www.yourhelpcenter.de/2010/07/php-guid-erstellen-flexible-lange-und-struktur/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/php-guid-erstellen-flexible-lange-und-struktur/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 17:52:09 +0000</pubDate>
		<dc:creator>Katrin</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[beispiel]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[eindeutige ID]]></category>
		<category><![CDATA[Erklärung]]></category>
		<category><![CDATA[erstellen]]></category>
		<category><![CDATA[erzeugen]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[G-U-I-D]]></category>
		<category><![CDATA[G-UID]]></category>
		<category><![CDATA[GUID]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Muster]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[uniqid]]></category>
		<category><![CDATA[unique ID]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1361</guid>
		<description><![CDATA[Um in PHP eine GUID (Globally Unique Identifier) zu erzeugen (wie Sie sie ggf. aus C# und anderen Programmiersprachen kennen), hilft Ihnen die folgende Funktion weiter: function getGUID&#40;$len = 36&#41; &#123; $tmp = &#34;&#34;; $pos = array&#40;8,13,18,23&#41;; while &#40;strlen&#40;$tmp&#41; &#60; $len&#41; $tmp .= md5&#40;uniqid&#40;&#41;&#41;; foreach &#40;$pos as $p&#41; if &#40;$p &#60;= $len&#41; $tmp&#91;$p&#93; = &#34;-&#34;; [...]]]></description>
			<content:encoded><![CDATA[<p>Um in PHP eine <a title="Was ist eine GUID ?" href="http://de.wikipedia.org/wiki/Globally_Unique_Identifier" target="_blank">GUID</a> (Globally Unique Identifier) zu erzeugen (wie Sie sie ggf. aus C# und anderen Programmiersprachen kennen), hilft Ihnen die folgende Funktion weiter:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> getGUID<span style="color: #009900;">&#40;</span><span style="color: #000088;">$len</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">36</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$tmp</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">13</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">18</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">23</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tmp</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$len</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$tmp</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">uniqid</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$pos</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$len</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;-&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tmp</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #000088;">$len</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ausgabe (Beispiel):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> getGUID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
3470b4e8<span style="color: #339933;">-</span>d6fe<span style="color: #339933;">-</span>1f76<span style="color: #339933;">-</span>6c09<span style="color: #339933;">-</span>0d31828e8a1d
&nbsp;
<span style="color: #b1b100;">echo</span> getGUID<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
8b31eeb6<span style="color: #339933;">-</span>b451<span style="color: #339933;">-</span>a61d<span style="color: #339933;">-</span>f</pre></div></div>

<p>Die Lage der Trennzeichen (&#8220;-&#8221;) können Sie durch das Array &#8220;$pos&#8221; bestimmen, die Länge der GUID durch den Parameter &#8220;$len&#8221;. Wenn Sie keinen Parameter übergeben, ist die GUID automatisch 36 Zeichen lang.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/php-guid-erstellen-flexible-lange-und-struktur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Apache2 Version in Variable auslesen</title>
		<link>http://www.yourhelpcenter.de/2010/07/php-apache2-version-in-variable-auslesen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/php-apache2-version-in-variable-auslesen/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 17:55:32 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Apache WebServer]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[apache2ctl]]></category>
		<category><![CDATA[apache2ctrl]]></category>
		<category><![CDATA[Apacherversion]]></category>
		<category><![CDATA[apachever]]></category>
		<category><![CDATA[auslesen]]></category>
		<category><![CDATA[herausfinden]]></category>
		<category><![CDATA[holen]]></category>
		<category><![CDATA[passthru]]></category>
		<category><![CDATA[Version des Webservers]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=716</guid>
		<description><![CDATA[Damit Sie auf einem Unix (Linux) System einfach die aktuelle Version des Apache WebServers herausfinden können, zeigen wir Ihnen ein PHP-Beispiel. In dem PHP Script wird die Apache-Funktion &#8220;apache2ctl&#8221; genutzt, die die aktuelle Apache-Version auszulesen. Dieser Befehl wird mithilfe des PHP Befehles &#8220;passthru()&#8221; direkt an das Linuxsystem weitergegeben. Hinweis: Häufig ist auf &#8220;öffentlichen&#8221; Webservern aus [...]]]></description>
			<content:encoded><![CDATA[<p>Damit Sie auf einem Unix (Linux) System einfach die aktuelle Version des Apache WebServers herausfinden können, zeigen wir Ihnen ein PHP-Beispiel.</p>
<p>In dem PHP Script wird die Apache-Funktion &#8220;apache2ctl&#8221; genutzt, die die aktuelle Apache-Version auszulesen. Dieser Befehl wird mithilfe des PHP Befehles &#8220;passthru()&#8221; direkt an das Linuxsystem weitergegeben. </p>
<p>Hinweis:<br />
Häufig ist auf &#8220;öffentlichen&#8221; Webservern aus Sicherheitsgründen die Nutzung einiger Befehle gesperrt. Dazu zählt häufig auch der Befehl &#8220;passthru()&#8221;. Wenn das Script bei Ihnen lokal auf dem Computer also einwadnfrei läuft und auf Ihrem Internetserver keine Daten zurück gibt, liegt diese Befehlssperre vor. Eine Möglichkeit, diese Sperre aufzuheben hat nur Ihr Web-Administrator (oder Provider).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// PHP Version auslesen</span>
<span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">passthru</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;apache2ctl -v&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ver</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ob_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ver</span><span style="color: #009900;">&#41;</span> 
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;passthru() disabled ?&quot;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ob_end_clean</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ver</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/(server version: ){1}(.*)/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/(server built:   ){1}(.*)/i'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;d.m.Y H:i:s&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/php-apache2-version-in-variable-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Zugriff von Browsern außerhalb eines IP-Subnetzes unterbinden</title>
		<link>http://www.yourhelpcenter.de/2010/07/php-zugriff-von-browsern-auserhalb-eines-ip-subnetzes-unterbinden/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/php-zugriff-von-browsern-auserhalb-eines-ip-subnetzes-unterbinden/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 17:53:45 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[aussperren]]></category>
		<category><![CDATA[IP Adresse]]></category>
		<category><![CDATA[IP Bereich]]></category>
		<category><![CDATA[IP Filter]]></category>
		<category><![CDATA[IP filtern]]></category>
		<category><![CDATA[nur bestimmte IP Adressen]]></category>
		<category><![CDATA[testen]]></category>
		<category><![CDATA[überprüfen]]></category>
		<category><![CDATA[Zugriffe begrenzen]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1282</guid>
		<description><![CDATA[Mithilfe des folgenden PHP Scripts können Sie Besucher außerhalb des festgelegten IP Bereiches blockieren: 1 2 3 4 5 6 7 8 9 10 11 12 &#60;?php if &#40;strncmp&#40;&#34;192.168.0&#34;, $_SERVER&#91;&#34;REMOTE_ADDR&#34;&#93;, 9&#41; != 0&#41; &#123; // Block access header&#40;&#34;HTTP/1.0 403 Forbidden&#34;&#41;; // header('Location: http://www.google.com'); exit; &#125; else &#123; // Allow access echo &#34;Zugriff erlaubt ...&#34;; &#125; [...]]]></description>
			<content:encoded><![CDATA[<p>Mithilfe des folgenden PHP Scripts können Sie Besucher außerhalb des festgelegten IP Bereiches blockieren:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strncmp</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;192.168.0&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// Block access</span>
  <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP/1.0 403 Forbidden&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #666666; font-style: italic;">// header('Location: http://www.google.com');</span>
  <span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// Allow access</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Zugriff erlaubt ...&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>In diesem Beispiel werden alle Besucher, deren IP Adresse nicht mit &#8220;192.168.0&#8243; anfängt, blockiert. </p>
<p>Dieser IP Bereich wird nur LAN intern verwendet. Für die Filterung von Besuchern aus dem WAN (Internet) filtern Sie bitte auf die öffentliche IP Adresse Ihrer Webseitenbesucher. Passen Sie dabei auch die Länge der zu vergleichenden Zeichen an (im o.a. Beispiel werden die ersten 9 Zeichen verglichen). Diese können Sie sich mithilfe des folgenden PHP Scripts anzeigen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/php-zugriff-von-browsern-auserhalb-eines-ip-subnetzes-unterbinden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLite: Datenbank erstellen, Tabellen erstellen, Daten einfügen &amp; Daten abfragen</title>
		<link>http://www.yourhelpcenter.de/2010/07/sqlite-datenbank-erstellen-tabellen-erstellen-daten-einfugen-daten-abfragen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/sqlite-datenbank-erstellen-tabellen-erstellen-daten-einfugen-daten-abfragen/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 18:46:17 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[anleitung]]></category>
		<category><![CDATA[auslesen]]></category>
		<category><![CDATA[beispiel]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[Datei erstellen]]></category>
		<category><![CDATA[Datenbank erstellen]]></category>
		<category><![CDATA[Einführung]]></category>
		<category><![CDATA[einrichten]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[Muster]]></category>
		<category><![CDATA[Schritt für Schritt]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[SQL Lite]]></category>
		<category><![CDATA[SQL-light]]></category>
		<category><![CDATA[sqlight]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[SQLlite]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[Verbindungsaufbau]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1296</guid>
		<description><![CDATA[Um eine kurze Einführung in die SQLite Datenbank zu bekommen, hilft Ihnen folgendes PHP-Script: Das Beispiel zeigt Ihnen, wie Sie zuerst eine Datenbankverbindung aufbauen (dadurch automatisch auch die Datenbankdatei erstellen) und anschließend zwei Tabellen erstellen. Danach wird jeweils ein Datensatz in eine Tabelle eingefügt und im letzten Schritt wieder zusammen ausgelesen (joind). 1 2 3 [...]]]></description>
			<content:encoded><![CDATA[<p>Um eine kurze Einführung in die <a title="Homepage SQLite" href="http://www.sqlite.org/" target="_blank">SQLite Datenbank</a> zu bekommen, hilft Ihnen folgendes PHP-Script:</p>
<p>Das Beispiel zeigt Ihnen, wie Sie zuerst eine Datenbankverbindung aufbauen (dadurch automatisch auch die Datenbankdatei erstellen) und anschließend zwei Tabellen erstellen. Danach wird jeweils ein Datensatz in eine Tabelle eingefügt und im letzten Schritt wieder zusammen ausgelesen (joind).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Datenbank anlegen (Dateiname: &quot;test.dat&quot;)</span>
<span style="color: #000088;">$db</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sqlite_open</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;test.dat&quot;</span><span style="color: #339933;">,</span> <span style="color: #208080;">0660</span><span style="color: #339933;">,</span> <span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Die Tabellen anlegen: &quot;kunde&quot; und &quot;domain&quot;</span>
<span style="color: #990000;">sqlite_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'CREATE TABLE kunde (id integer PRIMARY KEY, code varchar(10))'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">sqlite_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'CREATE TABLE domain (id integer, kunde integer, name varchar(10))'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Datensätze einfügen</span>
<span style="color: #990000;">sqlite_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;INSERT INTO kunde (code) VALUES ('fnord')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">sqlite_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;INSERT INTO domain (id,kunde,name) VALUES (1, 1, 'www.webseite.de')&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Daten verbinden und abfragen</span>
<span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sqlite_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$db</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'select * from kunde k left join domain d on d.kunde = k.id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sqlite_fetch_all</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span> SQLITE_ASSOC<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Ergebnis anzeigen</span>
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>In unserem Beispiel hat die Datenbank den Dateinamen &#8220;test.dat&#8221;. In der Wahl des Dateinamens sind Sie nur an die Restriktionen Ihres Betriebssystems gebunden. Häufig wird jedoch auch der Suffix &#8220;.sqlite&#8221; genutzt. (Suffix = Dateiendung)</p>
<p>Um die auf Ihrem System aktuell genutzte Version von SQLite auszulesen, nutzen Sie folgenden Befehl:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #990000;">sqlite_libversion</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Wenn Sie die derzeit eingestellte Codierung herausfinden möchten:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #990000;">sqlite_libencoding</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/sqlite-datenbank-erstellen-tabellen-erstellen-daten-einfugen-daten-abfragen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Alter anhand des Geburtstags berechnen</title>
		<link>http://www.yourhelpcenter.de/2010/07/php-alter-anhand-des-geburtstags-berechnen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/php-alter-anhand-des-geburtstags-berechnen/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 09:16:23 +0000</pubDate>
		<dc:creator>Tumichnix</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Alter]]></category>
		<category><![CDATA[Alter in Jahren]]></category>
		<category><![CDATA[berechnen]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[Codesnippet]]></category>
		<category><![CDATA[Geburtstag]]></category>
		<category><![CDATA[Schnipsel]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[sourcecode]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1143</guid>
		<description><![CDATA[Mit der folgenden PHP-Funktion könnten Sie anhand des Geburtstags das aktuelle Alter in Jahren ermitteln. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /** * Ermittelt das aktuelle Alter anhand einess Datums * @param string $birthday Der Geburstag im Format YYYY-MM-DD * @param string $delimiter Trennzeichen * @return [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der folgenden PHP-Funktion könnten Sie anhand des Geburtstags das aktuelle Alter in Jahren ermitteln.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
* Ermittelt das aktuelle Alter anhand einess Datums
* @param string $birthday Der Geburstag im Format YYYY-MM-DD
* @param string $delimiter Trennzeichen
* @return integer Das Alter in Jahren
*/</span>
<span style="color: #000000; font-weight: bold;">function</span> getAgeFromBirthday<span style="color: #009900;">&#40;</span><span style="color: #000088;">$birthday</span><span style="color: #339933;">,</span> <span style="color: #000088;">$delimiter</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'-'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$birthday</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$exp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$delimiter</span><span style="color: #339933;">,</span> <span style="color: #000088;">$birthday</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">3</span> <span style="color: #339933;">||</span> <span style="color: #339933;">!</span><span style="color: #990000;">checkdate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$age</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;m&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;m&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$exp</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;d&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$age</span><span style="color: #339933;">--;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$age</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Der Aufruf könnte z.B. so ausschauen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span>getAgeFromBirthday<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'1995-06-08'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/php-alter-anhand-des-geburtstags-berechnen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Fatal error: Call to undefined function imap_open()</title>
		<link>http://www.yourhelpcenter.de/2010/05/linux-fatal-error-call-to-undefined-function-imap_open/</link>
		<comments>http://www.yourhelpcenter.de/2010/05/linux-fatal-error-call-to-undefined-function-imap_open/#comments</comments>
		<pubDate>Fri, 07 May 2010 18:54:48 +0000</pubDate>
		<dc:creator>Günther</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Apache WebServer]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Fatal error: Call to undefined function imap_open()]]></category>
		<category><![CDATA[Horde]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[Mailprogramm]]></category>
		<category><![CDATA[php-imap]]></category>
		<category><![CDATA[phpimap]]></category>
		<category><![CDATA[undefined function imap_open()]]></category>
		<category><![CDATA[Webmail]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1019</guid>
		<description><![CDATA[Wenn Sie beispielsweise nach der Installation des Webmailprogrammes &#8220;Horde&#8221; die folgende Meldung angezeigt bekommen, kann Ihnen dieser Artikel helfen: Fatal error: Call to undefined function imap_open() Grund für die Meldung ist die fehlende IMAP Unterstützung in PHP. In diesem Artikel erkläre ich die Lösung für Linux Debian lenny (V5). Andere Systeme benötigen teilweise einen kompletten [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn Sie beispielsweise nach der Installation des Webmailprogrammes &#8220;Horde&#8221; die folgende Meldung angezeigt bekommen, kann Ihnen dieser Artikel helfen:</p>
<pre>Fatal error: Call to undefined function imap_open()</pre>
<p>Grund für die Meldung ist die fehlende IMAP Unterstützung in PHP. In diesem Artikel erkläre ich die Lösung für Linux Debian lenny (V5). Andere Systeme benötigen teilweise einen kompletten Neubau von PHP (= Neucompilierung / Recompiling).</p>
<p>Zuerst muss das fehlende Paket instelliert werden:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">apt-get install php5-imap</pre></div></div>

<p>Ihnen werden Details angezeig und am Ende werden Sie gefragt:</p>
<pre>Do you want to continue? [Y/n/?]</pre>
<p>Hier antworten Sie bitte mit &#8220;y&#8221;.</p>
<p>Die automatische Installation beginnt und kann einen kurzen Moment brauchen.<br />
Wichtig ist, dass Sie danach Ihren Apache Webserver mit einem der beiden folgenden Befehle neu starten:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">apache2ctl graceful
/usr/sbin/apache2ctl graceful</pre></div></div>

<p>Fertig.</p>
<p>Beim Einsatz von Horde haben wir teilweise die Cookies im Browser löschen müssen. Außerdem half häufig auch das Umsetzen der Cookie-Verarbeitung. Weitere Details finden Sie in unserem Artikel &#8220;<a href="http://www.yourhelpcenter.de/2010/05/horde-nach-dem-erfolgreichen-login-wird-wieder-der-login-angezeigt/">Horde: Nach dem erfolgreichen Login wird wieder der Login angezeigt</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/05/linux-fatal-error-call-to-undefined-function-imap_open/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Horde: Nach dem erfolgreichen Login wird wieder der Login angezeigt</title>
		<link>http://www.yourhelpcenter.de/2010/05/horde-nach-dem-erfolgreichen-login-wird-wieder-der-login-angezeigt/</link>
		<comments>http://www.yourhelpcenter.de/2010/05/horde-nach-dem-erfolgreichen-login-wird-wieder-der-login-angezeigt/#comments</comments>
		<pubDate>Tue, 04 May 2010 19:52:54 +0000</pubDate>
		<dc:creator>Günther</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Anmeldebildschirm]]></category>
		<category><![CDATA[Anmeldemaske]]></category>
		<category><![CDATA[anmelden]]></category>
		<category><![CDATA[Anmeldung]]></category>
		<category><![CDATA[endlos]]></category>
		<category><![CDATA[funktioniert nicht]]></category>
		<category><![CDATA[geht nicht]]></category>
		<category><![CDATA[Horde]]></category>
		<category><![CDATA[immer wieder]]></category>
		<category><![CDATA[loggen]]></category>
		<category><![CDATA[Login]]></category>
		<category><![CDATA[Loginbildschirm]]></category>
		<category><![CDATA[Loginmaske]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1021</guid>
		<description><![CDATA[Sie melden sich an Ihrem neu installieren Horde Webmailer an. Benutzername und Passwort sind richtig &#8211; und trotzdem landen Sie immer wieder sofort auf der Loginmaske ? Im Horde Log (&#8220;/tmp/horde.log&#8221;) werden Ihnen die erfolgreichen Anmeldungen angezeigt: May 01 21:54:22 HORDE [notice] [imp] Login success for xyz [100.200.200.200] to {localhost:143 [imap/notls]} [pid 11828 on line [...]]]></description>
			<content:encoded><![CDATA[<p>Sie melden sich an Ihrem neu installieren Horde Webmailer an. Benutzername und Passwort sind richtig &#8211; und trotzdem landen Sie immer wieder sofort auf der Loginmaske ?</p>
<p>Im Horde Log (&#8220;/tmp/horde.log&#8221;) werden Ihnen die erfolgreichen Anmeldungen angezeigt:</p>

<div class="wp_syntax"><div class="code"><pre class="log" style="font-family:monospace;">May 01 21:54:22 HORDE [notice] [imp] Login success for xyz [100.200.200.200] to {localhost:143 [imap/notls]} [pid 11828 on line 307 of &quot;/home/servername/domains/webmail.servername.de/public_html/imp/lib/Session.php&quot;]
May 01 21:56:31 HORDE [notice] [imp] Login success for xyz [100.200.200.200] to {localhost:143 [imap/notls]} [pid 11828 on line 307 of &quot;/home/servername/domains/webmail.servername.de/public_html/imp/lib/Session.php&quot;]
May 01 21:59:49 HORDE [notice] [imp] Login success for xyz [100.200.200.200] to {localhost:143 [imap/notls]} [pid 11828 on line 307 of &quot;/home/servername/domains/webmail.servername.de/public_html/imp/lib/Session.php&quot;]</pre></div></div>

<p>Grund und Lösung ist meist die Cookie-Verarbeitung von Horde. Diese können Sie jedoch schnell und einfach umstellen.</p>
<p>Öffnen Sie dafür die Konfigurationsdatei von Horde:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">nano /public_html/config/conf.php</pre></div></div>

<p>Dort setzen Sie die folgende Option auf false:</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">$conf['session']['use_only_cookies'] = false;</pre></div></div>

<p>Speichern Sie die Datei ab, löschen Sie alle Cookies in Ihrem Browser und melden Sie sich erneut bei Ihrem Horde Webmailer an.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/05/horde-nach-dem-erfolgreichen-login-wird-wieder-der-login-angezeigt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP: Zufallszeichenkette erzeugen (random string)</title>
		<link>http://www.yourhelpcenter.de/2010/03/php-zufallszeichenkette-erzeugen-random-string/</link>
		<comments>http://www.yourhelpcenter.de/2010/03/php-zufallszeichenkette-erzeugen-random-string/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 05:22:57 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[alphanumeric]]></category>
		<category><![CDATA[alphanumerisch]]></category>
		<category><![CDATA[chars]]></category>
		<category><![CDATA[concat]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[definieren]]></category>
		<category><![CDATA[erstellen]]></category>
		<category><![CDATA[erzeugen]]></category>
		<category><![CDATA[pool]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[strings]]></category>
		<category><![CDATA[zeichenkette]]></category>
		<category><![CDATA[zeichenpool]]></category>
		<category><![CDATA[zufallsgenerator]]></category>
		<category><![CDATA[zufällugen zeichen]]></category>
		<category><![CDATA[zusammenbauen]]></category>
		<category><![CDATA[zusammenstellen]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=924</guid>
		<description><![CDATA[Um eine Zeichenkette (string) mit zufälligen Zeichen zu erzeugen, können Sie folgende PHP Funktion nutzen: 1 2 3 4 5 6 7 8 9 10 // Zufallsgenerator schütteln mt_srand&#40;&#40;double&#41; microtime&#40;&#41; * 1000000&#41;; &#160; // Basiszeichenpool $set = &#34;ABCDEFGHIKLMNPQRSTUVWXYZ123456789&#34;; $pin = &#34;&#34;; &#160; // 10 stelligen PIN aus den o.a. Zeichen erzeugen for &#40;$n=1;$n&#60;=10;$n++&#41; $pin .= [...]]]></description>
			<content:encoded><![CDATA[<p>Um eine Zeichenkette (string) mit zufälligen Zeichen zu erzeugen, können Sie folgende PHP Funktion nutzen:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Zufallsgenerator schütteln</span>
<span style="color: #990000;">mt_srand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>double<span style="color: #009900;">&#41;</span> <span style="color: #990000;">microtime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">1000000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #666666; font-style: italic;">// Basiszeichenpool</span>
<span style="color: #000088;">$set</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;ABCDEFGHIKLMNPQRSTUVWXYZ123456789&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$pin</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// 10 stelligen PIN aus den o.a. Zeichen erzeugen</span>
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$n</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><span style="color: #000088;">$n</span><span style="color: #339933;">&lt;=</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span><span style="color: #000088;">$n</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000088;">$pin</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$set</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">mt_rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$set</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Natürlich geht das o.a. PHP Script auch für längere Zeichenketten. Ersetzen Sie einfach die &#8220;10&#8243; (Zeile 9) durch die gewünschte Anzahl an Zeichen.</p>
<p>In der Variablen &#8220;set&#8221; (Zeile 5) können Sie die Zeichen festlegen, aus denen der Zufallsgenerator Ihre Zeichenkette erstellen soll.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/03/php-zufallszeichenkette-erzeugen-random-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: In PHP vor SQL Injection schützen</title>
		<link>http://www.yourhelpcenter.de/2010/03/mysql-in-php-vor-sql-injection-schutzen/</link>
		<comments>http://www.yourhelpcenter.de/2010/03/mysql-in-php-vor-sql-injection-schutzen/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 19:55:31 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[angriffe]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[fast]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[injektion]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[schadhafte Anweisungen]]></category>
		<category><![CDATA[schutz]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=910</guid>
		<description><![CDATA[Wie wir in unserem Artikel &#8220;mySQL: Schutz vor Angriffen in Datenbankabfragen (SQL Injection)&#8221; bereits erklärt haben, ist es vergleichsweise einfach möglich, durch ungesicherte bzw. ungeprüfte Parameter schadhaften oder zerstörenden Code in Ihre SQL Statements einzufügen. Wie Sie sich z.Bsp. in PHP einfach und schnell gegen solche Angriffe schützen können, zeigt folgender Codeausschnitt: 1 2 foreach [...]]]></description>
			<content:encoded><![CDATA[<p>Wie wir in unserem Artikel &#8220;<a title="Permanenter Link: mySQL: Schutz vor Angriffen in Datenbankabfragen (SQL Injection)" href="../2009/06/mysql-schutz-vor-angriffen-in-datenbankabfragen-sql-injection/">mySQL: Schutz vor Angriffen in Datenbankabfragen (SQL Injection)</a>&#8221; bereits erklärt haben, ist es vergleichsweise einfach möglich, durch ungesicherte bzw. ungeprüfte Parameter schadhaften oder zerstörenden Code in Ihre SQL Statements einzufügen.</p>
<p>Wie Sie sich z.Bsp. in PHP einfach und schnell gegen solche Angriffe schützen können, zeigt folgender Codeausschnitt:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_REQUEST</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span>
  <span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$key</span>&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_real_escape_string</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Es werden alle übergebenen Parameter (GET und POST) durch die mySQL Funktion &#8220;mysql_real_escape_string&#8221; überarbeitet. Dadurch werden die für eine Injektion benötigten Zeichen unschädlich gemacht und der Datenbankserver wird im Normalfall mit der &#8220;kaputten&#8221; SQL Anweisung nichts anfangen können.</p>
<p>Für weitere Informationen zum Thema SQL Injektion besuchen Sie bitte unseren o.a. Artikel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/03/mysql-in-php-vor-sql-injection-schutzen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ExtJS: Fehler &#8220;unterminated string literal&#8221; bei .load()</title>
		<link>http://www.yourhelpcenter.de/2010/02/extjs-fehler-unterminated-string-literal-bei-load/</link>
		<comments>http://www.yourhelpcenter.de/2010/02/extjs-fehler-unterminated-string-literal-bei-load/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 06:46:35 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Ext JS]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[#10]]></category>
		<category><![CDATA[#13]]></category>
		<category><![CDATA[chr(13)]]></category>
		<category><![CDATA[CR LF]]></category>
		<category><![CDATA[don't stop]]></category>
		<category><![CDATA[endless]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[ewig]]></category>
		<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[linebreak]]></category>
		<category><![CDATA[loop]]></category>
		<category><![CDATA[new line]]></category>
		<category><![CDATA[runs]]></category>
		<category><![CDATA[unterminated string literal]]></category>
		<category><![CDATA[zeilenumbruch]]></category>
		<category><![CDATA[\n]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=839</guid>
		<description><![CDATA[Wenn Sie auf Ihrer Webseite mit Ext JS und der Funktion &#8220;xyz.open()&#8221; Daten nachladen, kann es vorkommen, dass Ihre Maske die Daten nicht zeigt und der Ladevorgang nicht beendet wird. Sie sehen dann (sofern Sie es aktiviert haben) die Lademeldung weiterhin auf dem Bildschirm. Die Meldung in der Fehlerkonsole des Browsers lautet (z.Bsp.): Fehler: unterminated [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn Sie auf Ihrer Webseite mit <a title="Ext JS Source" href="http://www.extjs.com/" target="_blank">Ext JS</a> und der Funktion &#8220;xyz.open()&#8221; Daten nachladen, kann es vorkommen, dass Ihre Maske die Daten nicht zeigt und der Ladevorgang nicht beendet wird. Sie sehen dann (sofern Sie es aktiviert haben) die Lademeldung weiterhin auf dem Bildschirm.</p>
<p>Die Meldung in der Fehlerkonsole des Browsers lautet (z.Bsp.):</p>
<p>Fehler: unterminated string literal<br />
Quelldatei: http://localhost/ext/ext-all.js<br />
Zeile: 7, Spalte: 73<br />
Quelltext:<br />
({&#8220;count&#8221;:1,&#8221;success&#8221;:true,&#8221;items&#8221;:[{&#8220;id&#8221;:1234,&#8221;ref&#8221;:&#8221;",&#8221;txt&#8221;:&#8221;Shell</p>
<p>Grund für den Fehler ist dann meist ein Zeilenumbruch (CRLF) im Text (hier in der Variablen &#8220;txt&#8221;).</p>
<p>Diesen umbruch kann das JSON Format zwar an Ihre Anwendung übertragen, JavaScript kommt damit dann aber nicht zurecht.</p>
<p><strong>Lösung:</strong></p>
<p>Ersetzen Sie bei der JSON Erstellung (z.Bsp. in PHP) den Umbruch durch ein &#8220;\n&#8221;:</p>
<p><code>eregi_replace(chr(13).chr(10),'\n',$to-&gt;Text)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/02/extjs-fehler-unterminated-string-literal-bei-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
