textfield met 'set value'
function input_text($element_name, $values) {
echo '<input type="text" name="' .$element_name.
'" value="' .htmlentities($values[$element_name]). '"/>' ;
echo "<br /><br />\n";
}
input_text('textarea', 'text'); //dit heb ik aan de oefening toegevoegd
om de functie te activeren.
-------------------------------------------------------------------------
Ik krijg slechts de eerste letter van 'text' te zien.
Als ik van .htmlentities($values[$element_name])
zou maken => .htmlentities($values)
dan werkt dit wel, maar dat is niet de bedoeling van deze oefening,denk ik.
Ik begrijp niet waarom er een array van $values gecreeerd wordt.
Ik hoop dat mijn vraag duidelijk is.
alvast bedankt.
Hier
The input_text( ) function takes two arguments: the name of the text element
and an array of form element values.
It prints out an <input type="text"> tag—a single-line text box.
If there is an entry in the form element values array that matches the text element's name, that entry is used for the value attribute of the <input type="text"> tag.
Any special characters in the value are encoded with htmlentities( ).
Ik lees dat zo, php ook. Jij niet?
Wat bedoel jij daar mee?
Ik begrijp niet WAAROM een array
Als ik nl. htmlentities($values[$element_name]) verander in:
htmlentities($values) dan krijg ik wel "text" te zien in paginabron
en browser.
Gewijzigd op 10/12/2010 18:23:51 door Mark de Grebber
Stel, je hebt
Dan geef je $values mee aan de functie.
Wat die functie doet, is dan enkel kijken naar 1 item van de array. Bv. enkel naar de id of enkel de name, ...
Wat je wil bekijken, zet je dan in $element_name.
waarom kan zo-iets nuttig zijn?
bv.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
echo '<form ...>
'. input_text('name', $_POST) .' Naam<br/>
'. input_text('email', $_POST) .' e-mail<br/>
</form>';
?>
echo '<form ...>
'. input_text('name', $_POST) .' Naam<br/>
'. input_text('email', $_POST) .' e-mail<br/>
</form>';
?>
Het is me nu duidelijk, bedankt voor de snelle hulp.