<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Kommentare zu: Zend Framework Tutorial Teil 9: Benutzereingaben filtern mit Zend_Filter_Input</title>
	<atom:link href="http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/</link>
	<description>Bloggen über das Zend Framework, PHP und anderes Gedöns</description>
	<lastBuildDate>Tue, 19 Jul 2011 09:06:27 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: Maik Greubel</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-31832</link>
		<dc:creator>Maik Greubel</dc:creator>
		<pubDate>Tue, 17 Jun 2008 19:07:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-31832</guid>
		<description>Hallo,

im aktuellen ZF 1.5 sind die Zend_Form Komponenten hinzugekommen. Im aktuellen PHP Journal (Ausgabe Mai/Juni) ist ein sehr guter Artikel zu dieser Thematik. Dort wird auch beschrieben, wie man Felder auf &quot;required&quot; setzt. Das Zend_Form Framework ist deshalb so gut, weil damit eine Möglichkeit ähnlich wie bei PEAR::QuickForm gegeben wird, Formulare mittels PHP-Klassen zu erstellen.

Am Wochenende werde ich dafür mal ein paar Beispiele geben.

Grüße

Maik</description>
		<content:encoded><![CDATA[<p>Hallo,</p>
<p>im aktuellen ZF 1.5 sind die Zend_Form Komponenten hinzugekommen. Im aktuellen PHP Journal (Ausgabe Mai/Juni) ist ein sehr guter Artikel zu dieser Thematik. Dort wird auch beschrieben, wie man Felder auf &#8220;required&#8221; setzt. Das Zend_Form Framework ist deshalb so gut, weil damit eine Möglichkeit ähnlich wie bei PEAR::QuickForm gegeben wird, Formulare mittels PHP-Klassen zu erstellen.</p>
<p>Am Wochenende werde ich dafür mal ein paar Beispiele geben.</p>
<p>Grüße</p>
<p>Maik</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Carsten</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-31677</link>
		<dc:creator>Carsten</dc:creator>
		<pubDate>Wed, 28 May 2008 19:43:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-31677</guid>
		<description>Hallo Maik,

Seit ZF 1.0 existiert ja die Methode &quot;keyExists()&quot; nicht mehr. 
Wie kann man nun in ZF 1.5 testen, ob der Schlüssel &quot;button_save&quot; vorhanden ist bzw. ob der Speicherbutton angeklickt worden ist ?  

Es wäre nett, wenn jemand den kompletten Code der &quot;ArticleController&quot;-Funktion &quot;validateAction()&quot; für ZF 1.0 oder ZF 1.5 posten könnte.</description>
		<content:encoded><![CDATA[<p>Hallo Maik,</p>
<p>Seit ZF 1.0 existiert ja die Methode &#8220;keyExists()&#8221; nicht mehr.<br />
Wie kann man nun in ZF 1.5 testen, ob der Schlüssel &#8220;button_save&#8221; vorhanden ist bzw. ob der Speicherbutton angeklickt worden ist ?  </p>
<p>Es wäre nett, wenn jemand den kompletten Code der &#8220;ArticleController&#8221;-Funktion &#8220;validateAction()&#8221; für ZF 1.0 oder ZF 1.5 posten könnte.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Maik</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-9416</link>
		<dc:creator>Maik</dc:creator>
		<pubDate>Sun, 15 Jul 2007 10:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-9416</guid>
		<description>Hallo,

die Zend_Filter* und Zend_Validate* Sachen bei ZF 1.0 sind komplett überarbeitet worden, das Kapitel hier kann für die aktuelle Version leider nicht mehr verwendet werden. Es gibt keine Methoden keyExists() oder getRaw()/getDigits mehr.

Stattdessen muss man folgendermaßen vorgehen:

Man erstellt Filter/Validatoren aus den existierenden Klassen Zend_Filter*/Zend_Validate*:

$fdigit = new Zend_Filter_Digits();
$vdigit = new Zend_Validate_Digits();
$vnotempty = new Zend_Validate_NotEmpty();

Nun erstellt man für Filter und Validatoren jeweils ein Array, das als Index den Feldnamen und als Value den entsprechenden Filter bzw. Validator verwendet. Als Beispiel dient hier mal die art_id, welche gesetzt ist, wenn man einen bestehenden Artikel verändert:

$filters = array(
  &#039;art_id&#039; =&gt; $fdigit
);

$validators = array(
  &#039;art_id&#039; =&gt; array(
     $vdigit,
     $vnotempty
  )
);

Nun kann man eine Instanz von Zend_Filter_Input holen, die Filter und Validatoren übergeben und anschließend die Felder prüfen:

$post = new Zend_Filter_Input($filters, $validators, $_POST);

if($post-&gt;isValid(&#039;art_id&#039;)) {
   $data[&#039;art_id&#039;] = $post-&gt;getUnescaped(&#039;art_id&#039;);
}

Vielleicht hilft das dem einen oder anderen, der hier nicht weiter kommt.

Um die Regulären Ausdrücke von Ralf auch verwenden zu können, muss man abstrahierte Klassen von Zend_Validate_Abstract bzw. Zend_Filter_Interface erstellen. Bei Interesse poste ich gerne die Codes von meinen.</description>
		<content:encoded><![CDATA[<p>Hallo,</p>
<p>die Zend_Filter* und Zend_Validate* Sachen bei ZF 1.0 sind komplett überarbeitet worden, das Kapitel hier kann für die aktuelle Version leider nicht mehr verwendet werden. Es gibt keine Methoden keyExists() oder getRaw()/getDigits mehr.</p>
<p>Stattdessen muss man folgendermaßen vorgehen:</p>
<p>Man erstellt Filter/Validatoren aus den existierenden Klassen Zend_Filter*/Zend_Validate*:</p>
<p>$fdigit = new Zend_Filter_Digits();<br />
$vdigit = new Zend_Validate_Digits();<br />
$vnotempty = new Zend_Validate_NotEmpty();</p>
<p>Nun erstellt man für Filter und Validatoren jeweils ein Array, das als Index den Feldnamen und als Value den entsprechenden Filter bzw. Validator verwendet. Als Beispiel dient hier mal die art_id, welche gesetzt ist, wenn man einen bestehenden Artikel verändert:</p>
<p>$filters = array(<br />
  &#8216;art_id&#8217; =&gt; $fdigit<br />
);</p>
<p>$validators = array(<br />
  &#8216;art_id&#8217; =&gt; array(<br />
     $vdigit,<br />
     $vnotempty<br />
  )<br />
);</p>
<p>Nun kann man eine Instanz von Zend_Filter_Input holen, die Filter und Validatoren übergeben und anschließend die Felder prüfen:</p>
<p>$post = new Zend_Filter_Input($filters, $validators, $_POST);</p>
<p>if($post-&gt;isValid(&#8217;art_id&#8217;)) {<br />
   $data['art_id'] = $post-&gt;getUnescaped(&#8217;art_id&#8217;);<br />
}</p>
<p>Vielleicht hilft das dem einen oder anderen, der hier nicht weiter kommt.</p>
<p>Um die Regulären Ausdrücke von Ralf auch verwenden zu können, muss man abstrahierte Klassen von Zend_Validate_Abstract bzw. Zend_Filter_Interface erstellen. Bei Interesse poste ich gerne die Codes von meinen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: thomas</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-1863</link>
		<dc:creator>thomas</dc:creator>
		<pubDate>Thu, 25 Jan 2007 16:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-1863</guid>
		<description>Moin, also ich sitze heute schon den halben nachmittag und grübel wo hier der Fehler liegt.

meine Funktion 

public static function isTextField($value)
{
   return (bool) preg_match(&#039;=[^[:alnum:]\ \-\.\,\&amp;\!\?\/]=&#039;, $value);
}

irgendwas verplane ich hier gerade. pregmatch liefert doch bei übereinstimming mit dem muster true zurück, bzw den übereinstimmenden Integer wert. Bei dieser funktion ist es genau andersrumm, d.h. wenn ein char gefunden wird, der nicht im muster vorkommt, dann  wird true ausgegeben. 

Des problem welches ich jetzt habe ist folgenes.

public function testEmail($key)
{
if (!$this-&gt;keyExists($key)) {
return false;
}
if (Travello_Filter::isTextField($this-&gt;_source[$key])) {
return $this-&gt;_source[$key]; // hier gelange ich nur im fehler fall hinnein weil Fehler -&gt; true
}
return FALSE;
}

ok nun mein Problem

public static function isEmail($value)
{
return (bool) preg_match(&#039;=^[a-z0-9][\._a-z0-9-]*@[a-z0-9][\.a-z0-9-]*(\.[a-z]{2,6})$=i&#039;, $value);

}

liefert allerdings genau das Gegenteil zurück. Wenn eine mail exact dem muster entspricht wird true zurück geliefert. Fehlt zum beispiel das @ zeichen  bekomme ich ein false. Das ist im Prinzip kein problem, denn mit !preg_match(&#039;=^[a-z0-9][\._a-z0-9-]*@[a-z0-9][\.a-z0-9-]*(\.[a-z]{2,6})$=i&#039;, $value); lässt dich das beheben.  Doch was ist nun richtig ? Fehler in der reg exp?

Gruß Thomas</description>
		<content:encoded><![CDATA[<p>Moin, also ich sitze heute schon den halben nachmittag und grübel wo hier der Fehler liegt.</p>
<p>meine Funktion </p>
<p>public static function isTextField($value)<br />
{<br />
   return (bool) preg_match(&#8217;=[^[:alnum:]\ \-\.\,\&amp;\!\?\/]=&#8217;, $value);<br />
}</p>
<p>irgendwas verplane ich hier gerade. pregmatch liefert doch bei übereinstimming mit dem muster true zurück, bzw den übereinstimmenden Integer wert. Bei dieser funktion ist es genau andersrumm, d.h. wenn ein char gefunden wird, der nicht im muster vorkommt, dann  wird true ausgegeben. </p>
<p>Des problem welches ich jetzt habe ist folgenes.</p>
<p>public function testEmail($key)<br />
{<br />
if (!$this-&gt;keyExists($key)) {<br />
return false;<br />
}<br />
if (Travello_Filter::isTextField($this-&gt;_source[$key])) {<br />
return $this-&gt;_source[$key]; // hier gelange ich nur im fehler fall hinnein weil Fehler -&gt; true<br />
}<br />
return FALSE;<br />
}</p>
<p>ok nun mein Problem</p>
<p>public static function isEmail($value)<br />
{<br />
return (bool) preg_match(&#8217;=^[a-z0-9][\._a-z0-9-]*@[a-z0-9][\.a-z0-9-]*(\.[a-z]{2,6})$=i&#8217;, $value);</p>
<p>}</p>
<p>liefert allerdings genau das Gegenteil zurück. Wenn eine mail exact dem muster entspricht wird true zurück geliefert. Fehlt zum beispiel das @ zeichen  bekomme ich ein false. Das ist im Prinzip kein problem, denn mit !preg_match(&#8217;=^[a-z0-9][\._a-z0-9-]*@[a-z0-9][\.a-z0-9-]*(\.[a-z]{2,6})$=i&#8217;, $value); lässt dich das beheben.  Doch was ist nun richtig ? Fehler in der reg exp?</p>
<p>Gruß Thomas</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ralfs PHP Blog &#187; Zend Framework Tutorial Teil 8: Konfiguration mit Zend_Config</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-867</link>
		<dc:creator>Ralfs PHP Blog &#187; Zend Framework Tutorial Teil 8: Konfiguration mit Zend_Config</dc:creator>
		<pubDate>Sun, 05 Nov 2006 11:43:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-867</guid>
		<description>[...] Tutorial, Zend Framework, Zend Framework Tutorial, Zend Config Bookmark:  del.icio.us  yigg.de  mister-wong.de&#160; [...]</description>
		<content:encoded><![CDATA[<p>[...] Tutorial, Zend Framework, Zend Framework Tutorial, Zend Config Bookmark:  del.icio.us  yigg.de  mister-wong.de&nbsp; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ralfs PHP Blog &#187; Zend Framework Tutorial Teil 1: Einführung und Anforderungen</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-735</link>
		<dc:creator>Ralfs PHP Blog &#187; Zend Framework Tutorial Teil 1: Einführung und Anforderungen</dc:creator>
		<pubDate>Tue, 24 Oct 2006 05:21:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-735</guid>
		<description>[...] Benutzereingaben filtern mit Zend_Filter_Input [...]</description>
		<content:encoded><![CDATA[<p>[...] Benutzereingaben filtern mit Zend_Filter_Input [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Ralfs PHP Blog &#187; Zend Framework Tutorial Teil 10: Sinnvoll cachen mit Zend_Cache</title>
		<link>http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/comment-page-1/#comment-733</link>
		<dc:creator>Ralfs PHP Blog &#187; Zend Framework Tutorial Teil 10: Sinnvoll cachen mit Zend_Cache</dc:creator>
		<pubDate>Tue, 24 Oct 2006 05:19:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.ralfeggert.de/2006/10/16/zend-framework-tutorial-zend_filter_input/#comment-733</guid>
		<description>[...] Im neunten Teil vom Zend Framework Tutorial haben wir die Zend_Filter Komponente f&#252;r das Filtern von Benutzereingaben kennen und anwenden gelernt. Zudem hast du in einer umfangreicheren &#220;bung (so hoffe ich zumindest) die Kommentarfunktion f&#252;r unser TravelloBlog realisiert. Wenn du die ersten neun Teile noch nicht gelesen hast, hole dies bitte schnell nach. [...]</description>
		<content:encoded><![CDATA[<p>[...] Im neunten Teil vom Zend Framework Tutorial haben wir die Zend_Filter Komponente f&#252;r das Filtern von Benutzereingaben kennen und anwenden gelernt. Zudem hast du in einer umfangreicheren &#220;bung (so hoffe ich zumindest) die Kommentarfunktion f&#252;r unser TravelloBlog realisiert. Wenn du die ersten neun Teile noch nicht gelesen hast, hole dies bitte schnell nach. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

