philip Tue Aug 31 20:31:32 2004 EDT
Modified files:
/phpdoc/en/reference/session/functions session-destroy.xml
Log:
Implemented info/example about deleting the session id cookie. Removed deprecated
use of session_unset() and wrote it as a note instead. Implemented return.success,
and added see also.
http://cvs.php.net/diff.php/phpdoc/en/reference/session/functions/session-destroy.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/reference/session/functions/session-destroy.xml
diff -u phpdoc/en/reference/session/functions/session-destroy.xml:1.2
phpdoc/en/reference/session/functions/session-destroy.xml:1.3
--- phpdoc/en/reference/session/functions/session-destroy.xml:1.2 Wed Apr 17
02:43:58 2002
+++ phpdoc/en/reference/session/functions/session-destroy.xml Tue Aug 31 20:31:31
2004
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/session.xml, last change in rev 1.2 -->
<refentry id="function.session-destroy">
<refnamediv>
@@ -18,50 +18,51 @@
the global variables associated with the session, or unset the
session cookie.
</simpara>
+ <para>
+ In order to kill the session altogether, like to log the user out, the
+ session id must also be unset. If a cookie is used to propogate the
+ session id (default behavior), then the session cookie must be deleted.
+ <function>setcookie</function> may be used for that.
+ </para>
<simpara>
- This function returns &true; on success and
- &false; on failure to destroy
- the session data.
+ &return.success;
</simpara>
<para>
<example>
- <title>Destroying a session</title>
+ <title>Destroying a session with <varname>$_SESSION</varname></title>
<programlisting role="php">
<![CDATA[
<?php
-
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
-// Unset all of the session variables.
-session_unset();
-// Finally, destroy the session.
-session_destroy();
-?>
-]]>
- </programlisting>
- </example>
- </para>
- <para>
- <example>
- <title>Destroying a session with $_SESSION</title>
- <programlisting role="php">
-<![CDATA[
-<?php
-
-// Initialize the session.
-// If you are using session_name("something"), don't forget it now!
-session_start();
// Unset all of the session variables.
$_SESSION = array();
+
+// If it's desired to kill the session, also delete the session cookie.
+// Note: This will destroy the session, and not just the session data!
+if (isset($_COOKIE[session_name()])) {
+ setcookie(session_name(), '', time()-42000, '/');
+}
+
// Finally, destroy the session.
session_destroy();
-
?>
]]>
</programlisting>
</example>
+ </para>
+ <note>
+ <para>
+ Only use <function>session_unset</function> for older deprecated code
+ that does not use <varname>$_SESSION</varname>.
+ </para>
+ </note>
+ <para>
+ See also
+ <function>unset</function> and
+ <function>setcookie</function>.
</para>
</refsect1>
</refentry>