<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>php.ini : Astuces de programmation Le MEMO du Web Développeur</title>
	<atom:link href="https://memo-web.fr/tag/php-ini/feed/" rel="self" type="application/rss+xml" />
	<link>https://memo-web.fr</link>
	<description></description>
	<lastBuildDate>Tue, 22 Jul 2025 13:00:22 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>Les cookies faciles</title>
		<link>https://memo-web.fr/categorie-php-4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-php-4</link>
					<comments>https://memo-web.fr/categorie-php-4/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Mon, 02 Dec 2024 16:31:16 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[Sessions]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=186</guid>

					<description><![CDATA[<p>Un cookie, c’est un petit fichier que ton navigateur (Chrome, Firefox, etc.) garde en mémoire quand tu visites un site.Il permet au site de se souvenir de toi : par exemple, si tu es connecté, la langue que tu as choisie, ou les produits dans ton panier. Les cookies ne sont pas des virus, et [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-php-4/">Les cookies faciles</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p data-start="108" data-end="373">Un <strong data-start="111" data-end="121">cookie</strong>, c’est un petit fichier que ton navigateur (Chrome, Firefox, etc.) garde en mémoire quand tu visites un site.<br data-start="231" data-end="234" />Il permet au site de <strong data-start="255" data-end="277">se souvenir de toi</strong> : par exemple, si tu es connecté, la langue que tu as choisie, ou les produits dans ton panier.</p>
<p data-start="375" data-end="573">Les cookies ne sont <strong data-start="398" data-end="415">pas des virus</strong>, et ils ne donnent pas accès à ton ordinateur.<br data-start="462" data-end="465" />Ils servent juste à <strong data-start="485" data-end="515">mémoriser des infos utiles</strong> pour que ta navigation soit plus fluide et personnalisée.</p>
<p data-start="575" data-end="677">Tu peux les accepter, les refuser, ou les supprimer à tout moment dans les réglages de ton navigateur.</p>
<h3 data-start="170" data-end="195"> 1. Créer un cookie en PHP</h3>
<p data-start="197" data-end="264">Pour créer un cookie en PHP, on utilise la fonction <code data-start="249" data-end="262">setcookie()</code> :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">PHP :</div>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">setcookie('nom_du_cookie', $valeur, time() + $duree_en_secondes, '/');</pre>
</div>
<ul data-start="349" data-end="581">
<li data-start="349" data-end="383">
<p data-start="351" data-end="383"><code data-start="351" data-end="366">nom_du_cookie</code> : nom du cookie.</p>
</li>
<li data-start="384" data-end="408">
<p data-start="386" data-end="408"><code data-start="386" data-end="395">$valeur</code> : sa valeur.</p>
</li>
<li data-start="409" data-end="494">
<p data-start="411" data-end="494"><code data-start="411" data-end="423">time() + n</code> : date d’expiration (ici, le cookie sera valide pendant <em data-start="480" data-end="492">n secondes</em>).</p>
</li>
<li data-start="495" data-end="581">
<p data-start="497" data-end="581"><code data-start="497" data-end="502">'/'</code> : le chemin sur lequel le cookie est accessible (par défaut : le site entier).</p>
</li>
</ul>
<p data-start="583" data-end="743"><strong data-start="586" data-end="599">Important</strong> :<br data-start="601" data-end="604" />Si vous ne précisez pas de date d’expiration, le cookie sera <strong data-start="665" data-end="722">supprimé automatiquement à la fermeture du navigateur</strong> (cookie de session).</p>
<p data-start="745" data-end="890"><strong data-start="748" data-end="761">Attention</strong> à l’heure du serveur lors des manipulations de dates. Une heure système incorrecte peut provoquer des comportements inattendus !</p>
<hr data-start="892" data-end="895" />
<h3 data-start="897" data-end="921">2. Lire un cookie</h3>
<p data-start="923" data-end="984">Voici les différentes manières d’accéder à un cookie en PHP :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">PHP</div>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">echo $_COOKIE['nom_du_cookie']; // Recommandé depuis PHP 4.1.0<br />echo $HTTP_COOKIE_VARS['nom_du_cookie']; // Ancienne méthode (avant PHP 4.1.0)<br />echo $nom_du_cookie; // Ne fonctionne que si register_globals = on (déconseillé)</pre>
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"><strong data-start="1238" data-end="1249">Exemple</strong> :</div>
</div>
</div>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">PHP</div>
<div>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">$monCookie = 5;<br />setcookie('mon_cookie', $monCookie, time() + 3600, '/'); // Cookie valable 1 heure<br />echo $_COOKIE['mon_cookie']; // Affichera "5"</pre>
</div>
</div>
<hr data-start="1441" data-end="1444" />
<h3 data-start="1446" data-end="1475">3. Supprimer un cookie</h3>
<p data-start="1477" data-end="1529">Supprimer un cookie revient à le faire <strong data-start="1516" data-end="1527">expirer</strong> :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">PHP </div>
<div> </div>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">setcookie('mon_cookie', '', time() - 3600, '/'); // Expiration dans le passé</pre>
<div> </div>
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">La ligne <code data-start="1633" data-end="1659">setcookie('mon_cookie');</code> seule <strong data-start="1666" data-end="1683">ne suffit pas</strong>. Il faut bien lui assigner une date dans le passé.</div>
</div>
<hr data-start="1736" data-end="1739" />
<h3 data-start="1741" data-end="1771">Avertissement important</h3>
<p data-start="1773" data-end="1988">Comme les cookies sont envoyés dans l’en-tête HTTP, <strong data-start="1825" data-end="1888">aucune sortie HTML ne doit précéder l’appel à <code data-start="1873" data-end="1886">setcookie()</code></strong>.<br data-start="1889" data-end="1892" />Cela s&rsquo;applique comme pour <code data-start="1919" data-end="1929">header()</code> : <strong data-start="1932" data-end="1957">n’affichez rien avant</strong> (ni echo, ni espace, ni HTML).</p>
<hr data-start="1990" data-end="1993" />
<h3 data-start="1995" data-end="2021">Limites des cookies</h3>
<ul data-start="2023" data-end="2197">
<li data-start="2023" data-end="2063">
<p data-start="2025" data-end="2063"><strong data-start="2025" data-end="2044">Taille maximale</strong> : 4 Ko par cookie.</p>
</li>
<li data-start="2064" data-end="2117">
<p data-start="2066" data-end="2117"><strong data-start="2066" data-end="2084">Nombre maximum</strong> : 20 cookies par nom de domaine.</p>
</li>
<li data-start="2118" data-end="2197">
<p data-start="2120" data-end="2197"><strong data-start="2120" data-end="2132">Sécurité</strong> : Un cookie ne peut être lu <strong data-start="2161" data-end="2196">que par le domaine qui l’a créé</strong>.</p>
</li>
</ul>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-php-4/">Les cookies faciles</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-php-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Imposer une taille max aux fichiers uploadés sur le serveur</title>
		<link>https://memo-web.fr/categorie-divers-242/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-242</link>
					<comments>https://memo-web.fr/categorie-divers-242/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Mon, 16 Sep 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[php.ini]]></category>
		<guid isPermaLink="false">http://memo-web.fr/imposer-une-taille-max-aux-fichiers-uploades-sur-le-serveur/</guid>

					<description><![CDATA[<p>Configuration du serveur : Limiter la taille des fichiers charg&#233;s sur le serveur avec le fichier php.ini Le chargement des fichiers sur un serveur, et en particulier la taille des fichiers upload&#233;s, est soumis &#224; plusieurs limitations au niveau de la configuration dudit serveur.&#160; Ces param&#232;tres limitatifs sont modifiables dans le fichier php.ini et peuvent [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-242/">Imposer une taille max aux fichiers uploadés sur le serveur</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<h2>
	Configuration du serveur : Limiter la taille des fichiers charg&eacute;s sur le serveur avec le fichier php.ini</h2>
<p>
	Le chargement des fichiers sur un serveur, et en particulier la taille des fichiers upload&eacute;s, est soumis &agrave; plusieurs limitations au niveau de la configuration dudit serveur.&nbsp;</p>
<p>
	Ces param&egrave;tres limitatifs sont modifiables dans le fichier<strong> php.ini</strong> et peuvent &ecirc;tre v&eacute;rifi&eacute;s avec la commande <strong>phpinfo()</strong> qui affiche tous les param&egrave;tres du serveur.</p>
<pre class="code_php brush: php ">
&lt;?php
  phpinfo();
?&gt;</pre>
<p>
	Les param&egrave;tres pris en compte pour ma&icirc;triser l&#39;upload des fichiers sont les suivants :</p>
<p>
	<strong>upload_max_filesize : </strong>Fixe&nbsp;la taille maximale d&#39;un fichier &agrave; charger (exprim&eacute;e en octets).</p>
<p>
	<strong>post_max_size </strong>: Fixe le poids maximum des donn&eacute;es envoy&eacute;es &nbsp;par le formulaire (donc des fichiers charg&eacute;s par formulaire sur le serveur). La valeur de&nbsp;<strong>post_max_size </strong>doit logiquement &ecirc;tre &nbsp;sup&eacute;rieure ou &eacute;gale &agrave; la valeur de&nbsp;<strong>upload_max_filesize</strong></p>
<p>
	V&eacute;rifiez aussi la valeur du param&egrave;tre&nbsp;<strong>memory_limit&nbsp;</strong>qui&nbsp;fixe la m&eacute;moire maximum qu&#39;un script peut allouer &agrave; une requ&ecirc;te. La valeur de&nbsp;<strong>memory_limit&nbsp; </strong>doit &ecirc;tre sup&eacute;rieure ou &eacute;gale &agrave; la valeur de&nbsp;<strong>post_max_size</strong>.</p>
<h2>
	&nbsp;Limiter la taille du fichier &agrave; uploader au niveau du formulaire HTML</h2>
<p>
	Ci dessous, un exemple de formulaire d&#39;upload&nbsp;de fichiers et traitement des donn&eacute;es.</p>
<p>
	Il est possible de limiter, c&ocirc;t&eacute; client, la taille des fichiers upload&eacute;s, tout en gardant &agrave; l&#39;esprit que<strong> la taille max fix&eacute;e c&ocirc;t&eacute; client ne peut pas &ecirc;tre sup&eacute;rieure &agrave; celle fix&eacute;e par le serveur.&nbsp;</strong></p>
<p>
	Pour fixer une taille limite sur le fichier &agrave;&nbsp;t&eacute;l&eacute;charger par le formulaire il faut ajouter un champs de type <strong><em>hidden&nbsp; </em></strong>et de name&nbsp;<em><strong>MAX_FILE_SIZE&nbsp;(</strong></em>avant la d&eacute;claration de l&#39;input file), dont la valeur est la taille limite qu&#39;on veut donner au fichier t&eacute;l&eacute;charg&eacute; (l&#39;unit&eacute; est l&#39;octet).</p>
<div class="davertissement">
	Attention : La valeur de&nbsp;MAX_FILE_SIZE&nbsp; peut &ecirc;tre facilement modifi&eacute;e par un utilisateur fac&eacute;tieux qui sait utiliser <em>click droit&gt;Insp&eacute;cter&nbsp;l&#39;&eacute;l&eacute;ment</em>, nous ne pouvons donc pas nous fier &agrave; 100% &agrave; cette limite !&nbsp;</div>
<p>
	<u>Code HTML</u> :</p>
<pre class="code_php brush: xml ">
&lt;form action=&quot;upload.php&quot; method=&quot;post&quot; name=&quot;import_fichier&quot; enctype=&quot;multipart/form-data&quot;/&gt;
    &lt;label&gt; Charger un fichier (tous formats) : &lt;/label&gt;&lt;br /&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;104857600&quot; /&gt; &lt;!-- Limite 100Mo --&gt;
    &lt;input type=&quot;file&quot; name=&quot;mon_fichier&quot; id=&quot;mon_fichier&quot; /&gt;&lt;br /&gt;  
    &lt;input type=&quot;submit&quot; value=&quot;Charger un fichier&quot; /&gt;&lt;br/&gt; 
 &lt;/form&gt;</pre>
<h2>
	Limiter la taille du fichier upload&eacute;&nbsp;en sortie de formulaire (partie PHP)&nbsp;</h2>
<p>
	Nous attaquons ici le traitement des param&egrave;tres envoy&eacute;s par le formulaire de t&eacute;l&eacute;chargement de fichiers.</p>
<p>
	Comme indiqu&eacute; ci dessus, la v&eacute;rification HTML n&#39;&eacute;tant pas suffisante, nous allons refaire un contr&ocirc;le sur la taille du fichier que l&#39;utlisateur a t&eacute;l&eacute;charg&eacute; en utilisant la fonction&nbsp;<strong><em>filesize&nbsp;</em></strong>qui calcule la taille d&#39;un fichier.</p>
<p>
	<u>Code PHP</u> (fichier upload.php) :</p>
<pre class="code_php brush: php ">
&lt;?php
&nbsp;&nbsp;&nbsp; $repertoireDestination = &quot;uploads/&quot;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; $NomDuFichier = $_FILES[&quot;mon_fichier&quot;][&quot;name&quot;];
&nbsp;&nbsp;&nbsp; $taille_max&nbsp;&nbsp;&nbsp; = 104857600;
&nbsp;&nbsp;&nbsp; $taille_fichier = filesize($_FILES[&#39;mon_fichier&#39;][&#39;tmp_name&#39;]);
&nbsp;&nbsp;&nbsp; if ($taille_fichier &gt; $taille_max){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Vous avez d&eacute;pass&eacute; la taille de fichier autoris&eacute;e&quot;;
&nbsp;&nbsp;&nbsp; }else if ($NomDuFichier !=&#39;&#39;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( is_uploaded_file($_FILES[&quot;mon_fichier&quot;][&quot;tmp_name&quot;])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file_exists ($repertoireDestination.$NomDuFichier)){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &#39;Le fichier &#39;.$NomDuFichier.&#39; existe d&eacute;j&agrave;&lt;br/&gt;&#39;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!rename($_FILES[&quot;mon_fichier&quot;][&quot;tmp_name&quot;],
                $repertoireDestination.$NomDuFichier))
&nbsp;&nbsp;          {&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Le d&eacute;placement du fichier temporaire a &eacute;chou&eacute;&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Le fichier &quot;. $NomDuFichier .&quot; n&#39;a pas &eacute;t&eacute; upload&eacute;&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
 }
?&gt; </pre>
<p>
	&nbsp;</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-242/">Imposer une taille max aux fichiers uploadés sur le serveur</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-242/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fonction include() en PHP et URL externe</title>
		<link>https://memo-web.fr/categorie-php-199/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-php-199</link>
					<comments>https://memo-web.fr/categorie-php-199/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Sun, 30 Jun 2013 07:42:51 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[PHP4]]></category>
		<category><![CDATA[URL]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=92</guid>

					<description><![CDATA[<p>Il est possible en PHP d&#8217;utiliser la fonction include() avec en paramètre, un fichier appelé par son URL. Exemple d&#8217;include avec URL&#160;absolue Cette possibilité semble être désactivée&#160;par défaut en PHP 5 (elle était couramment utilisée en PHP4). Cette méthode présente des risques de vulnérabilités&#160;et n&#8217;est pas recommandée, néanmoins si vous avez besoin, vous pouvez l&#8217;auroriser [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-php-199/">Fonction include() en PHP et URL externe</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Il est possible en PHP d&rsquo;utiliser la fonction include() avec en paramètre, un fichier appelé par son URL.</p>



<h2 class="wp-block-heading">Exemple d&rsquo;include avec URL&nbsp;absolue</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;?php include ('http://memo-web.fr/monfichier.php'); ?></pre>



<p>Cette possibilité semble être désactivée&nbsp;par défaut en PHP 5 (elle était couramment utilisée en PHP4).</p>



<p>Cette méthode présente des risques de vulnérabilités&nbsp;et n&rsquo;est pas recommandée, néanmoins si vous avez besoin, vous pouvez l&rsquo;auroriser en rajoutant dans votre fichier php.ini les directives suivantes :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">allow_url_include = 1
allow_url_fopen = 1 </pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-php-199/">Fonction include() en PHP et URL externe</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-php-199/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Problème de slash sur passage de paramètres dans formulaire</title>
		<link>https://memo-web.fr/categorie-html-13/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-html-13</link>
					<comments>https://memo-web.fr/categorie-html-13/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Tue, 16 Oct 2012 16:35:57 +0000</pubDate>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Formulaire]]></category>
		<category><![CDATA[php.ini]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=51</guid>

					<description><![CDATA[<p>Dans un formulaire HTML, je saisis dans une balise une valeur contenant une apostrophe, disons : A la récupération du paramètre « etat » j&#8217;obtiens : &#160;$_GET[« etat »]= « l&#8217;ouragan est passé », &#160;avec un backslash&#160;agaçant. Que faire ? Soit j&#8217;utilise la fonction stripSlashes($_GET[« etat »]) qui supprime les backslashes Soit je modifie le paramètre&#160;magic_quotes_gpc&#160;&#160;de mon fichier php.ini de WAMP. Imposer la [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-html-13/">Problème de slash sur passage de paramètres dans formulaire</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Dans un formulaire HTML, je saisis dans une balise une valeur contenant une apostrophe, disons :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;input type="text" name="etat"  value="l'ouragan est passé"  /></pre>



<p>A la récupération du paramètre « etat » j&rsquo;obtiens : &nbsp;$_GET[« etat »]= « l&rsquo;ouragan est passé », &nbsp;avec un backslash&nbsp;agaçant. Que faire ?</p>



<ol class="wp-block-list"><li>Soit j&rsquo;utilise la fonction stripSlashes($_GET[« etat »]) qui supprime les backslashes</li><li>Soit je modifie le paramètre&nbsp;<strong>magic_quotes_gpc&nbsp;&nbsp;</strong>de mon fichier php.ini de WAMP. Imposer la valeur de&nbsp;<strong>magic_quotes_gpc&nbsp;</strong>&nbsp;à « off », empêchera l&rsquo;ajout de backslashes au passage de paramètres par formulaire mais aussi dans les cookies.&nbsp;&nbsp;&nbsp; Sous l&rsquo;hébergeur&nbsp;<strong>PHPNux</strong>, il est possible de modifier ce paramètre directement dans votre espace client, sous&nbsp;<strong>1&amp;1</strong>, il faut créer un fichier&nbsp;<em>php.ini</em>&nbsp;à l&rsquo;aide d&rsquo;un bloc note contenant :</li></ol>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">magic_quotes_gpc = off</pre>



<p>et de le placer dans les répertoires de votre site nécessitant cette fonctionnalité.</p>



<p>&nbsp;Chez&nbsp;<strong>OVH&nbsp;</strong>il faut rajouter la ligne suivante dans le fichier&nbsp;<em>.htacces</em></p>



<pre class="wp-block-preformatted">SetEnv MAGIC_QUOTES 0</pre>



<p></p>



<p>Les magic_quotes visent à protéger les formulaires des injections SQL, mais il est fortement recommendé d&rsquo;utiliser plutôt la fonction&nbsp;<strong>mysql_real_escape_string</strong>() plus complète qui neutralise, en les échappant tous les caractères susceptibles d&rsquo;être utilisés lors d&rsquo;une injection SQL :</p>



<ul class="wp-block-list"><li>les guillemets simples &lsquo; ; &nbsp;&nbsp;&nbsp;</li><li>les guillemets doubles  » : &nbsp;&nbsp;&nbsp;</li><li>les slashes / ; &nbsp;&nbsp;&nbsp;</li><li>les caractères NULL ; &nbsp;&nbsp;&nbsp;</li><li>les caractères suivants : n, r, x00 et x1a.</li></ul>



<p>Avertissement&nbsp;:<br>mysql_real_escape_string() est dépréciée depuis&nbsp;PHP 5.5.0</p>



<p>source :&nbsp;<a href="http://www.phpfacile.com/creer_un_site_web_en_php/formulaire_1.php5">http://www.phpfacile.com/creer_un_site_web_en_php/formulaire_1.php5</a></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-html-13/">Problème de slash sur passage de paramètres dans formulaire</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-html-13/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Problème à l&#8217;affichage de l&#8217;heure en PHP &#8211; 2h de moins</title>
		<link>https://memo-web.fr/categorie-php-124/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-php-124</link>
					<comments>https://memo-web.fr/categorie-php-124/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Mon, 02 Jul 2012 13:49:42 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Dates]]></category>
		<category><![CDATA[php.ini]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=139</guid>

					<description><![CDATA[<p>Si la fonction date de php vous affiche deux heures de moins (pour la France qui est en GMT+2, varie en fonction du fuseau horaire) Ouvrez dans WAMP le fichier php.ini (click sur icône de WAMP &#62; menu PHP &#62; php.ini), ouvrez php.ini avec un éditeur quelconque et modifiez la ligne tel que suit (au [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-php-124/">Problème à l’affichage de l’heure en PHP – 2h de moins</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Si la fonction date de php vous affiche deux heures de moins (pour la France qui est en GMT+2, varie en fonction du fuseau horaire)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">echo 'la date : '.date("Y-m-d H:i:s");</pre>



<p>Ouvrez dans WAMP le fichier php.ini (click sur icône de WAMP &gt; menu PHP &gt; php.ini), ouvrez php.ini avec un éditeur quelconque et modifiez la ligne tel que suit (au besoin, décommentez la en enlevant le point virgule qui la précède) :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">date.timezone = "Europe/Brussels"</pre>



<p>Et n&rsquo;oubliez pas de&nbsp;redémarrer les services&nbsp;WAMP après toute modification du fichier php.ini</p>



<p>(Si vous n&rsquo;êtes pas en France,&nbsp;<a href="http://us3.php.net/manual/en/timezones.php" target="_blank" rel="noreferrer noopener">trouvez l&rsquo;identifiant de votre fuseau horaire</a>)</p>



<p>PHP utilise en effet l&rsquo;heure du serveur, et non l&rsquo;heure de la machine.</p>



<p>Si l&rsquo;on n&rsquo;a pas accès au php.ini, on peut utiliser la fonction php&nbsp;<a href="http://fr2.php.net/manual/fr/function.date-default-timezone-set.php" target="_blank" rel="noreferrer noopener">date_default_timezone_set</a>&nbsp;qui définit le décalage horaire à appliquer par défaut de toutes les fonctions de date et heure en PHP<br></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-php-124/">Problème à l’affichage de l’heure en PHP – 2h de moins</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-php-124/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ajout de @ devant @mysql_connect</title>
		<link>https://memo-web.fr/categorie-mysql-105/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-mysql-105</link>
					<comments>https://memo-web.fr/categorie-mysql-105/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Sun, 26 Feb 2012 23:00:00 +0000</pubDate>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php.ini]]></category>
		<guid isPermaLink="false">http://memo-web.fr/ajout-de-devant-mysql_connect/</guid>

					<description><![CDATA[<p>L&#39;ajout du caract&#232;re arobase @ devant @mysql_connect, permet de ne pas afficher les &#233;ventuelles erreurs Mysql lors de l&#39;affichage d&#39;une page. L&#39;affichage de ces erreurs &#233;tant utile pour le debuggage, mais pas forc&#233;ment pertinente en production, on peut configurer error_reporting dans le fichier php.ini du serveur de production afin qu&#39;il n&#39;affiche pas ces erreurs en [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-mysql-105/">Ajout de @ devant @mysql_connect</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	L&#39;ajout du caract&egrave;re arobase @ devant @mysql_connect, permet de ne pas afficher les &eacute;ventuelles erreurs Mysql lors de l&#39;affichage d&#39;une page.</p>
<p>
	L&#39;affichage de ces erreurs &eacute;tant utile pour le debuggage, mais pas forc&eacute;ment pertinente en production, on peut configurer <a href="http://si2.php.net/manual/fr/errorfunc.configuration.php#ini.error-reporting" target="_blank" rel="noopener noreferrer"><em>error_reporting</em></a> dans le fichier <strong>php.ini </strong>du serveur de production afin qu&#39;il n&#39;affiche pas ces erreurs en production</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-mysql-105/">Ajout de @ devant @mysql_connect</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-mysql-105/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
