cvs: phpdoc-fr /chapters tutorial.xml
| From: | Damien Seguy | Date: | Wed, 02 Oct 2002 01:58:19 +0000 |
| Subject: | cvs: phpdoc-fr /chapters tutorial.xml | ||
| Groups: | php.doc.fr | ||
| Request: | Send a blank email to doc-fr+get-51@lists.php.net to get a copy of this message | ||
dams Tue Oct 1 21:58:19 2002 EDT
Added files:
/phpdoc-fr/chapters tutorial.xml
Log:
typo fixing
Index: phpdoc-fr/chapters/tutorial.xml +++ phpdoc-fr/chapters/tutorial.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <chapter id="tutorial"> <title>Une introduction à PHP</title> <para> Dans cette section, nous voulons illustrer les principes de base de PHP dans une courte introduction. Ce chapitre traite uniquement de créations de pages web dynamiques avec PHP, laissant de coté temporairement les autres possibilités de PHP. Voyez la section <link linkend="intro-whatcando">Ce que peut faire PHP</link> pour plus d'informations. </para> <para> Les pages web qui exploitent PHP sont traitées comme des pages HTML standards, et vous pouvez les créer, éditer et effacer tout comme vous le faites normalement avec des pages HTML classiques. </para> <sect1 id="tutorial.requirements"> <title>Le nécessaire</title> <para> Dans ce tutoriel, nous présumons que vous avez un serveur web avec le support PHP activé, et que les fichiers terminés par l'extension <filename>.php</filename> sont traités par PHP. Sur la plus part des serveurs, c'est la configuration par défaut, mais n'hésitez pas à interroger votre administrateur système en cas de doute. Si votre serveur web supporte PHP, vous n'avez rien à faire. Simplement, créez un dossier, puis créez un fichier texte, avec l'extension <filename>.php</filename> : le serveur va automatiquement l'exécuter avec PHP. Il n'y a pas de compilation, ou d'installation compliquée. Gardez en tête que les fichiers sont comparables à des fichiers HTML, dans lequels vous allez utiliser des balises magiques, qui feront beaucoup de choses pour vous. </para> </sect1> <sect1 id="tutorial.firstpage"> <title>Votre première page PHP</title> <para> Créez un fichier appelé <filename>bonjour.php</filename> dans votre dossier webm avec le contenu suivant : </para> <para> <example> <title>Notre premier script PHP : <filename>bonjour.php</filename></title> <programlisting role="php"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <?php echo "Bonjour le monde<p>"; ?> </body> </html> ]]> </programlisting> <para> Le résultat de ce script sera : <screen role="html"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> Bonjour le monde<p> </body> </html> ]]> </screen> </para> </example> </para> <para> Notez que cela n'est pas un script CGI. Ce fichier a nul besoin d'exécutable ou de configuration particulière. C'est vraiment comme un fichier HTML classique, qui comporte des balises spéciales, capables de réaliser des tâches particulières. </para> <para> Ce programme est extrêmement simple et vous n'avez pas besoin de PHP pour créer une page web comme ceci. Elle ne fait qu'afficher <literal>Bonjour le monde</literal>, grâce à la fonction <function>echo</function> de PHP. </para> <para> Si vous avez essayé cet exemple, et qu'il n'a rien affiché de spécial, ou même qu'un dialogue a surgit pour vous proposer de le télécharger, ou encore vous avez vu le code tel que nous l'avons écrit dans le fichier, alors votre serveur web ne supporte probablement pas le PHP. Demandez à votre administrateur de l'activer pour vous, en utilisant le chapitre <link linkend="installation">Installation</link>. Si vous voulez développer des scripts PHP localement, voyez la section de <ulink url="&url.php.downloads;">téléchargements</ulink>. Vous pouvez développer en PHP, localement, sur tous les systèmes d'exploitation. N'oubliez pas d'installer aussi un serveur web approprié. </para> <para> Le point important de cet exemple était de montrer le format des balises spéciales PHP. Nous avons utilisé ici <literal><?php</literal> pour indiquer le début de la balise PHP. Puis, nous avons introduit les commadnes PHP et refermé les balises PHP avec <literal>?></literal>. Vous pouvez passer du mode PHP au mode HTML et vice-versa, de cette manière, et à votre guise. </para> </sect1> <sect1 id="tutorial.useful"> <title>Trucs pratiques</title> <para> Réalisons maintenant quelque chose de plus puissant. Nous allons vérifier le type de navigateur que le visiteur de notre site utilise. Pour cela, nous allons accéder aux informations que le navigateur du visiteur nous envoie, lors de sa requête HTTP. Cette information est stockée dans une <link linkend="language.variables">variable</link>. Les variables sont faciles à repérer, car elles commencent toutes par un signe dollar. La variable qui nous interesse ici est is <varname>$_SERVER["HTTP_USER_AGENT"]</varname>. </para> <note> <title>Attention pour les auto-globales de PHP</title> <para> <link linkend="reserved.variables.server">$_SERVER</link> est une variable spéciale de PHP, qui contient toutes les informations relatives au serveur web. C'est une variable réservée de PHP, et une auto-globale. Reportez-vous aux pages du manuel traitant des <link linkend="language.variables.superglobals">Auto-globales</link> (aussi connues sous le noms de super-globales). Ces variables spéciales ont été introduites en PHP 4.1.0. Auparavant, il fallait utiliser les variables <varname>$HTTP_*_VARS</varname>, comme par exemple <varname>$HTTP_SERVER_VARS</varname>. Bien qu'obsolètes, ces variables existent toujours. </para> </note> <para> Pour afficher cette variable, nous pouvons simplement faire : </para> <para> <example> <title>Afficher le contenu d'une variable (élément de tableau)</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> ]]> </programlisting> <para> Un résultat possible du script pourra alors être : <screen role="html"> Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) </screen> </para> </example> </para> <para> Il y a de nombreux <link linkend="language.types">types</link> de variables disponibles en PHP. Dans l'exemple ci-dessus, nous avons affiché un élément de <link linkend="language.types.array">Tableau (Array)</link>. Les tableaux peuvent être très utiles. </para> <para> <varname>$_SERVER</varname> est juste une variable qui est automatiquement disponible dans votre script. Une liste de toutes les variables qui sont rendues disponibles est fournie dans la section <link linkend="reserved.variables">Variables réservées</link>. Vous pouvez aussi en obtenir une liste complète en créant un fichier qui comme ceci : </para> <para> <example> <title>Afficher toutes les variables prédéfinies <function>phpinfo</function></title> <programlisting role="php"> <![CDATA[ <?php phpinfo(); ?> ]]> </programlisting> </example> </para> <para> Lorsque vous chargez cette page dans votre navigateur, vous allez découvrir une page pleine d'informations sur PHP, ainsi qu'une liste des variables qui sont disponibles. </para> <para> Vous pouvez ajouter plusieurs commandes PHP dans une balise PHP, et créer de petits blocs de code qui réalisent des opérations plus complexes qu'un simple afficahge. Par exemple, si nous voulons vérifier que le navigateur est bien de la famille des Internet Explorer, nous pouvons faire cela : </para> <para> <example> <title>Exemple utilisant les <link linkend="control-structures">structures de contrôle</link> et les <link linkend="functions">fonctions</link></title> <programlisting role="php"> <![CDATA[ <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { echo "Vous utilisez Internet Explorer<br />"; } ?> ]]> </programlisting> <para> Le résultat de ce script, si vous utilisez Internet Explorer, sera : <screen role="html"> <![CDATA[ Vous utilisez Internet Explorer<br /> ]]> </screen> </para> </example> </para> <para> Ici, nous introduisont plusieurs nouveaux concepts. Nous avons une structure <link linkend="control-structures.if">if</link>. Si vous êtes familier avec les syntaxes de base du langage C, cela ne vous surprendra. Si vous ne connaissez pas assez le langage C ou un autre langage où la syntaxe est similaire à celle ci-dessus, il vaudrait mieux que vous lisiez une introduction à PHP, et assimiliez les premiers chapitres, ou bien lisez le chapitre consacré à <link linkend="langref">la référence du langage</link>. Vous pouvez trouvez une liste de livres PHP à <ulink url="&url.php.books;">&url.php.books;</ulink>. </para> <para> Le second concept que nous avons introduit est la fonction <function>strstr</function>. <function>strstr</function> est une fonction intégrée à PHP, qui recherche la présence d'une chaîne dans une autre. Dans notre cas, nous avons recherché la chaîne <literal>"MSIE"</literal> dans la chaîne <varname>$_SERVER["HTTP_USER_AGENT"]</varname>. Si cette chaîne est trouvée, la fonction retourne &true; et sinon, &false;. Si elle retourne &true;, la commande <link linkend="control-structures.if">if</link> reçoit &true; et le code entre accolades {} est exécuté. N'hésitez pas à expérimenter d'autres exemples, à l'aide de <link linkend="control-structures.if">if</link>, <link linkend="control-structures.else">else</link>, et d'autres fonctions comme <function>strtoupper</function> et <function>strlen</function>. Chaque page de la documentation contient aussi des exemples. </para> <para> Nous pouvons aussi progresser et vous montrer comment utiliser le mode PHP, au milieu du code HTML : </para> <para> <example> <title>Passer du mode PHP au mode HTML et vice-versa</title> <programlisting role="php"> <![CDATA[ <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { ?> <h3>strstr a retourné TRUE</h3> <center><b>Vous utilisez Internet Explorer</b></center> <?php } else { ?> <h3>strstr a retourné FALSE</h3> <center><b>Vous n'utilisez pas Internet Explorer</b></center> <?php } ?> ]]> </programlisting> <para> Un exemple de résultat obtenu dans ce script est : <screen role="html"> <![CDATA[ <h3>strstr a retourné TRUE</h3> <center><b>Vous utilisez Internet Explorer</b></center> ]]> </screen> </para> </example> </para> <para> Au lieu d'utilise une commande <function>echo</function>, pour afficher du texte, vous pouvez utiliser du code HTML pur. Le point important a noter ici et que la logique de programmation est conservée. Seul un des deux blocs HTML sera affiché, suivant que le navigateur utilise ou pas Internet Explorer. </para> </sect1> <sect1 id="tutorial.forms"> <title>Utiliser un formulaire</title> <para> L'un des points forts de PHP est sa capacité à gérer les formulaires. Le concept de base qui est important à comprendre est que tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action. Lisez le chapitre du manuel concernant les <link linkend="language.variables.external">variables d'origine externe à PHP</link> pour plus d'informations et d'examples sur comment utiliser les formulaires. Voici un exemple de formulaire HTML : </para> <para> <example> <title>U*n simple formulaire HTML</title> <programlisting role="html"> <![CDATA[ <form action="action.php" method="POST"> Votre nom : <input type="text" name="nom" /> Votre age : <input type="text" name="age" /> <input type="submit" value="OK"> </form> ]]> </programlisting> </example> </para> <para> Il n'y rien de particulier dans ce formulaire. Il est en HTML pur, sans aucune configuration particulière. Lorsque le visiteur remplit le formulaire, et clique sur le bouton d'envoi, le fichier <filename>action.php</filename> est appelé. Dans ce fichier, vous pouvez écrire le script suivant : </para> <para> <example> <title>Afficher des données issues d'un formulaire</title> <programlisting role="php"> <![CDATA[ Bonjour, <?php echo $_POST["nom"]; ?>. Tu as <?php echo $_POST["age"]; ?> ans. ]]> </programlisting> <para> Voici le résultat que vous pourriez obtenir, dépendemment des valeurs que vous avez saisies : <screen role="html"> <![CDATA[ Bonjour Jean. Tu as 29 ans. ]]> </screen> </para> </example> </para> <para> Le fonctionnement du script devrait être évident. Il n'y a rien de plus compliqué. Les variables <varname>$_POST["nom"]</varname> et <varname>$_POST["age"]</varname> sont automatiquement créés par PHP. Un peut plus tôt dans ce tutorial, nous avons utilisé la variable <varname>$_SERVER</varname>, une auto-globale. Maintenant, nous avons introduit une autre auto-globale <link linkend="reserved.variables.post">$_POST</link> qui contient toutes les données envoyées par la méthode POST. Notez que dans notre formulaire, nous avons choisi la méthode <emphasis>method</emphasis>. Si vous avions utilisé la méthode <emphasis>GET</emphasis> alors notre formulaire aurait placé ses informations dans la variable <link linkend="reserved.variables.get">$_GET</link>, une autre auto-globale. Vous pouvez aussi utiliser la variable <link linkend="reserved.variables.request">$_REQUEST</link>, si vous ne souhaitez pas vous embarrasser de la méthode utilisée. Elle contient un mélange des données de GET, POST, COOKIE et FILE. Voyez aussi la fonction <function>import_request_variables</function>. </para> </sect1> <sect1 id="tutorial.oldcode"> <title>Utiliser des codes anciens avec les nouvelles versions de PHP</title> <para> Maintenant que PHP est devenu un langage de script populaire, il existe de nombreuses ressources qui vous proposent des portions de code que vous pouvez réutiliser dans vos codes. Pour la pluspart, les dévelopeurs de PHP ont tâché d'assurer la compatibilité ascendante, ce qui fait que de nombreux scripts écrits pour les anciennes versions sont aussi valables pour les nouvelles versions de PHP, idéalement sans modifications. En pratique, certaines modifications doivent être apportées. </para> <para> Les deux modifications récentes les plus importantes qui affectent les anciens codes sont : <itemizedlist> <listitem> <simpara> Les anciennes variables <varname>$HTTP_*_VARS</varname> (qui devaient être indiquées comme globales pour être utilisées dans une fonction ou une méthode) sont obsolètes. Les nouveaux <link linkend="language.variables.superglobals">tableaux auto-globaux</link> ont été introduit en PHP 4.1.0. Ce sont les variables suivantes : <varname>$_GET</varname>, <varname>$_POST</varname>, <varname>$_COOKIE</varname>, <varname>$_SERVER</varname>, <varname>$_ENV</varname>, <varname>$_REQUEST</varname> et <varname>$_SESSION</varname>. Les vieux tableaux <varname>$HTTP_*_VARS</varname>, tels que <varname>$HTTP_POST_VARS</varname> existent toujours depuis PHP 3. </simpara> </listitem> <listitem> <simpara> Les variables externes ne sont plus enregistrées dans l'environnement variable par défaut. En d'autres termes, depuis PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, la directive PHP <link linkend="ini.register-globals">register_globals</link> vaut <emphasis>off</emphasis> par défaut dans le &php.ini;. La méthode recommandée pour accéder à ces valeurs, est via les tableaux auto-globaux mentionnés ci-dessus. Les anciens scripts, livres et tutoriaux continuent de considérer que cette directive devrait être à <literal>on</literal>. Lorsque cette directive est à <literal>on</literal>, vous pouvez utiliser la variable <varname>$id</varname>, si l'URL <literal>http://www.exemple.com/foo.php?id=42</literal> a été appelée. Quelle que soit la valeur de la directive, <varname>$_GET['id']</varname> est toujours disponible. </simpara> </listitem> </itemizedlist> Pour plus de détails sur ces modifications, reportez-vous à <link linkend="language.variables.predefined">variables prédéfinies</link>. </para> </sect1> <sect1 id="tutorial.whatsnext"> <title>Et après?</title> <para> Avec ce que vous savez, vous êtes maintenant capable de comprendre l'essentiel de la documentation PHP, et les différents scripts d'exemple disponibles dans les archives. Vous pouvez aussi trouver d'autres exemples dans la section liens ("links", en anglais) du site <ulink url="&url.php.links;">&url.php.links;</ulink>. </para> </sect1> </chapter> <!-- 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 -->
Index: phpdoc-fr/chapters/tutorial.xml +++ phpdoc-fr/chapters/tutorial.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <chapter id="tutorial"> <title>Une introduction à PHP</title> <para> Dans cette section, nous voulons illustrer les principes de base de PHP dans une courte introduction. Ce chapitre traite uniquement de créations de pages web dynamiques avec PHP, laissant de coté temporairement les autres possibilités de PHP. Voyez la section <link linkend="intro-whatcando">Ce que peut faire PHP</link> pour plus d'informations. </para> <para> Les pages web qui exploitent PHP sont traitées comme des pages HTML standards, et vous pouvez les créer, éditer et effacer tout comme vous le faites normalement avec des pages HTML classiques. </para> <sect1 id="tutorial.requirements"> <title>Le nécessaire</title> <para> Dans ce tutoriel, nous présumons que vous avez un serveur web avec le support PHP activé, et que les fichiers terminés par l'extension <filename>.php</filename> sont traités par PHP. Sur la plus part des serveurs, c'est la configuration par défaut, mais n'hésitez pas à interroger votre administrateur système en cas de doute. Si votre serveur web supporte PHP, vous n'avez rien à faire. Simplement, créez un dossier, puis créez un fichier texte, avec l'extension <filename>.php</filename> : le serveur va automatiquement l'exécuter avec PHP. Il n'y a pas de compilation, ou d'installation compliquée. Gardez en tête que les fichiers sont comparables à des fichiers HTML, dans lequels vous allez utiliser des balises magiques, qui feront beaucoup de choses pour vous. </para> </sect1> <sect1 id="tutorial.firstpage"> <title>Votre première page PHP</title> <para> Créez un fichier appelé <filename>bonjour.php</filename> dans votre dossier webm avec le contenu suivant : </para> <para> <example> <title>Notre premier script PHP : <filename>bonjour.php</filename></title> <programlisting role="php"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <?php echo "Bonjour le monde<p>"; ?> </body> </html> ]]> </programlisting> <para> Le résultat de ce script sera : <screen role="html"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> Bonjour le monde<p> </body> </html> ]]> </screen> </para> </example> </para> <para> Notez que cela n'est pas un script CGI. Ce fichier a nul besoin d'exécutable ou de configuration particulière. C'est vraiment comme un fichier HTML classique, qui comporte des balises spéciales, capables de réaliser des tâches particulières. </para> <para> Ce programme est extrêmement simple et vous n'avez pas besoin de PHP pour créer une page web comme ceci. Elle ne fait qu'afficher <literal>Bonjour le monde</literal>, grâce à la fonction <function>echo</function> de PHP. </para> <para> Si vous avez essayé cet exemple, et qu'il n'a rien affiché de spécial, ou même qu'un dialogue a surgit pour vous proposer de le télécharger, ou encore vous avez vu le code tel que nous l'avons écrit dans le fichier, alors votre serveur web ne supporte probablement pas le PHP. Demandez à votre administrateur de l'activer pour vous, en utilisant le chapitre <link linkend="installation">Installation</link>. Si vous voulez développer des scripts PHP localement, voyez la section de <ulink url="&url.php.downloads;">téléchargements</ulink>. Vous pouvez développer en PHP, localement, sur tous les systèmes d'exploitation. N'oubliez pas d'installer aussi un serveur web approprié. </para> <para> Le point important de cet exemple était de montrer le format des balises spéciales PHP. Nous avons utilisé ici <literal><?php</literal> pour indiquer le début de la balise PHP. Puis, nous avons introduit les commadnes PHP et refermé les balises PHP avec <literal>?></literal>. Vous pouvez passer du mode PHP au mode HTML et vice-versa, de cette manière, et à votre guise. </para> </sect1> <sect1 id="tutorial.useful"> <title>Trucs pratiques</title> <para> Réalisons maintenant quelque chose de plus puissant. Nous allons vérifier le type de navigateur que le visiteur de notre site utilise. Pour cela, nous allons accéder aux informations que le navigateur du visiteur nous envoie, lors de sa requête HTTP. Cette information est stockée dans une <link linkend="language.variables">variable</link>. Les variables sont faciles à repérer, car elles commencent toutes par un signe dollar. La variable qui nous interesse ici est is <varname>$_SERVER["HTTP_USER_AGENT"]</varname>. </para> <note> <title>Attention pour les auto-globales de PHP</title> <para> <link linkend="reserved.variables.server">$_SERVER</link> est une variable spéciale de PHP, qui contient toutes les informations relatives au serveur web. C'est une variable réservée de PHP, et une auto-globale. Reportez-vous aux pages du manuel traitant des <link linkend="language.variables.superglobals">Auto-globales</link> (aussi connues sous le noms de super-globales). Ces variables spéciales ont été introduites en PHP 4.1.0. Auparavant, il fallait utiliser les variables <varname>$HTTP_*_VARS</varname>, comme par exemple <varname>$HTTP_SERVER_VARS</varname>. Bien qu'obsolètes, ces variables existent toujours. </para> </note> <para> Pour afficher cette variable, nous pouvons simplement faire : </para> <para> <example> <title>Afficher le contenu d'une variable (élément de tableau)</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> ]]> </programlisting> <para> Un résultat possible du script pourra alors être : <screen role="html"> Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) </screen> </para> </example> </para> <para> Il y a de nombreux <link linkend="language.types">types</link> de variables disponibles en PHP. Dans l'exemple ci-dessus, nous avons affiché un élément de <link linkend="language.types.array">Tableau (Array)</link>. Les tableaux peuvent être très utiles. </para> <para> <varname>$_SERVER</varname> est juste une variable qui est automatiquement disponible dans votre script. Une liste de toutes les variables qui sont rendues disponibles est fournie dans la section <link linkend="reserved.variables">Variables réservées</link>. Vous pouvez aussi en obtenir une liste complète en créant un fichier qui comme ceci : </para> <para> <example> <title>Afficher toutes les variables prédéfinies <function>phpinfo</function></title> <programlisting role="php"> <![CDATA[ <?php phpinfo(); ?> ]]> </programlisting> </example> </para> <para> Lorsque vous chargez cette page dans votre navigateur, vous allez découvrir une page pleine d'informations sur PHP, ainsi qu'une liste des variables qui sont disponibles. </para> <para> Vous pouvez ajouter plusieurs commandes PHP dans une balise PHP, et créer de petits blocs de code qui réalisent des opérations plus complexes qu'un simple afficahge. Par exemple, si nous voulons vérifier que le navigateur est bien de la famille des Internet Explorer, nous pouvons faire cela : </para> <para> <example> <title>Exemple utilisant les <link linkend="control-structures">structures de contrôle</link> et les <link linkend="functions">fonctions</link></title> <programlisting role="php"> <![CDATA[ <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { echo "Vous utilisez Internet Explorer<br />"; } ?> ]]> </programlisting> <para> Le résultat de ce script, si vous utilisez Internet Explorer, sera : <screen role="html"> <![CDATA[ Vous utilisez Internet Explorer<br /> ]]> </screen> </para> </example> </para> <para> Ici, nous introduisont plusieurs nouveaux concepts. Nous avons une structure <link linkend="control-structures.if">if</link>. Si vous êtes familier avec les syntaxes de base du langage C, cela ne vous surprendra. Si vous ne connaissez pas assez le langage C ou un autre langage où la syntaxe est similaire à celle ci-dessus, il vaudrait mieux que vous lisiez une introduction à PHP, et assimiliez les premiers chapitres, ou bien lisez le chapitre consacré à <link linkend="langref">la référence du langage</link>. Vous pouvez trouvez une liste de livres PHP à <ulink url="&url.php.books;">&url.php.books;</ulink>. </para> <para> Le second concept que nous avons introduit est la fonction <function>strstr</function>. <function>strstr</function> est une fonction intégrée à PHP, qui recherche la présence d'une chaîne dans une autre. Dans notre cas, nous avons recherché la chaîne <literal>"MSIE"</literal> dans la chaîne <varname>$_SERVER["HTTP_USER_AGENT"]</varname>. Si cette chaîne est trouvée, la fonction retourne &true; et sinon, &false;. Si elle retourne &true;, la commande <link linkend="control-structures.if">if</link> reçoit &true; et le code entre accolades {} est exécuté. N'hésitez pas à expérimenter d'autres exemples, à l'aide de <link linkend="control-structures.if">if</link>, <link linkend="control-structures.else">else</link>, et d'autres fonctions comme <function>strtoupper</function> et <function>strlen</function>. Chaque page de la documentation contient aussi des exemples. </para> <para> Nous pouvons aussi progresser et vous montrer comment utiliser le mode PHP, au milieu du code HTML : </para> <para> <example> <title>Passer du mode PHP au mode HTML et vice-versa</title> <programlisting role="php"> <![CDATA[ <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { ?> <h3>strstr a retourné TRUE</h3> <center><b>Vous utilisez Internet Explorer</b></center> <?php } else { ?> <h3>strstr a retourné FALSE</h3> <center><b>Vous n'utilisez pas Internet Explorer</b></center> <?php } ?> ]]> </programlisting> <para> Un exemple de résultat obtenu dans ce script est : <screen role="html"> <![CDATA[ <h3>strstr a retourné TRUE</h3> <center><b>Vous utilisez Internet Explorer</b></center> ]]> </screen> </para> </example> </para> <para> Au lieu d'utilise une commande <function>echo</function>, pour afficher du texte, vous pouvez utiliser du code HTML pur. Le point important a noter ici et que la logique de programmation est conservée. Seul un des deux blocs HTML sera affiché, suivant que le navigateur utilise ou pas Internet Explorer. </para> </sect1> <sect1 id="tutorial.forms"> <title>Utiliser un formulaire</title> <para> L'un des points forts de PHP est sa capacité à gérer les formulaires. Le concept de base qui est important à comprendre est que tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action. Lisez le chapitre du manuel concernant les <link linkend="language.variables.external">variables d'origine externe à PHP</link> pour plus d'informations et d'examples sur comment utiliser les formulaires. Voici un exemple de formulaire HTML : </para> <para> <example> <title>U*n simple formulaire HTML</title> <programlisting role="html"> <![CDATA[ <form action="action.php" method="POST"> Votre nom : <input type="text" name="nom" /> Votre age : <input type="text" name="age" /> <input type="submit" value="OK"> </form> ]]> </programlisting> </example> </para> <para> Il n'y rien de particulier dans ce formulaire. Il est en HTML pur, sans aucune configuration particulière. Lorsque le visiteur remplit le formulaire, et clique sur le bouton d'envoi, le fichier <filename>action.php</filename> est appelé. Dans ce fichier, vous pouvez écrire le script suivant : </para> <para> <example> <title>Afficher des données issues d'un formulaire</title> <programlisting role="php"> <![CDATA[ Bonjour, <?php echo $_POST["nom"]; ?>. Tu as <?php echo $_POST["age"]; ?> ans. ]]> </programlisting> <para> Voici le résultat que vous pourriez obtenir, dépendemment des valeurs que vous avez saisies : <screen role="html"> <![CDATA[ Bonjour Jean. Tu as 29 ans. ]]> </screen> </para> </example> </para> <para> Le fonctionnement du script devrait être évident. Il n'y a rien de plus compliqué. Les variables <varname>$_POST["nom"]</varname> et <varname>$_POST["age"]</varname> sont automatiquement créés par PHP. Un peut plus tôt dans ce tutorial, nous avons utilisé la variable <varname>$_SERVER</varname>, une auto-globale. Maintenant, nous avons introduit une autre auto-globale <link linkend="reserved.variables.post">$_POST</link> qui contient toutes les données envoyées par la méthode POST. Notez que dans notre formulaire, nous avons choisi la méthode <emphasis>method</emphasis>. Si vous avions utilisé la méthode <emphasis>GET</emphasis> alors notre formulaire aurait placé ses informations dans la variable <link linkend="reserved.variables.get">$_GET</link>, une autre auto-globale. Vous pouvez aussi utiliser la variable <link linkend="reserved.variables.request">$_REQUEST</link>, si vous ne souhaitez pas vous embarrasser de la méthode utilisée. Elle contient un mélange des données de GET, POST, COOKIE et FILE. Voyez aussi la fonction <function>import_request_variables</function>. </para> </sect1> <sect1 id="tutorial.oldcode"> <title>Utiliser des codes anciens avec les nouvelles versions de PHP</title> <para> Maintenant que PHP est devenu un langage de script populaire, il existe de nombreuses ressources qui vous proposent des portions de code que vous pouvez réutiliser dans vos codes. Pour la pluspart, les dévelopeurs de PHP ont tâché d'assurer la compatibilité ascendante, ce qui fait que de nombreux scripts écrits pour les anciennes versions sont aussi valables pour les nouvelles versions de PHP, idéalement sans modifications. En pratique, certaines modifications doivent être apportées. </para> <para> Les deux modifications récentes les plus importantes qui affectent les anciens codes sont : <itemizedlist> <listitem> <simpara> Les anciennes variables <varname>$HTTP_*_VARS</varname> (qui devaient être indiquées comme globales pour être utilisées dans une fonction ou une méthode) sont obsolètes. Les nouveaux <link linkend="language.variables.superglobals">tableaux auto-globaux</link> ont été introduit en PHP 4.1.0. Ce sont les variables suivantes : <varname>$_GET</varname>, <varname>$_POST</varname>, <varname>$_COOKIE</varname>, <varname>$_SERVER</varname>, <varname>$_ENV</varname>, <varname>$_REQUEST</varname> et <varname>$_SESSION</varname>. Les vieux tableaux <varname>$HTTP_*_VARS</varname>, tels que <varname>$HTTP_POST_VARS</varname> existent toujours depuis PHP 3. </simpara> </listitem> <listitem> <simpara> Les variables externes ne sont plus enregistrées dans l'environnement variable par défaut. En d'autres termes, depuis PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, la directive PHP <link linkend="ini.register-globals">register_globals</link> vaut <emphasis>off</emphasis> par défaut dans le &php.ini;. La méthode recommandée pour accéder à ces valeurs, est via les tableaux auto-globaux mentionnés ci-dessus. Les anciens scripts, livres et tutoriaux continuent de considérer que cette directive devrait être à <literal>on</literal>. Lorsque cette directive est à <literal>on</literal>, vous pouvez utiliser la variable <varname>$id</varname>, si l'URL <literal>http://www.exemple.com/foo.php?id=42</literal> a été appelée. Quelle que soit la valeur de la directive, <varname>$_GET['id']</varname> est toujours disponible. </simpara> </listitem> </itemizedlist> Pour plus de détails sur ces modifications, reportez-vous à <link linkend="language.variables.predefined">variables prédéfinies</link>. </para> </sect1> <sect1 id="tutorial.whatsnext"> <title>Et après?</title> <para> Avec ce que vous savez, vous êtes maintenant capable de comprendre l'essentiel de la documentation PHP, et les différents scripts d'exemple disponibles dans les archives. Vous pouvez aussi trouver d'autres exemples dans la section liens ("links", en anglais) du site <ulink url="&url.php.links;">&url.php.links;</ulink>. </para> </sect1> </chapter> <!-- 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 -->