Files
doc-fr/reference/session/functions/session-start.xml
T
Damien Seguy 0c712153e3 typos and bug # 29289
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@163843 c90b9560-bf6c-de11-be94-00142212c4b1
2004-07-21 04:29:29 +00:00

146 lines
4.5 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.11 $ -->
<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready -->
<refentry id="function.session-start">
<refnamediv>
<refname>session_start</refname>
<refpurpose>Initialise une session</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>session_start</methodname>
<void/>
</methodsynopsis>
<simpara>
<function>session_start</function> crée une session (ou
restaure la session trouvée sur le serveur, via l'identifiant
de session passé via une requête GET, POST ou par un cookie).
</simpara>
<simpara>
<function>session_start</function> retourne toujours &true;.
</simpara>
<note>
<para>
Si vous utilisez des sessions basées sur les cookies, vous devez
appeler <function>session_start</function> avant d'afficher quoi
que ce soit au navigateur.
</para>
</note>
<para>
<example>
<title>Exemple de session : <filename>page1.php</filename></title>
<programlisting role="php">
<![CDATA[
<?php
// page1.php
session_start();
echo 'Bienvenue à la page numéro 1';
$_SESSION['favcolor'] = 'vert';
$_SESSION['animal'] = 'chat';
$_SESSION['time'] = time();
// Fonctionne si le cookie a été accepté
echo '<br /><a href="page2.php">page 2</a>';
// Ou bien, en indiquant explicitement l'identfiant de session
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
]]>
</programlisting>
</example>
</para>
<para>
Après avoir vu la page <filename>page1.php</filename> avec un navigateur,
la seconde page <filename>page2.php</filename> va magiquement afficher
les données de sessions. Lisez la référence sur
les <link linkend="ref.session">sessions</link> pour des informations
sur la <link linkend="session.idpassing">propagation des identifiants de sessions</link>,
et l'utilisation de la constante <constant>SID</constant>.
</para>
<para>
<example>
<title>Exemple de session : <filename>page2.php</filename></title>
<programlisting role="php">
<![CDATA[
<?php
// page2.php
session_start();
echo 'Bienvenue sur la page numéro 2<br />';
echo $_SESSION['favcolor']; // vert
echo $_SESSION['animal']; // chat
echo date('Y m d H:i:s', $_SESSION['time']);
// Vous pourriez utiliser la constante SID ici, tout comme dans la page page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>
]]>
</programlisting>
</example>
</para>
<simpara>
Si vous avez utilisé une session nommée, vous devez
appeler <function>session_name</function> avant d'appeler
<function>session_start</function>.
</simpara>
<simpara>
<function>session_start</function> va configurer un gestionnaire
interne d'affichage, pour assurer la réécriture des URL, lorsque
le support transparent du <constant>SID</constant> est activé.
Si vous utilisez
<literal>ob_gzhandler</literal> ou <function>ob_start</function>,
l'ordre des gestionnaires d'affichage est important pour un affichage
correct. Par exemple, l'utilisateur doit enregistrer
<literal>ob_gzhandler</literal> avant que la session ne commence.
</simpara>
<note>
<simpara>
L'utilisation de
<link linkend="ini.zlib.output-compression"><option>zlib.output_compression</option></link>
est recommandée, à la place de <literal>ob_gzhandler</literal>.
</simpara>
</note>
<note>
<para>
Depuis &php; 4.3.3, l'appel à <function>session_start</function> alors que la session
a déjà débuté, retournera une erreur de niveau
<constant>E_NOTICE</constant>. Le second appel à la fonction sera
tout simplement ignoré.
</para>
</note>
<para>
Voir aussi
<link linkend="reserved.variables.session"><varname>$_SESSION</varname></link>,
<link linkend="ini.session.auto-start"><option>session.auto_start</option></link> et
<function>session_id</function>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->