<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.spip.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>SPIP</title>
	<link>https://www.spip.net/</link>
	<description>Syst&#232;me de Publication pour Internet</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.spip.net/spip.php?id_auteur=762&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>SPIP</title>
		<url>https://www.spip.net/local/cache-vignettes/L144xH107/siteon0-0ecda.png?1615902774</url>
		<link>https://www.spip.net/</link>
		<height>107</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>#SESSION_SET</title>
		<link>https://www.spip.net/fr_article3984.html</link>
		<guid isPermaLink="true">https://www.spip.net/fr_article3984.html</guid>
		<dc:date>2010-05-22T15:33:12Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>cam.lafit, VALLETEAU de MOULLIAC</dc:creator>


		<dc:subject>#SESSION</dc:subject>
		<dc:subject>SPIP 2.0</dc:subject>
		<dc:subject>#SESSION_SET</dc:subject>

		<description>
&lt;p&gt;Permet d'ins&#233;rer dans la balise #SESSION des donn&#233;es suppl&#233;mentaires &lt;br class='autobr' /&gt; #SESSION_SET s'utilise ainsi on a #SESSION_SETvariable, valeur, la valeur sauvegard&#233;e dans le tableau php sous la forme $GLOBALS['visiteur_session']['variable'] = 'valeur' ; &lt;br class='autobr' /&gt;
L'information peut &#234;tre &#224; nouveau lue via #SESSIONvariable &lt;br class='autobr' /&gt;
Cette balise permet donc d'ajouter une donn&#233;e quelconque &#224; la session ouverte lors de l'acc&#232;s d'un internaute &#224; SPIP. Elle peut &#234;tre utilis&#233;e sans mod&#233;ration pour conserver des &#233;l&#233;ments (&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.spip.net/fr_rubrique543.html" rel="directory"&gt;Balises&lt;/a&gt;

/ 
&lt;a href="https://www.spip.net/@session" rel="tag"&gt;#SESSION&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@spip20" rel="tag"&gt;SPIP 2.0&lt;/a&gt;, 
&lt;a href="https://www.spip.net/@session_set" rel="tag"&gt;#SESSION_SET&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Permet d'ins&#233;rer dans la balise #SESSION des donn&#233;es suppl&#233;mentaires&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;!--sommaire--&gt;&lt;div class=&#034;well nav-sommaire nav-sommaire-1&#034; id=&#034;nav69f31a52bc92d0.47333548&#034;&gt;
&lt;h2&gt;Sommaire&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a id=&#034;s-Voir-aussi&#034;&gt;&lt;/a&gt;&lt;a href=&#034;#Voir-aussi&#034; class=&#034;spip_ancre&#034;&gt;Voir aussi&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;!--/sommaire--&gt;&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION_SET&lt;/code&gt; s'utilise ainsi on a &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION_SET{variable, valeur}&lt;/code&gt;, la valeur sauvegard&#233;e dans le tableau php sous la forme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$GLOBALS['visiteur_session']['variable'] = 'valeur';&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;L'information peut &#234;tre &#224; nouveau lue via &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION{variable}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Cette balise permet donc d'ajouter une donn&#233;e quelconque &#224; la session ouverte lors de l'acc&#232;s d'un internaute &#224; SPIP. Elle peut &#234;tre utilis&#233;e sans mod&#233;ration pour conserver des &#233;l&#233;ments dont on souhaite disposer tout au long de la session ouverte, sans avoir besoin de refaire une boucle ou une autre manipulation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La syntaxe&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La syntaxe de base est tr&#232;s simple :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION_SET{variable,valeur}&lt;/code&gt;&lt;br class='autobr' /&gt;
L'&#233;l&#233;ment 'variable' est un nom quelconque qui permettra de faire r&#233;f&#233;rence &#224; ce que l'on veut utiliser, et 'valeur' est son contenu. Mais un exemple vaut un long discours.&lt;/p&gt;
&lt;p&gt;Par exemple, je suis passionn&#233; par les &#233;l&#233;phants, et je voudrais l'afficher &#224; tout moment ... Donc :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION_SET{mapassion,&#233;l&#233;phants}&lt;/code&gt; mettra '&#233;l&#233;phants' dans 'ma passion'.&lt;/p&gt;
&lt;p&gt;Pour l'utiliser, c'est tr&#232;s simple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION{mapassion}&lt;/code&gt; affichera '&#233;l&#233;phants'.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Utilisation pratique&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Vous n'avez vu ci-dessus qu'un exemple pas forc&#233;ment tr&#232;s concret. L'utilisation de la balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION_SET{variable,valeur}&lt;/code&gt; est particuli&#232;rement pertinent d&#232;s lors qu'un acc&#232;s &#224; un site se fait avec identification (du type 'login public') afin d'ajouter certaines donn&#233;es li&#233;es d'une fa&#231;on ou d'une autre, dans la session de la personne logu&#233;e.&lt;/p&gt;
&lt;p&gt;Si vous affichez la balise &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION&lt;/code&gt; sur une page, vous verrez qu'elle contient un grand nombre de donn&#233;es, notamment concernant l'auteur ou visiteur identifi&#233;. L'affichage d'une de ces donn&#233;es se fait directement via #SESSION, sauf si vous avez ajout&#233; des champs extra.&lt;/p&gt;
&lt;p&gt;Dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION{extra}&lt;/code&gt;, vous verrez s'afficher, en format &lt;strong&gt;texte&lt;/strong&gt; le contenu de ce champ, sous la forme (par ex.)&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;a:2{s:10:&#034;id_salarie&#034;;s;1:&#034;1&#034;;s:7:&#034;college&#034;;s:5:&#034;Cadre&#034;;}&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Cela vous permet bien s&#251;r de v&#233;rifier qu'il y a bien ce que vous cherchez, mais l'affichage laisse &#224; d&#233;sirer ...&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;rappel : pour afficher en mode brut (pour v&#233;rification) le contenu d&#233;taill&#233; (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Que faire pour rem&#233;dier &#224; cela ? Utiliser #SESSION_SET bien s&#251;r, avec la balise #EXTRA !!&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Je voudrais afficher le coll&#232;ge&lt;/i&gt; :&lt;/p&gt;
&lt;p&gt;Dans une boucle AUTEURS, je vais ajouter &#224; ma session le coll&#232;ge de la personne identifi&#233;e :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;BOUCLE_auteur(AUTEURS){id_auteur=#SESSION{id_auteur}}{tout}&gt;#SESSION_SET{college,(#EXTRA|college)} &lt;/BOUCLE_auteur&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voil&#224; ! Maintenant, sur n'importe quelle page du site, affichez le coll&#232;ge :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[(#SESSION{college})]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Vous pouvez l'utiliser tout seul, ou dans une boucle, soit pour afficher le coll&#232;ge, soit dans un crit&#232;re sp&#233;cifique, par ex.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;spip&#034; class='spip_code spip_code_block language-spip' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;BOUCLE_articles(ARTICLES) {id_rubrique}{titre_mot = #SESSION{college}} {par num titre, date} {doublons} {pagination 20}&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Aller plus loin ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rappelons-nous que spip 2.0.x permet maintenant d'ouvrir des connexion &#224; des bases de donn&#233;es ext&#233;rieures &#224; celles de spip, m&#234;me distantes ... Quoi de plus simple, maintenant, d'ajouter une ou des donn&#233;es issues de ces bases &#224; la session ouverte ... Une (ou plusieurs) boucles &#224; l'ouverture, quelques &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#SESSION_SET{variable,valeur}&lt;/code&gt;, et j'ai &#224; ma disposition, rapidement, tout ce que dont j'ai besoin pour dynamiser mon site ...&lt;/p&gt;
&lt;section class=&#034;sommaire-section sommaire-section_niveau1 sommaire-section_h2&#034; aria-labelledby=&#034;Voir-aussi&#034;&gt;&lt;h2 class=&#034;h2&#034; id='Voir-aussi'&gt;Voir aussi&lt;a class='sommaire-back sommaire-back-1' href='#s-Voir-aussi' title='Retour au sommaire'&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article3979.html' class=&#034;spip_in&#034;&gt;#SESSION&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article5840.html' class=&#034;spip_in&#034;&gt;|setenv&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article3990.html' class=&#034;spip_in&#034;&gt;#SET et #GET&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='https://www.spip.net/fr_article5694.html' class=&#034;spip_in&#034;&gt;|set&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;rappel : pour afficher en mode &lt;i&gt;brut&lt;/i&gt; (pour v&#233;rification) le contenu d&#233;taill&#233; de la balise, il est possible d'utiliser l'&#233;criture :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[&lt;pre&gt;(#SESSION*|unserialize|var_export{1})&lt;/pre&gt;]&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
