You are not logged in.

  • Login

1

Monday, June 15th 2009, 9:39am

Zend Form -> setValue

Hallo Community,
ich habe folgendes Problem:
Anstatt populate() möchte ich eigenen Code verwenden:

PHP Quellcode

1
2
3
4
5
foreach($form->getElements() as $element) {
    $value = htmlentities($element->getUnfilteredValue(), ENT_QUOTES, 'UTF-8')
    echo $value;
    $element->setValue($value);
}


Der mit echo ausgegebene, gewünschte Wert sieht z.B. so aus:

HTML Code

1
<Fett>

Aber im Valueattribut des Eingabefeld sieht so aus:

HTML Code

1
<Fett>

Wie kann ich das verhindern?

2

Monday, June 15th 2009, 10:19am

Hi,

ich versteh denn sinn nicht. Geht es um das filtern der Values ?

Denn dafür kannst du Zend_Filter_Input verwenden, das arbeitet mit einem array und filtert alle werte, nach den angegebenen Werten.
http://framework.zend.com/manual/de/zend.filter.input.html

Und da du Zend_Form nutzt, kannst du die Filter ja schon bei der Erstellung der Form für jedes Element angeben angeben und kannst dir alles sparen.

3

Monday, June 15th 2009, 10:53am

ich versteh denn sinn nicht. Geht es um das filtern der Values ?

Die Eingabefelder werden mit Zend_Form erstellt.
Wenn nun im Eingabefeld ein " oder ' benutzt wird,
wird es escaped im Eingabefeld angezeigt.
Ich möchte aber den Htmlcode drin haben:

HTML Code

1
<Fett>

4

Monday, June 15th 2009, 12:10pm

Hi,


welche Filter verwendest du in deiner Form ?

Guck mal in deine phpinfo ob die Option magic_quotes angestellt ist.

Quoted

What are Magic Quotes

When on, all ' (single-quote), " (double quote), \ (backslash) and NULL characters are escaped with a backslash automatically. This is identical to what addslashes() does.


Und das ist kein Html "Code"

HTML Code

1
<Fett>

5

Monday, June 15th 2009, 12:41pm

Guck mal in deine phpinfo ob die Option magic_quotes angestellt ist.

:pinch: Stimmt, daran lags!

Und das ist kein Html "Code"

HTML Code

1
<Fett>

Ja, ich meinte eher escapete Enities.

Similar threads

Social bookmarks