downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

Source of: /manual/en/function.session-register.php

<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once
dirname(__FILE__) ."/toc/ref.session.inc";
$setup = array (
 
'home' =>
  array (
   
0 => 'index.php',
   
1 => 'PHP Manual',
  ),
 
'head' =>
  array (
   
0 => 'UTF-8',
   
1 => 'en',
  ),
 
'this' =>
  array (
   
0 => 'function.session-register.php',
   
1 => 'session_register',
  ),
 
'up' =>
  array (
   
0 => 'ref.session.php',
   
1 => 'Session Functions',
  ),
 
'prev' =>
  array (
   
0 => 'function.session-regenerate-id.php',
   
1 => 'session_regenerate_id',
  ),
 
'next' =>
  array (
   
0 => 'function.session-save-path.php',
   
1 => 'session_save_path',
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="function.session-register" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">session_register</h1>
  <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">session_register</span> &mdash; <span class="dc-title">Register one or more global variables with the current session</span></p>

 </div>
 
 <a name="function.session-register.description"></a><div class="refsect1 description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">bool</span> <span class="methodname"><b>session_register</b></span>
    ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.php#language.types.mixed" class="type mixed">mixed</a></span> <tt class="parameter">$name</tt></span>
   [, <span class="methodparam"><span class="type"><a href="language.pseudo-types.php#language.types.mixed" class="type mixed">mixed</a></span> <tt class="parameter">$...</tt></span>
  ] )</div>

  <p class="para rdfs-comment">
   <b>session_register()</b> accepts a variable number of
   arguments, any of which can be either a string holding the name of a
   variable or an array consisting of variable names or other arrays. For
   each name, <b>session_register()</b> registers the global
   variable with that name in the current session.
  </p>
  <p class="para">
   You can also create a session variable by simply setting the
   appropriate member of the <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>
   or <var class="varname">$HTTP_SESSION_VARS</var> (PHP &lt; 4.1.0) array.
   </p><div class="informalexample">
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;Use&nbsp;of&nbsp;session_register()&nbsp;is&nbsp;deprecated<br /></span><span style="color: #0000BB">$barney&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"A&nbsp;big&nbsp;purple&nbsp;dinosaur."</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">session_register</span><span style="color: #007700">(</span><span style="color: #DD0000">"barney"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Use&nbsp;of&nbsp;$_SESSION&nbsp;is&nbsp;preferred,&nbsp;as&nbsp;of&nbsp;PHP&nbsp;4.1.0<br /></span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">"zim"</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">"An&nbsp;invader&nbsp;from&nbsp;another&nbsp;planet."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;The&nbsp;old&nbsp;way&nbsp;was&nbsp;to&nbsp;use&nbsp;$HTTP_SESSION_VARS<br /></span><span style="color: #0000BB">$HTTP_SESSION_VARS</span><span style="color: #007700">[</span><span style="color: #DD0000">"spongebob"</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">"He's&nbsp;got&nbsp;square&nbsp;pants."</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
  </p>
  <p class="para">
   If <a href="function.session-start.php" class="function">session_start()</a> was not called before this function
   is called, an implicit call to <a href="function.session-start.php" class="function">session_start()</a> with no
   parameters will be made.  <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> does not mimic
   this behavior and requires <a href="function.session-start.php" class="function">session_start()</a> before use.
  </p>
  <div class="warning"><b class="warning">Warning</b><p class="simpara">This function has been
<em class="emphasis">DEPRECATED</em> as of PHP 5.3.0 and <em class="emphasis">REMOVED</em>
as of PHP 6.0.0. Relying on this feature is highly discouraged.</p></div>
 </div>


 <a name="function.session-register.parameters"></a><div class="refsect1 parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">
   </p><dl>

    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">name</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       A string holding the name of a variable or an array consisting of
       variable names or other arrays.
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">...</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
      </p>
     </dd>

   
   </dl>
<p>
  </p>
 </div>


 <a name="function.session-register.returnvalues"></a><div class="refsect1 returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   Returns <b><tt class="constant">TRUE</tt></b> on success or <b><tt class="constant">FALSE</tt></b> on failure.
  </p>
 </div>


 <a name="function.session-register.notes"></a><div class="refsect1 notes">
  <h3 class="title">Notes</h3>
  <div class="caution"><b class="caution">Caution</b>
   <p class="para">
    If you want your script to work regardless of <a href="ini.core.php#ini.register-globals" class="link">register_globals</a>, you need to
    instead use the <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> array as
    <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> entries are automatically registered. If
    your script uses <b>session_register()</b>, it will not work
    in environments where the PHP directive <a href="ini.core.php#ini.register-globals" class="link">register_globals</a> is disabled.
   </p>
  </div>
  <blockquote><p><b class="note">Note</b>: <b>register_globals: important
note</b><br />As of PHP 4.2.0, the default value for the PHP directive
<a href="ini.core.php#ini.register-globals" class="link">register_globals</a> is <em class="emphasis">
off</em>, and it was completely removed as of PHP 6.0.0. The PHP community
discourages developers from relying on this directive, and encourages the use
of other means, such as the <a href="language.variables.predefined.php" class="link">superglobals</a>.<br /></p></blockquote>
  <div class="caution"><b class="caution">Caution</b>
   <p class="para">
    This registers a <em class="emphasis">global</em> variable. If you want to
    register a session variable from within a function, you need to make sure
    to make it global using the <a href="language.variables.scope.php" class="link"><strong class="command">global</strong></a>
    keyword or the <var class="varname"><a href="reserved.variables.globals.php" class="classname">$GLOBALS[]</a></var> array, or use the special
    session arrays as noted below.
   </p>
  </div>
  <div class="caution"><b class="caution">Caution</b>
   <p class="para">
    If you are using <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>
    (or <var class="varname">$HTTP_SESSION_VARS</var>), do not use
    <b>session_register()</b>,
    <a href="function.session-is-registered.php" class="function">session_is_registered()</a>, and
    <a href="function.session-unregister.php" class="function">session_unregister()</a>.
   </p>
  </div>
  <blockquote><p><b class="note">Note</b>:
  
    It is currently impossible to register resource variables in a session.
    For example, you cannot create a connection to a database and store the
    connection id as a session variable and expect the connection to still be
    valid the next time the session is restored.  PHP functions that return a
    resource are identified by having a return type of
    <i>resource</i> in their function definition.  A list of
    functions that return resources are available in the <a href="resource.php" class="link">resource types</a> appendix.
   <br />
  
    If <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> (or <var class="varname">$HTTP_SESSION_VARS</var>
    for PHP 4.0.6 or less) is used, assign values to
    <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>. For example: $_SESSION[&#039;var&#039;] = &#039;ABC&#039;;
   <br />
  </p></blockquote>
 </div>


 <a name="function.session-register.seealso"></a><div class="refsect1 seealso">
  <h3 class="title">See Also</h3>
  <p class="para">
   </p><ul class="simplelist">
    <li class="member"><a href="function.session-is-registered.php" class="function" rel="rdfs-seeAlso">session_is_registered()</a> - Find out whether a global variable is registered in a session</li>
    <li class="member"><a href="function.session-unregister.php" class="function" rel="rdfs-seeAlso">session_unregister()</a> - Unregister a global variable from the current session</li>
    <li class="member"><var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var></li>
   </ul><p>
  </p>
 </div>


</div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites