Home > Article > Backend Development > PHP session encoding and decoding
php editor Zimo brings you a detailed analysis of PHP session encoding and decoding. In web development, session encoding and decoding is a very important part, which involves the secure transmission and storage of data. An in-depth understanding of PHP's session encoding and decoding mechanism can help developers better protect user data and improve website security. This article will introduce the principles, common methods and practical application skills of session encoding and decoding to help readers better grasp the technical points of PHP session processing.
n_encode()<strong class="keylink"> and </strong>session_decode
in
php
The built-in function session_encode()
serializes $_SESSION
array data into string, and then session_decode()
Convert the session data to real format again.
We insert data through the form and then store it into the session:
test.php
:
<code> <code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#666"><</span><strong class="keylink">html</strong><span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"><</span>head<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"><</span>title<span style="color:#666">></span> Demonstration of Session <span style="color:#666"></</span>title<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"></</span>head<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"><</span>body<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"><</span>f<strong class="keylink">ORM</strong> action<span style="color:#666">=</span><span style="color:#ba2121">"action.php"</span> method<span style="color:#666">=</span><span style="color:#ba2121">"post"</span> <span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"><</span>div style<span style="color:#666">=</span><span style="color:#ba2121">"border: 4px solid;padding:10px; width:40%"</span><span style="color:#666">></span> </span></span><span style="display:flex;"><span>Employee Name<span style="color:#666">:<</span>input type<span style="color:#666">=</span><span style="color:#ba2121">"text"</span> name<span style="color:#666">=</span><span style="color:#ba2121">"employee"</span><span style="color:#666">></span> </span></span><span style="display:flex;"><span>ID<span style="color:#666">:<</span>input type<span style="color:#666">=</span><span style="color:#ba2121">"text"</span>name<span style="color:#666">=</span><span style="color:#ba2121">"id"</span><span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"><</span>input type<span style="color:#666">=</span><span style="color:#ba2121">"submit"</span> value<span style="color:#666">=</span><span style="color:#ba2121">"SUBMIT"</span> name<span style="color:#666">=</span><span style="color:#ba2121">"submit"</span><span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"></</span>div<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"></</span>form<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"></</span>body<span style="color:#666">></span> </span></span><span style="display:flex;"><span><span style="color:#666"></</span>html<span style="color:#666">></span> </span></span></code></code>
Sessions work like cookies; once we start a session and start storing data, we can use it until the session is destroyed.
Output:
The encoded session string contains all session elements separated by ;
. It should be mentioned here that this serialization is different from PHP serialize()
.
action.php
:
<code> <code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#666"><?</span>php </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> (isset(<span style="color:#19177c">$_POST</span>[<span style="color:#ba2121">'submit'</span>])) </span></span><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">// Start the Session </span></span></span><span style="display:flex;"><span>session_start(); </span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">//Form Data </span></span></span><span style="display:flex;"><span><span style="color:#19177c">$employee</span><span style="color:#666">=</span><span style="color:#19177c">$_POST</span>[<span style="color:#ba2121">'employee'</span>]; </span></span><span style="display:flex;"><span><span style="color:#19177c">$id</span><span style="color:#666">=</span><span style="color:#19177c">$_POST</span>[<span style="color:#ba2121">'id'</span>]; </span></span><span style="display:flex;"><span><span style="color:#408080;font-style:italic">//store the form data into session </span></span></span><span style="display:flex;"><span><span style="color:#19177c">$_SESSION</span>[<span style="color:#ba2121">'employee'</span>]<span style="color:#666">=</span><span style="color:#19177c">$employee</span>; </span></span><span style="display:flex;"><span><span style="color:#19177c">$_SESSION</span>[<span style="color:#ba2121">'id'</span>]<span style="color:#666">=</span><span style="color:#19177c">$id</span>; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"According to the data from session: <br>"</span>; </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Hello "</span><span style="color:#666">.</span> <span style="color:#19177c">$employee</span><span style="color:#666">.</span> <span style="color:#ba2121">"! your ID is "</span><span style="color:#666">.</span><span style="color:#19177c">$id</span><span style="color:#666">.</span><span style="color:#ba2121">"<br><br>"</span>; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span><span style="color:#ba2121">"The encoded Session Data is: <br>"</span>; </span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">//encode the session </span></span></span><span style="display:flex;"><span><span style="color:#19177c">$session_econded</span><span style="color:#666">=</span> session_encode(); </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#19177c">$session_econded</span><span style="color:#666">.</span><span style="color:#ba2121">"<br><br>"</span>; </span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">//decode session </span></span></span><span style="display:flex;"><span>session_decode(<span style="color:#19177c">$session_econded</span>); </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Session data after decode: "</span>; </span></span><span style="display:flex;"><span>print_r( <span style="color:#19177c">$_SESSION</span>); </span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">//Destroy the Session </span></span></span><span style="display:flex;"><span>session_destroy(); </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span > </span></span></span></code></code>
Output:
<code> <code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>According to the data from session: </span></span><span style="display:flex;"><span>Hello Jack! your ID is 1234 </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>The encoded Session Data is: </span></span><span style="display:flex;"><span>employee|s:4:"Jack";id|s:4:"1234"; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>Session data after decode: Array ( [employee] => Jack [id] => 1234 ) </span></span></code></code>
The encoded data is in the form of a string similar to PHP serialize()
.
The above is the detailed content of PHP session encoding and decoding. For more information, please follow other related articles on the PHP Chinese website!