philip          Wed Jun 11 00:03:58 2003 EDT

  Modified files:              
    /phpdoc/en/reference/session/functions      session-start.xml 
  Log:
  Added an example that shows sessions must be started on every page, not just the 
  first.  Note about E_NOTICE since 4.3.3 if session started when session already 
exists.
  Link to various session resources including see also's, moved session_name note more 
  towards the bottom, and one grammar fix.
  
  
Index: phpdoc/en/reference/session/functions/session-start.xml
diff -u phpdoc/en/reference/session/functions/session-start.xml:1.4 
phpdoc/en/reference/session/functions/session-start.xml:1.5
--- phpdoc/en/reference/session/functions/session-start.xml:1.4 Wed Jan 22 13:34:59 
2003
+++ phpdoc/en/reference/session/functions/session-start.xml     Wed Jun 11 00:03:58 
2003
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
 <!-- splitted from ./en/functions/session.xml, last change in rev 1.2 -->
   <refentry id="function.session-start">
    <refnamediv>
@@ -18,20 +18,77 @@
      passed via a request, such as GET, POST, or a cookie.
     </simpara>
     <simpara>
-     If you want to use a named session, you must call
-     <function>session_name</function> before calling
-     <function>session_start</function>.
-    </simpara>
-    <simpara>
      This function always returns &true;.
     </simpara>
     <note>
      <para>
       If you are using cookie-based sessions, you must call
-      <function>session_start</function> before anything is output to the
+      <function>session_start</function> before anything is outputted to the
       browser.
      </para>
     </note>
+    <para>
+     <example>
+      <title>A session example: <filename>page1.php</filename></title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+// page1.php
+
+session_start();
+
+echo 'Welcome to page #1';
+
+$_SESSION['favcolor'] = 'green';
+$_SESSION['animal']   = 'cat';
+$_SESSION['time']     = time();
+
+// Works if session cookie was accepted
+echo '<br /><a href="page2.php">page 2</a>';
+
+// Or maybe pass along the session id, if needed
+echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <para>
+     After viewing <filename>page1.php</filename>, the second page
+     <filename>page2.php</filename> will magically contain the session
+     data.  Read the <link linkend="ref.session">session reference</link>
+     for information on <link linkend="session.idpassing">propagating
+     session ids</link> as it, for example, explains what the constant
+     <constant>SID</constant> is all about.
+    </para>
+    <para>
+     <example>
+      <title>A session example: <filename>page2.php</filename></title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+// page2.php
+
+session_start();
+
+echo 'Welcome to page #2<br />';
+
+echo $_SESSION['favcolor']; // green
+echo $_SESSION['animal'];   // cat
+echo date('Y m d H:i:s', $_SESSION['time']);
+
+// You may want to use SID here, like we did in page1.php
+echo '<br /><a href="page1.php">page 1</a>';
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <simpara>
+     If you want to use a named session, you must call
+     <function>session_name</function> before calling
+     <function>session_start</function>.
+    </simpara>
     <simpara>
      <function>session_start</function> will register internal output
      handler for URL rewriting when <literal>trans-sid</literal> is
@@ -46,6 +103,20 @@
       is recommended rather than <function>ob_gzhandler</function>
      </simpara>
     </note>
+    <note>
+     <para>
+      As of PHP 4.3.3, calling <function>session_start</function> while the
+      session has already been started will result in an error of level 
+      <constant>E_NOTICE</constant>.  Also, the second session start will
+      simply be ignored.
+     </para>
+    </note>
+    <para>
+     See also
+     <link linkend="reserved.variables.session">$_SESSION</link>,
+     <link linkend="ini.session.auto-start">session.auto_start</link>, and 
+     <function>session_id</function>.
+    </para>
    </refsect1>
   </refentry>
 



-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to