mirror of
https://github.com/codeigniter4/CodeIgniter4.git
synced 2025-02-20 11:44:28 +08:00
Update User Guide
This commit is contained in:
parent
45d110154f
commit
96b95f6131
@ -281,13 +281,13 @@ forms.</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#configuration" id="id1">Configuration</a></p></li>
|
||||
<li><p><a class="reference internal" href="#loading-this-helper" id="id2">Loading this Helper</a></p></li>
|
||||
<li><p><a class="reference internal" href="#escaping-field-values" id="id3">Escaping field values</a></p></li>
|
||||
<li><p><a class="reference internal" href="#escaping-field-values" id="id3">Escaping Field Values</a></p></li>
|
||||
<li><p><a class="reference internal" href="#available-functions" id="id4">Available Functions</a></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<section id="configuration">
|
||||
<h2><a class="toc-backref" href="#id1">Configuration</a><a class="headerlink" href="#configuration" title="Permalink to this headline"></a></h2>
|
||||
<p>Since <code class="docutils literal notranslate"><span class="pre">v4.3.0</span></code>, void HTML elements (e.g. <code class="docutils literal notranslate"><span class="pre"><input></span></code>) in <code class="docutils literal notranslate"><span class="pre">form_helper</span></code> functions have been changed to be HTML5-compatible by default and if you need to be compatible with XHTML, you must set the <code class="docutils literal notranslate"><span class="pre">$html5</span></code> property in <strong>app/Config/DocTypes.php</strong> to <code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
|
||||
<p>Since v4.3.0, void HTML elements (e.g. <code class="docutils literal notranslate"><span class="pre"><input></span></code>) in <code class="docutils literal notranslate"><span class="pre">form_helper</span></code> functions have been changed to be HTML5-compatible by default and if you need to be compatible with XHTML, you must set the <code class="docutils literal notranslate"><span class="pre">$html5</span></code> property in <strong>app/Config/DocTypes.php</strong> to <code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
|
||||
</section>
|
||||
<section id="loading-this-helper">
|
||||
<h2><a class="toc-backref" href="#id2">Loading this Helper</a><a class="headerlink" href="#loading-this-helper" title="Permalink to this headline"></a></h2>
|
||||
@ -299,11 +299,11 @@ forms.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="escaping-field-values">
|
||||
<h2><a class="toc-backref" href="#id3">Escaping field values</a><a class="headerlink" href="#escaping-field-values" title="Permalink to this headline"></a></h2>
|
||||
<h2><a class="toc-backref" href="#id3">Escaping Field Values</a><a class="headerlink" href="#escaping-field-values" title="Permalink to this headline"></a></h2>
|
||||
<p>You may need to use HTML and characters such as quotes within your form
|
||||
elements. In order to do that safely, you’ll need to use
|
||||
<a class="reference internal" href="../general/common_functions.html"><span class="doc">common function</span></a>
|
||||
<code class="xref py py-func docutils literal notranslate"><span class="pre">esc()</span></code>.</p>
|
||||
<a class="reference internal" href="../general/common_functions.html#esc" title="esc"><code class="xref php php-func docutils literal notranslate"><span class="pre">esc()</span></code></a>.</p>
|
||||
<p>Consider the following example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||||
|
||||
@ -317,7 +317,7 @@ elements. In order to do that safely, you’ll need to use
|
||||
<p>Since the above string contains a set of quotes, it will cause the form
|
||||
to break. The <a class="reference internal" href="../general/common_functions.html#esc" title="esc"><code class="xref php php-func docutils literal notranslate"><span class="pre">esc()</span></code></a> function converts HTML special
|
||||
characters so that it can be used safely:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"text"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"myfield"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"<?= esc(</span><span class="si">$string</span><span class="s2">) ?>"</span> <span class="o">/></span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"text"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"myfield"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"<?= esc(</span><span class="si">$string</span><span class="s2">) ?>"</span><span class="o">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
@ -398,7 +398,7 @@ parameter, like this:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">form</span> <span class="nx">action</span><span class="o">=</span><span class="s2">"http://example.com/index.php/email/send"</span> <span class="nx">class</span><span class="o">=</span><span class="s2">"email"</span> <span class="nx">id</span><span class="o">=</span><span class="s2">"myform"</span> <span class="nx">method</span><span class="o">=</span><span class="s2">"post"</span> <span class="nx">accept</span><span class="o">-</span><span class="nx">charset</span><span class="o">=</span><span class="s2">"utf-8"</span><span class="o">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>If CSRF filter is turned on <code class="docutils literal notranslate"><span class="pre">form_open()</span></code> will generate CSRF field at the beginning of the form. You can specify ID of this field by passing csrf_id as one of the <code class="docutils literal notranslate"><span class="pre">$attribute</span></code> array:</p>
|
||||
<p>If <a class="reference internal" href="../libraries/security.html#cross-site-request-forgery"><span class="std std-ref">CSRF</span></a> filter is turned on <code class="docutils literal notranslate"><span class="pre">form_open()</span></code> will generate CSRF field at the beginning of the form. You can specify ID of this field by passing csrf_id as one of the <code class="docutils literal notranslate"><span class="pre">$attribute</span></code> array:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><?</span><span class="nx">php</span>
|
||||
|
||||
<span class="k">echo</span> <span class="nx">form_open</span><span class="p">(</span><span class="s1">'/u/sign-up'</span><span class="p">,</span> <span class="p">[</span><span class="s1">'csrf_id'</span> <span class="o">=></span> <span class="s1">'my-id'</span><span class="p">]);</span>
|
||||
@ -406,7 +406,7 @@ parameter, like this:</p>
|
||||
</div>
|
||||
<p>will return:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">form</span> <span class="nx">action</span><span class="o">=</span><span class="s2">"http://example.com/index.php/u/sign-up"</span> <span class="nx">method</span><span class="o">=</span><span class="s2">"post"</span> <span class="nx">accept</span><span class="o">-</span><span class="nx">charset</span><span class="o">=</span><span class="s2">"utf-8"</span><span class="o">></span>
|
||||
<span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"hidden"</span> <span class="nx">id</span><span class="o">=</span><span class="s2">"my-id"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"csrf_field"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"964ede6e0ae8a680f7b8eab69136717d"</span> <span class="o">/></span>
|
||||
<span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"hidden"</span> <span class="nx">id</span><span class="o">=</span><span class="s2">"my-id"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"csrf_field"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"964ede6e0ae8a680f7b8eab69136717d"</span><span class="o">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
@ -427,8 +427,8 @@ third parameter, like this:</p>
|
||||
<p>You can skip the second parameter by passing any false value to it.</p>
|
||||
<p>The above example would create a form similar to this:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">form</span> <span class="nx">action</span><span class="o">=</span><span class="s2">"http://example.com/index.php/email/send"</span> <span class="nx">method</span><span class="o">=</span><span class="s2">"post"</span> <span class="nx">accept</span><span class="o">-</span><span class="nx">charset</span><span class="o">=</span><span class="s2">"utf-8"</span><span class="o">></span>
|
||||
<span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"hidden"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"username"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"Joe"</span> <span class="o">/></span>
|
||||
<span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"hidden"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"member_id"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"234"</span> <span class="o">/></span>
|
||||
<span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"hidden"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"username"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"Joe"</span><span class="o">></span>
|
||||
<span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"hidden"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"member_id"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"234"</span><span class="o">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
@ -1190,7 +1190,7 @@ form. The third (optional) parameter allows you to turn off HTML escaping
|
||||
of the value, in case you need to use this function in combination with
|
||||
i.e., <a class="reference internal" href="#form_input" title="form_input"><code class="xref php php-func docutils literal notranslate"><span class="pre">form_input()</span></code></a> and avoid double-escaping.</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"text"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"quantity"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"<?= set_value('quantity', '0') ?>"</span> <span class="nx">size</span><span class="o">=</span><span class="s2">"50"</span> <span class="o">/></span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"text"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"quantity"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"<?= set_value('quantity', '0') ?>"</span> <span class="nx">size</span><span class="o">=</span><span class="s2">"50"</span><span class="o">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The above form will show “0” when loaded for the first time.</p>
|
||||
@ -1252,8 +1252,8 @@ parameter lets you set an item as the default (use boolean true/false).</p>
|
||||
parameter must contain its value, and the third (optional) parameter
|
||||
lets you set an item as the default (use boolean true/false).</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"checkbox"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"mycheck"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"1"</span> <span class="o"><?=</span> <span class="nx">set_checkbox</span><span class="p">(</span><span class="s1">'mycheck'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span> <span class="cp">?></span> />
|
||||
<span class="p"><</span><span class="nt">input</span> <span class="na">type</span><span class="o">=</span><span class="s">"checkbox"</span> <span class="na">name</span><span class="o">=</span><span class="s">"mycheck"</span> <span class="na">value</span><span class="o">=</span><span class="s">"2"</span> <span class="cp"><?</span><span class="o">=</span> <span class="nx">set_checkbox</span><span class="p">(</span><span class="s1">'mycheck'</span><span class="p">,</span> <span class="s1">'2'</span><span class="p">)</span> <span class="cp">?></span> <span class="p">/></span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"checkbox"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"mycheck"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"1"</span> <span class="o"><?=</span> <span class="nx">set_checkbox</span><span class="p">(</span><span class="s1">'mycheck'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span> <span class="cp">?></span>>
|
||||
<span class="p"><</span><span class="nt">input</span> <span class="na">type</span><span class="o">=</span><span class="s">"checkbox"</span> <span class="na">name</span><span class="o">=</span><span class="s">"mycheck"</span> <span class="na">value</span><span class="o">=</span><span class="s">"2"</span> <span class="cp"><?</span><span class="o">=</span> <span class="nx">set_checkbox</span><span class="p">(</span><span class="s1">'mycheck'</span><span class="p">,</span> <span class="s1">'2'</span><span class="p">)</span> <span class="cp">?></span><span class="p">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</dd></dl>
|
||||
@ -1279,8 +1279,8 @@ lets you set an item as the default (use boolean true/false).</p>
|
||||
<p>Permits you to display radio buttons in the state they were submitted.
|
||||
This function is identical to the <a class="reference internal" href="#set_checkbox" title="set_checkbox"><code class="xref php php-func docutils literal notranslate"><span class="pre">set_checkbox()</span></code></a> function above.</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"radio"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"myradio"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"1"</span> <span class="o"><?=</span> <span class="nx">set_radio</span><span class="p">(</span><span class="s1">'myradio'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">,</span> <span class="k">true</span><span class="p">)</span> <span class="cp">?></span> />
|
||||
<span class="p"><</span><span class="nt">input</span> <span class="na">type</span><span class="o">=</span><span class="s">"radio"</span> <span class="na">name</span><span class="o">=</span><span class="s">"myradio"</span> <span class="na">value</span><span class="o">=</span><span class="s">"2"</span> <span class="cp"><?</span><span class="o">=</span> <span class="nx">set_radio</span><span class="p">(</span><span class="s1">'myradio'</span><span class="p">,</span> <span class="s1">'2'</span><span class="p">)</span> <span class="cp">?></span> <span class="p">/></span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="nx">input</span> <span class="nx">type</span><span class="o">=</span><span class="s2">"radio"</span> <span class="nx">name</span><span class="o">=</span><span class="s2">"myradio"</span> <span class="nx">value</span><span class="o">=</span><span class="s2">"1"</span> <span class="o"><?=</span> <span class="nx">set_radio</span><span class="p">(</span><span class="s1">'myradio'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">,</span> <span class="k">true</span><span class="p">)</span> <span class="cp">?></span>>
|
||||
<span class="p"><</span><span class="nt">input</span> <span class="na">type</span><span class="o">=</span><span class="s">"radio"</span> <span class="na">name</span><span class="o">=</span><span class="s">"myradio"</span> <span class="na">value</span><span class="o">=</span><span class="s">"2"</span> <span class="cp"><?</span><span class="o">=</span> <span class="nx">set_radio</span><span class="p">(</span><span class="s1">'myradio'</span><span class="p">,</span> <span class="s1">'2'</span><span class="p">)</span> <span class="cp">?></span><span class="p">></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
Loading…
x
Reference in New Issue
Block a user