SPIP-Contrib - commentaires Lancer un script PHP dans un article 2011-08-24T14:03:41Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment448842 2011-08-24T14:03:41Z <p>Perso, je suis un peu perdu avec Spip. Mais bon, comme vous le dites il y a une belle communauté qui permet à nous autres néophytes de se perfectionner toujours un peu plus, merci d'ailleurs<small class="fine d-inline"> </small>;)</p> <p><a href="http://www.humourr.com" class="spip_out" rel='nofollow external'>humour</a></p> Lancer un script PHP dans un article 2010-08-24T08:49:59Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment433591 2010-08-24T08:49:59Z <p>Merci pour ta réponse.<br class="autobr"> Le probléme c'est que j'ai déja tout mon code pour les différents formulaires que j'ai, avec dérriére la génération d'un PDF avec les valeurs rentrées et l'enregistrement dans une bdd. <br class="autobr"> C'est pour cela que je souhaiterai intégrerle code directement dans l'article.</p> Lancer un script PHP dans un article 2010-08-24T08:41:22Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment433590 2010-08-24T08:41:22Z <p>Cette méthode est tout à fait déconseillée, et ce tuto concerne de vieilles versions de SPIP.</p> <p>Pour faire un formulaire dans SPIP, il est conseillé d'utiliser CVT : <a href="http://www.spip.net/fr_article3800.html" class="spip_url spip_out auto" rel="nofollow external">http://www.spip.net/fr_article3800.html</a><br class="autobr"> Ensuite, le formulaire peut être simplement inséré dans un article via <code class="spip_code spip_code_inline" dir="ltr"><formulaire|xxx></code>.</p> <p>Qui plus est, il peut fonctionner en ajax très simplement, comme expliqué dans la documentation.</p> Lancer un script PHP dans un article 2010-08-24T08:15:02Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment433587 2010-08-24T08:15:02Z <p>Bonjour,<br class="autobr"> Je suis depuis 3 jours en train d'essayer d'intégrer mon formulaire en HTML/PHP dans un article SPIP mais rien y fait malgrès le tuto et vos coms, je suis désespéré.<br class="autobr"> Je suis sous SPIP 2.0.9 et avec sarka-SPIP 3.01.<br class="autobr"> J'ai essayer la plupart de vos solutions mais aucune ne marche, quand je met le filtre, la partie privée n'est plus accessible.<br class="autobr"> Je ne sais plus quoi faire, si quelqu'un à une solution..Je suis tout ouïe..<br class="autobr"> Merci</p> Lancer un script PHP dans un article 2010-01-10T13:25:51Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment424994 2010-01-10T13:25:51Z <p>a titre personnel, je déconseillerai de faire cela. C'est la voie ouverte à des trous de sécurité.</p> <p>Tu peux remplacer cela par des modèles intelligement conçus ou/et des formulaires CVT</p> Lancer un script PHP dans un article 2010-01-10T12:58:51Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment424993 2010-01-10T12:58:51Z <p>Bonjour,<br class="autobr"> Les versions de SPIP concernées par ce plugin vont jusqu'à la 1.8.<br class="autobr"> Ayant mis à jour certains de mes sites utilisant SPIP, je suis passé à la version 2, et cette option m'intéresse<span> pour un de mes sites dans la niche du <a href="http://www.modepourenfant.fr/" rel='nofollow'>vetement enfant</a>, et un autre dans le domaine <a href="http://www.annuairedelamode.net/blog/" rel='nofollow'>mode et vetement</a>. Je souhaiterais que mes lectrices puissent profiter des interactions que ce script permet (notamment en fonction de leur provenance sur le net)</span>.<br class="autobr"> Est-ce que quelqu'un aurait testé sur la nouvelle version de SPIP<small class="fine d-inline"> </small>? <br class="autobr"> Merci<small class="fine d-inline"> </small>!!</p> PHP dans un article et modélisation 2009-07-06T15:07:15Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment418003 2009-07-06T15:07:15Z <p>Bonjour,</p> <p>Merci pour ce tutoriel très complet. Je confirme qu'il marche très bien avec Spip 2. Je n'arrive cependant pas à mes fins.</p> <p><strong>Question : comment passer un paramètre issu de l'URL appelant un article à un modèle appelé depuis cet article<small class="fine d-inline"> </small>?</strong></p> <p>- <strong>je sais afficher dans le texte de l'article la valeur d'un paramètre de l'URL mais je ne sais pas la passer au modèle que l'article appelle</strong>.</p> <p>- J'affiche le contenu d'une table à l'aide d'un modèle appelé dans le texte d'un article : <br><code class="spip_code spip_code_inline" dir="ltr"><article|x|tripar=nom></code>. L'idée serait de pouvoir changer «<small class="fine d-inline"> </small>nom<small class="fine d-inline"> </small>» par «<small class="fine d-inline"> </small>ville<small class="fine d-inline"> </small>» par exemple.</p> <p>Mon but est de modifier les critères de tri d'une boucle présente dans le modèle en cliquant sur l'en-tête d'une colonne de la page HTML générée. le code html du modèle est : <br></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><tr class="row_first" style="text-align: center"> <th scope='col'><strong class="spip"><a href="chemin Spip /spip.php?article71&tripar=nom&var_mode=calcul" target="_self">NOM</a></strong></th> </tr></code></pre></div> <p>- J'ai noté que les variables d'environnement passées par l'URL notamment, ne sont pas passées dans le modèle (visible en mode debug). J'avais pensé écrire par inclusion php et de façon dynamique le texte de l'article. <br>- Mon script php inclus aurait donné en retour quelque chose comme :</p> <p><code class="spip_code spip_code_inline" dir="ltr"><article|71|tripar=nom></code> si dans la boucle de mon modèle j'avais :</p> <p><code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_x(table) {par #ENV{tripar}></code></p> <p>Est-il possible de générer le «<small class="fine d-inline"> </small>texte<small class="fine d-inline"> </small>» <code class="spip_code spip_code_inline" dir="ltr"><article|71|tripar=nom></code> de façon à ce que Spip l'interprète au bon moment<small class="fine d-inline"> </small>?<br class="autobr"> Il me semble que le filtre #TEXTE|autoriser_php agit en dernier alors que la page article est déjà constituée.</p> <p>Une solution possible réside dans l'utilisation des formulaires CVT. Je peux récupérer la valeur d'un bouton radio et générer une erreur dans la fonction vérifier pour revenir au formulaire contenant les boucles. Je voulais savoir si c'était possible en restant sur des «<small class="fine d-inline"> </small>modèles<small class="fine d-inline"> </small>».</p> <p>Merci pour le support.</p> <p>Philippe</p> Lancer un script PHP dans un article 2009-04-10T15:36:50Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment415283 2009-04-10T15:36:50Z <p>Merci pour l'article, je viens de tester et ça fonctionne bien avec SPIP 2.</p> Lancer un script PHP dans un article 2009-02-14T20:40:27Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment413398 2009-02-14T20:40:27Z <p>Bonsoir,</p> <p>Pour utiliser #INCLURE (mon_script.php) dans un article <strong>spip 2</strong>, on peut placer le code du filtre dans ecrire/inc/filtre.php à la place de mes_fonctions.php.<br class="autobr"> et ne pas oublier d'éditer #TEXTE|autoriser_php dans votre squelette d'article.</p> Lancer un script PHP dans un article 2009-02-01T21:59:48Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment412923 2009-02-01T21:59:48Z <p>Bonsoir à tous,</p> <p>Le post de <i>tracolin</i> m'a un peu refroidi pour passer en V2, en attendant j'ai résumé les <a href="http://h2fooko.free.fr/spip.php?article51" class="spip_out" rel='nofollow external'><strong>différentes méthodes</strong></a> récupérées ici ou là pour exécuter du PHP dans nos articles. J'y ai même contribué en mettant en oeuvre le passage des paramètres pour 2 d'entre-elles grâce à l'idée de <i>Jim Wanderscheid</i>.</p> <p>Par contre je pense que la méthode des modèles évoquée par <i>Cédric Morin</i> devrait fonctionner avec la V2 à défaut de celles utilisant les filtres.</p> <p>J'avoue que j'aimerais savoir<small class="fine d-inline"> </small>;-) Je ne suis qu'en 1.9.2<sup class="typo_exposants">d</sup>.</p> <p>En pièce jointe ou sur mon site le résultat de mes comparaisons.</p> <p>Enjoy</p> Lancer un script PHP dans un avec spip V2 2008-12-23T22:11:37Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment411449 2008-12-23T22:11:37Z <p>Bonjour,</p> <p>Je viens d'installer Spip V2 et il me semble que la fonctionnalité d'appel de script php ne marche plus...</p> <p>Avez vous des informations<small class="fine d-inline"> </small>? , Le paramétrage reste il le même<small class="fine d-inline"> </small>?</p> <p>Merci de votre réponse.</p> Lancer un script PHP dans un article 2008-08-20T23:21:21Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment408115 2008-08-20T23:21:21Z <p>Bonjour à tous,</p> <p>version de Spip + Sarkaspip : SPIP 1.9.2<sup class="typo_exposants">d</sup> [11132] | Sarka-SPIP 2.0.2 [18368]</p> <p>Modification du fichier article.html : <code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE|autoriser_php|typo_couleur|image_reduire{#CONFIG{taille_preview}})]</code></p> <p>Filtre placé dans le fichier sarkaspip_filtres.php et chemin des fichiers autorisés : <code class="spip_code spip_code_inline" dir="ltr">$dossier_inclus = './inc/';</code></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>/*************************************************************/ /** Cette fonction permet de lancer un script PHP dans un article /** /** La syntaxe est la suivante : /** #INCLURE ( nom_fichier ) /** /** Auteur : F. Quointeau /** Version : 0.0.2 /** Date : 16 Mai 2004 /*****************************************************************/ /***************************************************************** Aménagements : Michel MAILLARD - 20 Août 2007 * recherche automatisée des fichiers dans le dossier de stockage * ajout des fonctions ob_....() (pour assurer l'affichage à l'emplacement désiré et non en haut de page) * variable $f pour le fichier inclus (pour compatibilité avec certains serveurs) Ne pas oublier de placer cette fonction dans les squelettes ad-hoc, en particulier article.html [......(#TEXTE|autoriser_php)........] /************************************************************/ function autoriser_php( $texte) { // Dossier où sont stockés les scripts //(à partir du fichier spip.php et non à partir du répertoire squelettes) $dossier_inclus = './inc/'; // Les fichiers inclus autorises sont : // *.php, *.php3, *.php4, *.phtml, *.htm, *.html, *.inc $fichiers_autorises="(php|php3|php4|phtml|htm|html|inc)"; // Recherche des fichiers inclus autorisés dans le dossier de stockage $dir=opendir("$dossier_inclus"); while ($fichier=readdir ($dir)) { if(( preg_match( $fichiers_autorises, $fichier))) { $scripts_autorises[]= $fichier; } } closedir($dir); // Recherche la chaine #INCLURE(script) $chaine_recherche = "/#INCLURE( *)\(( *)([^\)]*\.".$fichiers_autorises.")( *)\)/i"; while( preg_match( $chaine_recherche, $texte, $resultats)) { // Verifie le droit d'inclure ce fichier script ! $autorise = false; reset( $scripts_autorises); while( $script = each( $scripts_autorises)) { if( strcasecmp( $script[value], $resultats[3]) == 0) $autorise = true; } if( $autorise == true) { // Verifie que le fichier existe $f=$dossier_inclus . $resultats[3]; if( file_exists ($f )) { // Vide le buffer de sortie $affichage_php = ''; // Et lance le fichier inclu !!! ob_start(); include ($f); } else { $affichage_php = "<b>#INCLURE: Le fichier de script $f n'existe pas !</b>"; } } else { $affichage_php = "<b>#INCLURE: Script NON autoris&eacute; !</b>"; } // Attention, n'effectue qu'un seul remplacement à la fois ! $affichage_php = ob_get_contents(); ob_end_clean(); $texte = preg_replace( $chaine_recherche, $affichage_php, $texte, 1); } return( $texte); }</code></pre></div> Lancer un script PHP dans un article 2008-06-05T22:17:33Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment406694 2008-06-05T22:17:33Z <p>Je ne suis qu'un utilisateur lambda.. et je n'ai pas la compétence....</p> <p>Mais SPIP est une grande communauté, nul doute que quelqu'un saura le faire</p> Lancer un script PHP dans un article 2008-06-05T06:52:47Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment406670 2008-06-05T06:52:47Z <p>Bonjour,</p> <p>Merci pour votre éclairage...<br class="manualbr">Je suggère que soit <i>étudiée</i>, puis <i>intégrée</i>, pour une prochaine version de spip, la possibilité de pouvoir <strong>entrer directement</strong> la valeur d'une variable, dans un article. <br class="manualbr">Cela aurait pour effet d'augmenter de manière très intéressante, le champ d'action des rédacteurs. <br class="manualbr">Aujourd'hui pour eux, donner une valeur à une variable est impossible et c'est bien dommage. Seul, actuellement, l'administrateur peut insérer des données dans les fichiers, et les mettre en place par FTP.</p> <p>Vous avez certainement le pouvoir de communiquer cette proposition et suggestion, auprès des différents responsables du développement de SPIP..</p> Lancer un script PHP dans un article 2008-06-04T23:24:15Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment406669 2008-06-04T23:24:15Z <p>Bonjour</p> <p><strong>Ce script reste parfaitement d'actualité avec la dernière version de SPIP (1.9.2<sup class="typo_exposants">d</sup> à ce jour)</strong></p> <p>Il est ajouté au contenu du fichier « <strong>mes_options.php</strong> » (à créer avec ce contenu s'il n'existe pas)</p> <p>Ce fichier soit être placé de préférence dans le dossier « <strong>squelette</strong> » (à crér si nécessaire)</p> <p>Il permet d'<strong>exécuter un script</strong> en php contenu dans un dossier spécifié (voir les remarques dans le script) ce qui provoque directement un <strong>affichage</strong> lors de la génération de la page web.</p> <hr class="spip"> <p>Voir <a href="http://www.pep35.org/spip.php?article=48" class="spip_out" rel='nofollow external'>ce lien</a> : L'affichage des photos est déclenché par l'instruction</p> <blockquote class="spip"> <p> #INCLURE(AG_Saint-Malo.php)</p> </blockquote> <p>qui fait appel à un module extérieur (simpleviewer) après une lecture dynamique du contenu du répertoire de photos (celles ci ont été mises en ligne par FTP indépendamment de SPIP)</p> <p>On pourrait plus simplement afficher sous forme de tableau le contenu d'un répertoire qui aurait été lu (et filtré) en utilisant les fonctionnalités de php</p> <hr class="spip"> <p><font color="#FF0000"><strong>Pour le reste, (récupération de la valeur d'une variable) je ne garantis rien...</strong> </font> car je crains que les variables déclarées dans le script ne restent que locales.</p> <p><strong>Il conviendrait donc de lire <br>- la rubrique « pour aller plus loin » dans l'article initial <br>- le contenu de <a href="http://www.spip-contrib.net/Utiliser-une-variable-php-dans-une" class="spip_out" rel='nofollow external'>cet article</a> </strong></p> Lancer un script PHP dans un article 2008-06-04T20:15:24Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment406666 2008-06-04T20:15:24Z <p>Bonsoir,</p> <p>Vous serait-il possible de préciser pour un non expert, les points suivants :<br class="manualbr">1)Avec SPIP 1.9.2<sup class="typo_exposants">d</sup> ce script reste t-il d'actualité<small class="fine d-inline"> </small>?<br class="manualbr">2)Quel nom de fichier donné à celui qui contient le script<small class="fine d-inline"> </small>?<br class="manualbr">3)Où mettre ce fichier<small class="fine d-inline"> </small>?</p> <p>Je cherche simplement à entrer $a=9 dans un article. Puis à récupérer la valeur de $a dans un squelette.</p> <p>Merci pour vos précisions.</p> Lancer un script PHP dans un article 2008-06-03T08:56:13Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment406604 2008-06-03T08:56:13Z <p>Bravo Michel et merci, ton script fonctionne parfaitement</p> Lancer un script PHP dans un article 2008-05-28T16:58:51Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment406444 2008-05-28T16:58:51Z <p>Jusqu'à présent j'utilisais cette méthode.<br class="autobr"> Encore récemment avec un psip 1.9.1 cela fonctionnait.<br class="autobr"> Je viens de passer à la version 1.9.2.<br class="autobr"> j'aimerais savoir en quoi cette façon de faire est osbolète et pourquoi il vaut mieux passer par les modèles.</p> Lancer un script PHP dans un article : pbm résolution variables 2008-03-24T11:11:33Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment404323 2008-03-24T11:11:33Z <p>Bonjour,<br class="autobr"> Ce serait génial de pouvoir faire ce qui est indiqué dans l'article mais pour moi cela ne fonctionne pas même pour l'exemple donné. le texte statique s'affiche mais pas la variable d'environnement.<br class="autobr"> mon script :</p> <p>$GLOBALS['spip_lang']<small class="fine d-inline"> </small>;</p> <p>#</p> <p>$id_machin = $GLOBALS['id_machin']<small class="fine d-inline"> </small>;</p> <p>#</p> <p>le positionnement du filtre :</p> <p>— perso : Utilisation zone PS pour appliquer filtre au texte —> <br class="autobr"> #DEBUT_SURLIGNE[</p> <div class="chapo">(#CHAPO)</div> <p>][</p> <div class="texte">(#TEXTE<strong>|autoriser_php</strong>|reduire_image<i>[(#PS)]</i>)</div> <p>]<!—[</p> <div class="ps">(#PS)</div> <p>]—>[</p> <div class="notes">(#NOTES)</div> <p>]#FIN_SURLIGNE</p> <p>le résultat :</p> <p>Hello machin n°</p> <p>Ps : désolé je suis un peu obsolète en version spip 1.8.2 d</p> > Lancer un script PHP dans un article 2008-02-21T23:39:16Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment403309 2008-02-21T23:39:16Z <p>Bonjour,</p> <p>J'ai aussi le problème d'affichage du HTML. Il s'affiche au début hors cadre. J'ai essayé d'utiliser les fonctions ob_start()<small class="fine d-inline"> </small>; et ob_get_contents() dans mes_fonctions.php comme c'est indiqué ci-dessus, mais là, je n'ai plus rien qui s'affiche. J'ai juste la ligne #INCLURE(mon_fichier.html).<br class="autobr"> J'utilise SPIP version 1.9.2c avec la squelette Alternatives<br class="autobr"> Quelqu'un a une idée.<br class="autobr"> Merci d'avance</p> variables dynamiques 2008-02-20T14:33:59Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment403241 2008-02-20T14:33:59Z <p>J'essaye de savoir comment faire la chose suivante : ayant un article qui décrit un phénomène physique, je voudrais que le lecture puisse entrer une ou plusieurs variables numériques afin que l'article calcule des valeurs qui mettront à jour celles par défaut de l'article.</p> <p>Est-ce possible<small class="fine d-inline"> </small>? Est-ce réalisable (et comment)<small class="fine d-inline"> </small>?</p> <p>comme dit la pub...</p> Lancer un script PHP dans un article 2008-02-04T09:26:15Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment402743 2008-02-04T09:26:15Z <p><a href="http://www.fuzoku-annai.com" target="_blank" rel='nofollow noreferrer noopener'>大阪デリヘル</a><br></p> OBSOLETE 2008-01-29T07:32:42Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment402598 2008-01-29T07:32:42Z <p>Bonjour,</p> <p>Judicieux, mais lorsque je passe par cette méthode <code class="spip_code spip_code_inline" dir="ltr"><nomdufichierscriptphpXXX></code> où XXX est le numéro de l'article et « nomdufichierscriptphp » le modèle, j'ai l'erreur suivante :</p> <p>Fatal error : Cannot redeclare adv_showlinks() (previously declared in /var/www/vhosts/nomsite.com/httpdocs/ecrire/public/assembler.php(398) : eval()'d code:52) in /var/www/vhosts/nomsite.com/httpdocs/ecrire/public/assembler.php(398) : eval()'d code on line 52</p> <p>Une idée<small class="fine d-inline"> </small>?</p> > Lancer un script PHP dans un article 2007-12-11T21:38:50Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment401133 2007-12-11T21:38:50Z <p>bsr,</p> <p> Je sais qu'il est tard par rapport à l'article mais j'aimerais réaliser moi aussi un connexion à une deuxième bdd, voilà ce qu'est mon script :</p> <p>j'ai créé une base "bazespip2, sur laquelle j'ai créé une table test</p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'SERVEUR'</span><span style="color:#007700;">, </span><span style="color:#DD0000;">"localhost"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'NOM'</span><span style="color:#007700;">,</span><span style="color:#DD0000;">"-----"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'PASSE'</span><span style="color:#007700;">, </span><span style="color:#DD0000;">"------"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'BASE'</span><span style="color:#007700;">, </span><span style="color:#DD0000;">"------"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">$connexion </span><span style="color:#007700;">= </span><span style="color:#0000BB;">mysql_connect </span><span style="color:#007700;">(</span><span style="color:#0000BB;">SERVEUR</span><span style="color:#007700;">, </span><span style="color:#0000BB;">NOM</span><span style="color:#007700;">, </span><span style="color:#0000BB;">PASS</span><span style="color:#007700;">, </span><span style="color:#0000BB;">BASE</span><span style="color:#007700;">); </span><span style="color:#0000BB;">$ma_requete </span><span style="color:#007700;">= </span><span style="color:#0000BB;">mysql_query </span><span style="color:#007700;">(</span><span style="color:#DD0000;">"SELECT * FROM test "</span><span style="color:#007700;">); if( </span><span style="color:#0000BB;">$ma_requete</span><span style="color:#007700;">) { if( </span><span style="color:#0000BB;">mysql_num_rows</span><span style="color:#007700;">(</span><span style="color:#0000BB;">$ma_requete</span><span style="color:#007700;">) > </span><span style="color:#0000BB;">0</span><span style="color:#007700;">) { </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">.= </span><span style="color:#DD0000;">"<table cellpadding=\"2\" align=\"center\" border=\"0\" class=\"spip\">\n"</span><span style="color:#007700;">; </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">.= </span><span style="color:#DD0000;">"<tr align=\"center\" class=\"row_first\"> <td><b>Nom</b></td> <td><b>Deskriptif</b></td> </tr>\n"</span><span style="color:#007700;">; while (</span><span style="color:#0000BB;">$mon_resultat </span><span style="color:#007700;">= </span><span style="color:#0000BB;">mysql_fetch_array</span><span style="color:#007700;">(</span><span style="color:#0000BB;">$ma_requete</span><span style="color:#007700;">)) { </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">.= </span><span style="color:#DD0000;">"<tr class=\"row_" </span><span style="color:#007700;">. (</span><span style="color:#0000BB;">$ncr_numero_ligne</span><span style="color:#007700;">++ % </span><span style="color:#0000BB;">2 </span><span style="color:#007700;">? </span><span style="color:#DD0000;">'odd' </span><span style="color:#007700;">: </span><span style="color:#DD0000;">'even'</span><span style="color:#007700;">) . </span><span style="color:#DD0000;">"\">"</span><span style="color:#007700;">; </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">.= </span><span style="color:#DD0000;">"<td>" </span><span style="color:#007700;">. </span><span style="color:#0000BB;">$mon_resultat</span><span style="color:#007700;">[</span><span style="color:#DD0000;">"nom"</span><span style="color:#007700;">] . </span><span style="color:#DD0000;">"" </span><span style="color:#007700;">. </span><span style="color:#0000BB;">$mon_resultat</span><span style="color:#007700;">[</span><span style="color:#DD0000;">"prenom"</span><span style="color:#007700;">] . </span><span style="color:#DD0000;">"</td> <td align=\"right\">" </span><span style="color:#007700;">. </span><span style="color:#0000BB;">$mon_resultat</span><span style="color:#007700;">[</span><span style="color:#DD0000;">"deskript"</span><span style="color:#007700;">] . </span><span style="color:#DD0000;">"</td>"</span><span style="color:#007700;">; </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">.= </span><span style="color:#DD0000;">"</tr>\n"</span><span style="color:#007700;">; } </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">.= </span><span style="color:#DD0000;">"</table>\n"</span><span style="color:#007700;">; } } </span><span style="color:#0000BB;">?></span></code></pre> <p>après insertion de l'inclure dans l'article, je n'arrive a afficher aucune donnée, de la deuxieme table</p> <p>help me svp :-(</p> OBSOLETE - basculé en archives 2007-12-09T14:13:16Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment401015 2007-12-09T14:13:16Z <p>Merci de la précision, l'article à donc été basculé en archives et taggé de même.</p> <p>@+ NicolasR</p> OBSOLETE 2007-12-09T10:11:31Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment401009 2007-12-09T10:11:31Z <p>Cet article est obsolète ou à reserver dans le cadre d'un usage sur les version 1.8.x ou inférieures.</p> <p>En version de SPIP 1.9.x et suivantes, on utilisera bien evidemment la méthode érpouvée et supportée des modeles qui permettent d'inclure le résultat d'un squelette dans un article :<br class="manualbr">le contenu d'un squelette modeles/annuaire.html peut être affiché dans l'article avec un simple tag <code class="spip_code spip_code_inline" dir="ltr"> <annuaireXX></code> ou <code class="spip_code spip_code_inline" dir="ltr"><annuaire|id_machin=truc></code></p> <p>Le tag doit comporter un numero d'identifiant (celui de l'article en cours par exemple) ou un | afin de ne pas être confondu avec une balise html.</p> <p>Libre à vous de mettre ce que vous voulez dans ce squelette, y compris du php.</p> Lancer un script PHP dans un article 2007-12-09T07:50:06Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment401008 2007-12-09T07:50:06Z <p>bonjour, et un grand merci à GoUaRfIg</p> <p> Ce script est tout bonnement fantastik, je l'utilise sur deux sites diffrérents,</p> <p>un tout petit bémole cependant, je n'arrive pas à regler un problème d'affichage de caractères accentués et ce sur deux sites (et donc deux serveurs) différents. j'ai des points d'interrogation et ce uniquement dans les aticles faisant appel au script<br class="autobr"> Quelqu'un aurait un idée<small class="fine d-inline"> </small>?</p> Lancer un script PHP dans un article avec Sarka-Spip 2 2007-09-25T08:34:32Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment398463 2007-09-25T08:34:32Z <p>Bonjour, <br class="autobr"> Mon problème venait du squelette Sarka-Spip 2. <br class="autobr"> L'implémentation est un peu différente dans ce cas.</p> <p> Les fonctions personnelles doivent être placées dans le fichier "sarkaspip_fonctions.php" et j'ai modifié le chemin de $dossier_inclus pour pointer vers ../spip/inc/ :</p> <p>$dossier_inclus = '/inc/'<small class="fine d-inline"> </small>;</p> <p> Le fichier article.php du squelette doit être modifié comme suit dans la zone “corps de l'article” :</p> <p>(#TEXTE|autoriser_php|typo_couleur|image_reduire<i>#CONFIG<i>taille_preview</i></i>)] </p> <p>Merci pour l'aide. Il fallait mettre les mains dans le camboui.<br class="autobr"> Philippe</p> Lancer un script PHP dans un article 2007-09-24T17:57:59Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment398416 2007-09-24T17:57:59Z <p>Difficile de répondre dans l'absolu....</p> <p>J'ai moi même galèré avant d'y arriver (et je ne suis pas le seul....)</p> <p>Il y a plusieurs sources d'erreurs possibles<small class="fine d-inline"> </small>!!!</p> <ul class="spip"><li>dans le squelette article.html :</li></ul> <p>Bien mettre <abbr title="autoriser_php)">(#TEXTE</abbr> dans la boucle des articles</p> <ul class="spip"><li>dans le fichier mes_fonctions.php :</li></ul> <p>Bien indiquer le chemin des fichiers autorisés (à partir de la racine du site dans laquelle se trouve « spip.php » et non à partir du dossier des squelettes)<br> (il faut terminer par un /)</p> <p>Une copie (même partielle) de ce qui a été fait qui ne fonctionne pas (comme l'a fait Aurore), et l'indication de la variante utilisée pour « mes_fonctions.php » pourrait nous éclairer.... il suffit parfois de pas grand chose.... (comme d'hab. en informatique)</p> Lancer un script PHP dans un article 2007-09-24T17:08:25Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment398412 2007-09-24T17:08:25Z <p>Bonjour,<br class="autobr"> J'ai lu avec intérêt vos récents posts.<br class="autobr"> J'utilise le squelette Sarka-Spip version 2.0.1 avec Spip 1.9.2c et je n'arrive pas à inclure du code php dans les articles quelque soit la méthode.<br class="autobr"> Une idée.<br class="autobr"> Merci.<br class="autobr"> Philippe</p> Lancer un script PHP dans un article 2007-09-18T16:22:11Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment398135 2007-09-18T16:22:11Z <p>Merci Michel,</p> <p>C'était effectivement un problème de déclaration de dossier en double.....<br class="autobr"> 1 fois dans mes_fonctions.php puis ensuite dans l'article.</p> <p>ouf,</p> <p>Merci beaucoup :)</p> Lancer un script PHP dans un article 2007-09-17T22:56:24Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment398107 2007-09-17T22:56:24Z <p>à mon sens, si la déclaration dans mes_fonctions.php est déjà</p> <p><strong> <i>$dossier_inclus = 'mes_scripts/'<small class="fine d-inline"> </small>;</i> </strong></p> <p>il ne faut mettre dans l'article que :</p> <p><strong> <i>#INCLURE(testscript.php)</i> </strong></p> <hr> Attention, si tu as utilisé le script initial de GoUaRfIg, il faut en plus déclarer <p><strong> <i> $scripts_autorises = Array(<br> 'testscript.php'<br> )<small class="fine d-inline"> </small>;</i> </strong></p> <hr> Dans la version modifiée que j'ai proposée :<br><ul class="spip"><li> cette dernière déclaration est inutile puisque la routine va lire le contenu du répertoire “mes_scripts” pour renseigner le tableau “<i>$scripts_autorises</i>”</li><li> la variable “<i>$affichage_php</i>” ne doit pas être utilisée (elle n'affiche rien<small class="fine d-inline"> </small>!), on utilise normalement “<i>echo</i>”.</li></ul> <p>J'ai notamment utilisé cette fonctionnalité pour lire et mettre en page des tableaux Excel au format .csv sur <a href="http://unsa-education-bretagne.org/spip.php?article5" class="spip_out" rel='nofollow external'>cette page</a> dont l'unique contenu est <i>“#INCLURE (bretagne.php)” </i></p> Lancer un script PHP dans un article 2007-09-16T07:52:20Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment398037 2007-09-16T07:52:20Z <p>Bonjour,</p> <p>J'utilise la <strong>version 1.9.2 de SPIP</strong>. J'ai suivi à la lettre votre explication. Mais il ne se passe rien, le script php est trouvé mais il ne s'affiche pas.</p> <p>Avez-vous déjà testé ce type d'inclusion dans un article sur cette version de SPIP, quelle solutions sont possibles pour faire la même action dans cette version de SPIP<small class="fine d-inline"> </small>?</p> <p>Je précise : <br class="autobr"> j'ai bien créé un fichier mes_fontions.php à la racine du site avec successivement le script de GoUaRfIg<small class="fine d-inline"> </small>! puis de Michel</p> <p>J'ai créé un script de test : testscript.php que j'ai mis dans un dossier mes_scripts à la racine du site qui contient juste :</p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php $affichage_php </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"Hello World !"</span><span style="color:#007700;">; echo </span><span style="color:#DD0000;">"hello the world"</span><span style="color:#007700;">; </span><span style="color:#0000BB;">?></span></code></pre> <p>Dans mon article, j'ai mis seulement : <br class="autobr"> #INCLURE(mes_scripts/testscript.php)</p> <p>Dans le squelette je fais l'appel dans une boucle article vers le numéro exact de l'article :<br class="autobr"> «<small class="fine d-inline"> </small><br class="autobr"> <abbr title="autoriser_php)">(#TEXTE</abbr><br class="autobr"> <small class="fine d-inline"> </small>»</p> <p>Concrètement, il ne met pas d'erreur, ce qui signifie qu'il trouve le script. Mais il ne l'interprête pas. Pourquoi<small class="fine d-inline"> </small>? une histoire de cache<small class="fine d-inline"> </small>? de délai<small class="fine d-inline"> </small>????</p> SPIP 1.9.1 : pas compris<small class="fine d-inline"> </small>! 2007-09-06T14:15:33Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment397687 2007-09-06T14:15:33Z <p>Ca veut dire un squelette personnalisé pour l'article en question, avec une boucle spécifique à l'intérieur selon modèle donné ci-dessus.<br class="autobr"> Ca fonctionne bien et c'est d'une simplicité enfantine.<br class="autobr"> En revanche, j'ai un problème d'affichage : les caractères accentués ne s'affichent pas bien. Je suppose que je dois paramétrer le codage de ma table sql d'une certaine manière, ou transformer en html les données issues de cette table avant affichage.<br class="autobr"> Je ne vois pas très bien comment faire présentement.<br class="autobr"> Une idée<small class="fine d-inline"> </small>?</p> mais c'est bien sûr... 2007-09-03T22:44:31Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment397619 2007-09-03T22:44:31Z <p>Si je peux mettre des <i> <strong>“echo”</strong> </i> sans problème, c'est grâce à</p> <ul class="spip"><li>ob_start()<small class="fine d-inline"> </small>;</li><li> ob_get_contents()<small class="fine d-inline"> </small>;</li></ul> <p>qui permettent la prise en compte de ces instructions dans le cache de SPIP</p> <p>C'est quand même (à mon sens) plus pratique que de modifier tous les "echo" d'un script, surtout pendant sa mise au point.</p> Lancer un script PHP dans un article 2007-08-29T12:29:54Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment397469 2007-08-29T12:29:54Z <p>Bonjour,<br class="autobr"> J'ai bien compris ce script qui permet de lancer un script dans un article.<br class="autobr"> J'ai bien perçu l'intérêt de pouvoir afficher un annuaire complet sous forme de liste.<br class="autobr"> Mais est-il possible de créer des articles à la volée qui affichent des éléments particuliers<small class="fine d-inline"> </small>?<br class="autobr"> MERCI.</p> Lancer un script PHP dans un article 2007-08-24T22:13:16Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment397374 2007-08-24T22:13:16Z <p>Je ne comprends absolument pas la recommandation<strong> <i> «<small class="fine d-inline"> </small>ne pas faire des “echo”<small class="fine d-inline"> </small>» dans les scripts autorisés</i> </strong></p> <p>Je n'ai<strong> pas changé une seule instruction</strong> (surtout pas les "echo") de mes scripts php déjà existants, et <strong>cela fonctionne parfaitement</strong> en utilisant la fonction proposée par l'auteur de l'article initial, à laquelle j'ai juste ajouté :</p> <ul class="spip"><li>les instructions ob_start()<small class="fine d-inline"> </small>; et ob_get_contents()<small class="fine d-inline"> </small>; comme indiqué dans une réponse à une question dans ce même forum.</li><li>la lecture automatisée des fichiers autorisés dans le répertoire désigné</li></ul> <p><strong> <i>(Cf. ma réponse à l'article initial pour voir cette version modifiée)</i> </strong></p> <p>En tout cas, encore merci à tous....</p> Lancer un script PHP dans un article 2007-08-20T14:56:27Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment397160 2007-08-20T14:56:27Z <p><strong>Merci à tous les contributeurs</strong></p> <p>En faisant une synthèse de tout ce que j'ai pu lire ici, ça fonctionne parfaitement...., pour du php comme du html</p> <p>J'ai choisi de placer mes scripts dans un dossier "inc/" placé dans le même dossier que "spip.php" et qui peut être protégé par un hichier ".htaccess" contenant uniquement "deny from all"<br> De ce fait, le seul accès à ce dossier se fait par FTP, donc par le webmaster, et la protection peut être considérée comme suffisante.</p> <p>J'ai donc automatisé la recherche des fichiers présents dans ce répertoire qui évite de modifier le fichier mes_fonctions.php à chaque ajout de fichier à inclure</p> <p><strong>Voici le résultat le plus abouti de ma réflexion... d'autres améliorations sont certainement encore possibles </strong></p> <p>Le code ci-dessous doit bien sûr être placé “<strong>mes_fonctions.php</strong>”</p> <p> <i> <strong>Remarque importante</strong> : </i><br> <i>Tous les liens contenus dans les fichiers inclus devront, pour le chemin, être libellés comme si ce fichier à inclure se trouvait dans “spip.php”</i><br> <i>Et rien n'empèche d'inclure, par la fonction Php include() , d'autres fichiers contenus dans d'autres répertoires, toujours en respectant cette règle</i></p> <blockquote class="spip"><pre><code style="color:#000000;"><span style="color:#0000BB;"><?php </span><span style="color:#FF8000;">/*************************************************************/ /** Cette fonction permet de lancer un script PHP dans un article /** /** La syntaxe est la suivante : /** #INCLURE ( nom_fichier ) /** /** Auteur : F. Quointeau /** Version : 0.0.2 /** Date : 16 Mai 2004 /*****************************************************************/ /***************************************************************** Aménagements : Michel MAILLARD - 20 Août 2007 * recherche automatisée des fichiers dans le dossier de stockage * ajout des fonctions ob_....() (pour assurer l'affichage à l'emplacement désiré et non en haut de page) * variable $f pour le fichier inclus (pour compatibilité avec certains serveurs) Ne pas oublier de placer cette fonction dans les squelettes ad-hoc, en particulier article.html [......(#TEXTE|autoriser_php)........] /************************************************************/ </span><span style="color:#007700;">function </span><span style="color:#0000BB;">autoriser_php</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$texte</span><span style="color:#007700;">) { </span><span style="color:#FF8000;">// Dossier où sont stockés les scripts //(à partir du fichier spip.php et non à partir du répertoire squelettes) </span><span style="color:#0000BB;">$dossier_inclus </span><span style="color:#007700;">= </span><span style="color:#DD0000;">'inc/'</span><span style="color:#007700;">; </span><span style="color:#FF8000;">// Les fichiers inclus autorises sont : // *.php, *.php3, *.php4, *.phtml, *.htm, *.html, *.inc </span><span style="color:#0000BB;">$fichiers_autorises</span><span style="color:#007700;">=</span><span style="color:#DD0000;">"(php|php3|php4|phtml|htm|html|inc)"</span><span style="color:#007700;">; </span><span style="color:#FF8000;">// Recherche des fichiers inclus autorisés dans le dossier de stockage </span><span style="color:#0000BB;">$dir</span><span style="color:#007700;">=</span><span style="color:#0000BB;">opendir</span><span style="color:#007700;">(</span><span style="color:#DD0000;">"</span><span style="color:#0000BB;">$dossier_inclus</span><span style="color:#DD0000;">"</span><span style="color:#007700;">); while (</span><span style="color:#0000BB;">$fichier</span><span style="color:#007700;">=</span><span style="color:#0000BB;">readdir </span><span style="color:#007700;">(</span><span style="color:#0000BB;">$dir</span><span style="color:#007700;">)) { if(( </span><span style="color:#0000BB;">preg_match</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$fichiers_autorises</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$fichier</span><span style="color:#007700;">))) { </span><span style="color:#0000BB;">$scripts_autorises</span><span style="color:#007700;">[]= </span><span style="color:#0000BB;">$fichier</span><span style="color:#007700;">; } } </span><span style="color:#0000BB;">closedir</span><span style="color:#007700;">(</span><span style="color:#0000BB;">$dir</span><span style="color:#007700;">); </span><span style="color:#FF8000;">// Recherche la chaine #INCLURE(script) </span><span style="color:#0000BB;">$chaine_recherche </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"/#INCLURE( *)\(( *)([^\)]*\."</span><span style="color:#007700;">.</span><span style="color:#0000BB;">$fichiers_autorises</span><span style="color:#007700;">.</span><span style="color:#DD0000;">")( *)\)/i"</span><span style="color:#007700;">; while( </span><span style="color:#0000BB;">preg_match</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$chaine_recherche</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$texte</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$resultats</span><span style="color:#007700;">)) { </span><span style="color:#FF8000;">// Verifie le droit d'inclure ce fichier script ! </span><span style="color:#0000BB;">$autorise </span><span style="color:#007700;">= </span><span style="color:#0000BB;">false</span><span style="color:#007700;">; </span><span style="color:#0000BB;">reset</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$scripts_autorises</span><span style="color:#007700;">); while( </span><span style="color:#0000BB;">$script </span><span style="color:#007700;">= </span><span style="color:#0000BB;">each</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$scripts_autorises</span><span style="color:#007700;">)) { if( </span><span style="color:#0000BB;">strcasecmp</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$script</span><span style="color:#007700;">[</span><span style="color:#0000BB;">value</span><span style="color:#007700;">], </span><span style="color:#0000BB;">$resultats</span><span style="color:#007700;">[</span><span style="color:#0000BB;">3</span><span style="color:#007700;">]) == </span><span style="color:#0000BB;">0</span><span style="color:#007700;">) </span><span style="color:#0000BB;">$autorise </span><span style="color:#007700;">= </span><span style="color:#0000BB;">true</span><span style="color:#007700;">; } if( </span><span style="color:#0000BB;">$autorise </span><span style="color:#007700;">== </span><span style="color:#0000BB;">true</span><span style="color:#007700;">) { </span><span style="color:#FF8000;">// Verifie que le fichier existe </span><span style="color:#0000BB;">$f</span><span style="color:#007700;">=</span><span style="color:#0000BB;">$dossier_inclus </span><span style="color:#007700;">. </span><span style="color:#0000BB;">$resultats</span><span style="color:#007700;">[</span><span style="color:#0000BB;">3</span><span style="color:#007700;">]; if( </span><span style="color:#0000BB;">file_exists </span><span style="color:#007700;">(</span><span style="color:#0000BB;">$f </span><span style="color:#007700;">)) { </span><span style="color:#FF8000;">// Vide le buffer de sortie </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">= </span><span style="color:#DD0000;">''</span><span style="color:#007700;">; </span><span style="color:#FF8000;">// Et lance le fichier inclu !!! </span><span style="color:#0000BB;">ob_start</span><span style="color:#007700;">(); include (</span><span style="color:#0000BB;">$f</span><span style="color:#007700;">); } else { </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"<b>#INCLURE: Le fichier de script </span><span style="color:#0000BB;">$f</span><span style="color:#DD0000;"> n'existe pas !</b>"</span><span style="color:#007700;">; } } else { </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"<b>#INCLURE: Script NON autoris&eacute; !</b>"</span><span style="color:#007700;">; } </span><span style="color:#FF8000;">// Attention, n'effectue qu'un seul remplacement à la fois ! </span><span style="color:#0000BB;">$affichage_php </span><span style="color:#007700;">= </span><span style="color:#0000BB;">ob_get_contents</span><span style="color:#007700;">(); </span><span style="color:#0000BB;">ob_end_clean</span><span style="color:#007700;">(); </span><span style="color:#0000BB;">$texte </span><span style="color:#007700;">= </span><span style="color:#0000BB;">preg_replace</span><span style="color:#007700;">( </span><span style="color:#0000BB;">$chaine_recherche</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$affichage_php</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$texte</span><span style="color:#007700;">, </span><span style="color:#0000BB;">1</span><span style="color:#007700;">); } return( </span><span style="color:#0000BB;">$texte</span><span style="color:#007700;">); } </span><span style="color:#0000BB;">?></span></code></pre></blockquote> Lancer un script PHP dans sommaire.html 2007-07-13T09:24:30Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment395962 2007-07-13T09:24:30Z <p>1.Tu crées un article (numero 81 par exemple). Dans le champ TEXTE tu mets :<br class="manualbr"><code class="spip_code spip_code_inline" dir="ltr">INCLURE (mon_script.php);</code></p> <p>2. A l'endroit voulu dans squelettes/sommaire.html , tu fais afficher son contenu :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_article_pour_mon_script {id_article=81}> [(#TEXTE|autoriser_php)] </BOUCLE_article_pour_mon_script {id_article=81}></code></pre></div> <p>Voila, ca marche<small class="fine d-inline"> </small>?</p> Lancer un script PHP dans un article 2007-07-13T09:10:19Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment395961 2007-07-13T09:10:19Z <p>Salut,</p> <p>Deux précisions, prenez bien soin de NE PAS :</p> <p>1. Changer le nom de la variable d'affichage ($affichage_php) puisque c'est précisément le nom utilisé dans le filtre autoriser_php (mes_fonctions.php).</p> <p>2. Faire de echo dans vos scripts autorisés (mais c'est déjà dit dans le tutoriel)</p> Lancer un script PHP dans un article 2007-06-08T16:28:58Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment394743 2007-06-08T16:28:58Z <p>Bonjour,<br class="autobr"> je suis un habitué du php mais je débute sur spip et je dois dire que ce tutoriel est très mal fait, il en manque un bout pour comprendre.<br class="autobr"> Il faudrait un tuto plus progressif et plus intuitif. Merci</p> Lancer un script PHP dans sommaire.html 2007-06-06T18:28:33Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment394670 2007-06-06T18:28:33Z <p>Bonjour,<br class="autobr"> Cela fait presque une semaine que je cherche.<br class="autobr"> moi je veux Lancer un script PHP dans le sommaire.html et non dans un article</p> <p>J'ai un script toto.php que je veux inclure dans mes squellet, avec insertion direct du scripte</p> <pre><code style="color:#000000;"><? include ...?></code></pre> <p>cela marche bien sauf dans le sommaire car le code html de celui-ci (enfin je pense) n'est pas entouré des boucle principal <boucle_principale<i>XXX</i><br class="autobr"> Car je ne sais pas que mettre dans XXX</p> <p>Comment alors inséré le code php<small class="fine d-inline"> </small>?</p> <p>Merci de votre réponse</p> Lancer un script PHP dans un article 2007-04-08T19:09:33Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment392778 2007-04-08T19:09:33Z <p>Bonjour, et bravo pour cette astuce du tonnerre<small class="fine d-inline"> </small>!</p> <p>Toutefois, j'ai suivi les indications à la lettre et je n'obtiens pas le résultat voulu.<br class="manualbr">Voyez par vous même :<br class="autobr"> <a href="http://www.logiktribe.free.fr/spip.php?article9" class="spip_out" rel='nofollow external'>http://www.logiktribe.free.fr/spip.php?article9</a></p> <p>Voici les étapes que j'ai suivies :</p> <p>1- J'ai publié mon article :<br class="manualbr">#INCLURE (mon_script.php)</p> <p>2- J'ai édité le fichier “mes_fonctions.php” :<br class="manualbr">$dossier_inclus = 'dossier_du_script/'<small class="fine d-inline"> </small>;<br class="manualbr">$scripts_autorises = Array(<br class="manualbr">'mon_script.php'<br class="manualbr">)<small class="fine d-inline"> </small>;</p> <p>3- “mon_script.php” est le suivant :<br class="manualbr"></p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php </span><span style="color:#007700;">include (</span><span style="color:#DD0000;">"http://monsite/../index.php"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">?></span></code></pre> <p>4- Et j'ai édité le fichier “article.html” de mon squelette :<br class="manualbr">(#TEXTE|autoriser_php)</p> <p>Voilà, j'éspère que mes explications sont assez claires.<br class="manualbr">Je sent bien que je suis à deux doigts de résoudre ce disfonctionnement, mais je n'y arrive vraiment pas</p> <p>Merci d'avance au spip(eur/euse) qui voudra bien me sortir de ce mauvais pas.<br class="manualbr">A bientôt.</p> SPIP 1.9.1 : pas compris<small class="fine d-inline"> </small>! 2007-04-03T08:25:20Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment392638 2007-04-03T08:25:20Z <p>Bonjour,</p> <p>Je voudrais effectuer exactement cette opération, mais je ne comprends pas ce que tu entends par « créer un modèle personnalisé ». Si quelqu'un pouvait m'expliquer la démarche, ca serait cool...</p> <p>Merci</p> SPIP 1.9.1 : compris<small class="fine d-inline"> </small>! 2007-02-14T09:22:55Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment391128 2007-02-14T09:22:55Z <p>OK j'ai compris la manip : il faut créer un modèle personnalisé, avec la boucle comme tu le suggères, et l'appeler dans l'article en question. Merci pour le coup de pouce, ça marche<small class="fine d-inline"> </small>!</p> SPIP 1.9.1<small class="fine d-inline"> </small>? 2007-02-13T21:35:48Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment391113 2007-02-13T21:35:48Z <p>Je ne savais pas qu'on pouvait mettre une boucle dans le texte d'un article... Ou alors j'ai pas compris<small class="fine d-inline"> </small>? En tout cas sur mon site ça ne fonctionne pas<small class="fine d-inline"> </small>; j'ai indiqué</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_annuaire(membres){par nom}> #PRENOM, #NOM </BOUCLE_annuaire></code></pre></div> <p>dans le champ « texte » de l'article qui doit afficher mon annuaire<small class="fine d-inline"> </small>; ça affiche</p> <p>par nom> #PRENOM, #NOM</p> <p>est-ce normal<small class="fine d-inline"> </small>? Ai-je loupé quelque chose<small class="fine d-inline"> </small>? En tout cas merci pour la réponse, si j'arrive à le faire marché ça semble génial :)</p> SPIP 1.9.1<small class="fine d-inline"> </small>? 2007-02-12T23:04:30Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment391087 2007-02-12T23:04:30Z <p>Bonsoir,</p> <p>Si ton annuaire est dans une table à côté des tables spip, pourquoi ne pas faire directement une boucle sur cette table pour l'afficher<small class="fine d-inline"> </small>? C'est très simple avec la version 1.9.1.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_ligneannuaire(matableannuaire){par societe, nom}> Société : #SOCIETE, Nom : #NOM, tél : #TEL </BOUCLE_ligneannuaire></code></pre></div> <p>Cette boucle te permet de lister toute la table “matableannuaire”, où societe, nom, tel sont les champs que tu souhaites afficher.</p> <p>Pour ma part j'utilise cette fonctionnalité et je me suis préparé un petit <a href="http://colliervoye.free.fr/spip/" class="spip_out" rel='nofollow external'>plugin (tableData)</a> pour gérer le contenu de ces tables dans la zone privée.</p> <p>C'est une solution alternative simple, il me semble.</p> <p>Christophe</p> SPIP 1.9.1<small class="fine d-inline"> </small>? 2007-02-12T20:35:42Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment391078 2007-02-12T20:35:42Z <p>Bonjour,</p> <p>Voilà une fonction qui m'intéresse bigrement : proposer un annuaire actualisé des membres de mon association, directement au sein d'un article SPIP (notamment pour pouvoir utiliser le plug-in accès restreint et contrôler l'accès à l'annuaire grâce à ça).</p> <p>Seulement voilà, je suis passé en SPIP 1.9.1<small class="fine d-inline"> </small>; est-ce que quelqu'un a testé cet article avec SPIP 1.9.1<small class="fine d-inline"> </small>? Que faire pour l'adapter<small class="fine d-inline"> </small>?</p> <p>Merci<small class="fine d-inline"> </small>!</p> > Lancer un script PHP dans un article 2007-02-09T23:44:22Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment391004 2007-02-09T23:44:22Z <p>Bonsoir,</p> <p>j'ai positionné les appels des fonctions ob_start()<small class="fine d-inline"> </small>; et ob_get_contents()<small class="fine d-inline"> </small>; comme suit dans le fichier mes_fonctions.php :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function autoriser_php( $texte) { ... if( $autorise == true) { // Verifie que le fichier existe if( file_exists ( $dossier_inclus . $resultats[3])) { // Vide le buffer de sortie $affichage_php = ''; // Et lance le fichier inclu !!!i ob_start(); include( $dossier_inclus . $resultats[3]); } else { $affichage_php = "<b>#INCLURE: Le fichier de script n'existe pas !</b>"; } } else { $affichage_php = "<b>#INCLURE: Script NON autoris&eacute; !</b>"; } // Attention, n'effectue qu'un seul remplacement à la fois ! $affichage_php = ob_get_contents(); ob_end_clean(); $texte = preg_replace( $chaine_recherche, $affichage_php, $texte, 1);</code></pre></div> <p>Et cela semble fonctionner ...</p> <p>G.</p> Lancer un script PHP dans un article 2006-10-08T18:01:29Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment387954 2006-10-08T18:01:29Z <p>Bonjour,</p> <p>Merci pour cette contrib</p> <p>J'essaie de placer du code entre les guillemet de $affichage_php = « ici ». Et ca marche pas. Quand je place du texte ça marche mais quand je place le code d'un formulaire javascript + balise</p> <form> c'est pas possible. On doit pouvoir placer autre chose que du texte sinon je n'ai pas compris l'intérêt. Pouvez-vous me donner un coup de main<small class="fine d-inline"> </small>? <p>Merci</p> <p>Elsey</p></form> Lancer un script PHP dans un article 2006-07-27T09:53:31Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment386716 2006-07-27T09:53:31Z <p>Bonjour,<br class="autobr"> Je réponds moi-même à mon message concernant le problème d'affichage d'une liste de valeurs dans un formulaire dans un article spip. Cela pourra peut-être intéresser d'autres spipeurs.</p> <p> Rappel : seule la dernière valeur collectée dans la base MySQL s'affichait dans ma liste cliquable.</p> <p> En fait, le #INCLUDE ne s'exécutant qu'une fois, il faut effectuer également l'affichage en une fois et non à chaque instance de la boucle while.</p> <p> Donc il suffit, à l'intérieur de la boucle while, de stocker ce qu'on veut afficher dans une variable au fur et à mesure que le script récupère les données.</p> <p> Après la boucle while, en une seule fois, on affiche le contenu de la variable par le $affichage_php.</p> <p>Bonne journée à tout le monde.<br class="autobr"> Véronique.</p> Lancer un script PHP dans un article 2006-07-27T08:50:42Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment386710 2006-07-27T08:50:42Z <p>Bonjour,<br class="autobr"> J'ai utilisé cette contrib sur mon site pour afficher des listes issues d'une base de donnée MySQL. Après avoir rencontré à peu près tous les problèmes évoqués dans les messages liés à la contrib, j'en ai découvert un nouveau, qui se reproduit avec tous mes scripts php affichant des listes de valeurs dans des formulaires.</p> <p> Exemple : Pour l'interrogation de l'annuaire du laboratoire, je vais chercher toutes équipes de recherche dans la base MySQL pour l'afficher dans un formulaire sous forme de liste cliquable.</p> <p> J'utilise pour cela une boucle while que je n'arrive pas à copier ici parce que la moitié des caractères est interprétée et disparait.</p> <p> A première vue, ça fait penser à une erreur php. Mais cette boucle fonctionnait bien dans un programme php indépendant (avant spip). Mais maintenant, dans la page affichée, seule la dernière équipe s'affiche (il y en a 12).</p> <p>Quelqu'un peut-il me donner une piste<small class="fine d-inline"> </small>? Merci d'avance.<br class="autobr"> Véronique</p> Lancer un script PHP dans un article : récupérer le nom du script 2006-07-24T16:34:35Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment386682 2006-07-24T16:34:35Z <p>Bonjour,</p> <p>A l'intérieur d'un script lancé depuis un article, je voudrais récupérer le nom (et le chemin) du script en question. Je n'arrive pas à trouver d'info. Evidemment $_SERVER[SCRIPT_NAME] contient spip.php.</p> <p>Merci d'avance pour toute suggestion.</p> <p>Michel</p> Lancer un script PHP dans un article 2006-07-17T20:32:17Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment386625 2006-07-17T20:32:17Z <blockquote class="spip"> <p><code class="spip_code spip_code_inline" dir="ltr"><div class="texte">(#TEXTE|autoriser_php|image_reduire{520,0})</div>]</code></p> </blockquote> <p>dans le fichier article.html, ligne 68.</p> Lancer un script PHP dans un article 2006-07-09T21:44:59Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment386538 2006-07-09T21:44:59Z <p>Bon est avec la version spip 1.9<small class="fine d-inline"> </small>; cela est t'il toujours d'actualité<small class="fine d-inline"> </small>?</p> <p>parceque le fichier article du repertoire dist je ne trouve pas de #TEXTE</p> <p>hormis ça : mais la j'ai comme un doute ...</p> <blockquote class="spip"><div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#DEBUT_SURLIGNE [<div class="chapo">(#CHAPO)</div>] <br class="nettoyeur" /> [<p class="lien"><:voir_en_ligne:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a></p>] [<div class="texte">({{#TEXTE|}}image_reduire{520,0}{{|autoriser_php}})</div>] #FIN_SURLIGNE</code></pre></div> </blockquote> <p>merci du coup de main</p> > Lancer un script PHP dans un article 2006-02-15T16:44:23Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment385428 2006-02-15T16:44:23Z <p>Bonjour,<br class="autobr"> J'ai beau faire, ça ne veut pas marcher. J'utilise SPIP 1.8.2g avec les squelettes de la distribution.<br class="autobr"> Je suis tout neuf sur SPIP, donc les boucles, j'ai du mal à maîtriser.<br class="autobr"> Après avoir fait tant bien que mal les modifs décrites, j'obtiens un résultat : celui d'avoir systématiquement tout le code du script de la fonction autoriser_php affichée en fond d'écran...</p> > Lancer un script PHP dans un article 2006-01-16T19:23:30Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment385120 2006-01-16T19:23:30Z <p>Je ne comprend pas cette réponse, où dois-je mettre les fonctions ob_start() et $affichage_php = ob_get_contents()<small class="fine d-inline"> </small>? Dans le squelette<small class="fine d-inline"> </small>?</p> <p>Florence</p> Lancer un script PHP dans un article 2006-01-15T11:37:14Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment385104 2006-01-15T11:37:14Z <p>Magnifique, exactement ce que je cherchais<small class="fine d-inline"> </small>!</p> <p>Est-il possible de faire fonctionner cet outil dans une rubrique également<small class="fine d-inline"> </small>?</p> <p>Merci d'avance, Florence</p> fonctionnement de ob_start 2005-12-08T20:48:56Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment384725 2005-12-08T20:48:56Z <p>cette réponse du forum mériterait d'être intégré dans l'article, car ça peut permettre d'inclure des pages html à la volée lorsqu'on rédige un article, puissant. voir même des boucles spip<small class="fine d-inline"> </small>?</p> <p>une piste pour tester<small class="fine d-inline"> </small>?</p> précisions pour débutants 2005-08-23T06:32:49Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment382979 2005-08-23T06:32:49Z <p>merci de ces précisions pour débutants :)</p> <p>j'ajouterais cependant que de manière génbérale il n'est pas conseillé de travailler sur les fichiers du répertoire /dist, mais sur des copies, placées à la racine du site spip (ou dans un dossier nommé <i>squelettes</i>, spip 1.8)</p> > Lancer un script PHP dans un article 2005-08-22T20:31:18Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment382968 2005-08-22T20:31:18Z <p>L'article proposé par GoUaRfIg fonctionne avec SPIP 1.8pr3.</p> <p>Néanmoins, pour les débutants dont je fais parti, j'ajoute quelques infos qui peuvent être utiles :</p> <p>Le fichier <i>«<small class="fine d-inline"> </small>mes_fonctions.php3<small class="fine d-inline"> </small>»</i> doit être à la racine de votre site (là où se trouvent notamment par défaut, les fichiers avec l'extension <i>.css</i>).</p> <p>Si vous faites un copier/coller de l'exemple donné par GoUaRfIg du fichier <i>«<small class="fine d-inline"> </small>mes_fonctions.php3<small class="fine d-inline"> </small>»</i>, alors votre script (dans le cas présent <i>«<small class="fine d-inline"> </small>mon_premier_script.php3<small class="fine d-inline"> </small>»</i>) doit être lui aussi à la racine de votre site.</p> <p>Le fichier <i>«<small class="fine d-inline"> </small>article.html<small class="fine d-inline"> </small>»</i> où il faut modifier la balise <i>#TEXTE</i>, est situé dans le répertoire <i>«<small class="fine d-inline"> </small>dist<small class="fine d-inline"> </small>»</i> sur votre site.<br> Dans ce fichier, recherchez le bloc de texte suivant : <br></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#DEBUT_SURLIGNE[ <div class="chapo">(#CHAPO)</div> ][<div class="texte">(#TEXTE)</div> ][<div class="ps">(#PS)</div>][ <div class="notes">(#NOTES)</div> ]#FIN_SURLIGNE</code></pre></div> <p>et remplacez-le par :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#DEBUT_SURLIGNE[ <div class="chapo">(#CHAPO)</div> ][<div class="texte">(#TEXTE|autoriser_php)</div> ][<div class="ps">(#PS)</div>][ <div class="notes">(#NOTES)</div> ]#FIN_SURLIGNE</code></pre></div> <p>Veillez à bien suivre les indications de GoUaRfIg et ça doit marcher du 1<sup class="typo_exposants">er</sup> coup.</p> <p>En vous souhaitant une bonne insertion de votre code<small class="fine d-inline"> </small>;-)</p> > Lancer un script PHP dans un article 2005-07-19T21:07:09Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment382308 2005-07-19T21:07:09Z <p>Bonjour,</p> <p>J'arrive à inclure des scripts php sans problème. Par contre, je n'arrive pas à inclure des morceaux de javascript dans ces scripts php.</p> <p>J'ai mis la fonction suivante :</p> <p> function supprimer_la_securite($texte) <i><br class="autobr"> return ereg_replace («<small class="fine d-inline"> </small><script « , »<script<small class="fine d-inline"> </small>»,$texte)<small class="fine d-inline"> </small>;<br class="autobr"> </i><small class="fine d-inline"> </small>;</p> <p>dans «<small class="fine d-inline"> </small>mes_fonctions.php3<small class="fine d-inline"> </small>».<br class="autobr"> Mais rien n'y fait, j'ai plein d'erreurs. help please<small class="fine d-inline"> </small>!!<br class="autobr"> Y'a-t-il un autre moyen<small class="fine d-inline"> </small>??</p> <p>Merci d'avance</p> > Lancer un script PHP dans un article 2005-05-31T18:32:47Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment381350 2005-05-31T18:32:47Z <p>C'est normal<small class="fine d-inline"> </small>!!!</p> <p>« Vous ne pouvez pas vous permettre d'afficher sauvagement vos informations directement par un echo( ), celles-ci ne seraient pas prises en compte dans le cache de SPIP, et souvenez-vous que votre script travaille à l'intérieur d'un filtre, et qu'il y a peut être d'autres filtres qui attendent derrière :-) »</p> <p>C'est pourquoi vous pouvez utiliser la fonction</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>ob_start();</code></pre></div> <p>avant d'envoyer le fichier HTML et</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$affichage_php = ob_get_contents();</code></pre></div> <p>pour récupérer le fichier HTML et le passer à SPIP</p> > 1.8pr1 2005-05-31T18:21:38Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment381349 2005-05-31T18:21:38Z <p>effectivement ça fonctionne...</p> <p>je voudrais faire passer des arguments au script php via l'article.<br class="autobr"> Comment ça pourrait être possible d'après vous<small class="fine d-inline"> </small>?</p> <p>merci d'avance<br class="autobr"> emilie</p> > Lancer un script PHP dans un article 2005-05-30T08:09:03Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment381307 2005-05-30T08:09:03Z <p>Allo<small class="fine d-inline"> </small>???<br class="manualbr">Il y a quelqu'un<small class="fine d-inline"> </small>??</p> > Lancer un script PHP dans un article 2005-05-27T17:15:32Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment381283 2005-05-27T17:15:32Z <p>J'ai le même problème : le texte inséré se place AU-DESSUS du cadre de la page<small class="fine d-inline"> </small>! (La variable $texte ne contient qu'un #INCLURE...)</p> > Lancer un script PHP dans un article 2005-05-17T09:20:16Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment381118 2005-05-17T09:20:16Z <p>inclure des php ca marche, mais pour les HTML, y a t il une manoeuvre spéciale<small class="fine d-inline"> </small>?</p> <p>quand j'inclus mon fichier HTML, a l'affichage son contenu se trouve avant celui de la boucle</p> <p>par exemple dans mon article je mets :</p> <p>avant</p> <p>#INCLURE(test.html)</p> <p>apres</p> <p>et a l'affichage j'obtient</p> <p>contenu de test.html</p> <p>avant</p> <p>apres</p> > 1.8pr1 2005-04-19T14:46:19Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment380484 2005-04-19T14:46:19Z <p>Bon ...</p> <p>Pour ceux que ca intéresse, c'est compatible 1.8, 1.8.1, et ca ne devrait probablement pas changer de si tôt<small class="fine d-inline"> </small>!</p> <p>Bon spip à tous</p> 1.8pr1 2005-02-22T22:19:09Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment379090 2005-02-22T22:19:09Z <p>Pour info :</p> <p>Testé aujourd'hui avec une 1.8pr1, ca ne pose aucun problème.</p> <p>Fred.</p> > Astuce plus belle 2005-01-26T20:59:55Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment352588 2005-01-26T20:59:55Z <p>oui, Fil, ça devient nécessaire lorsque par exemple on veut simplement afficher dans un article le résultat du distrib.php3 d'un autre site avec la commande appropriée :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><script type"text/javascript src="http://serveur.distant/distrib.php3"></script></code></pre></div> <p>nota : l'aide de spip indique que le raccourci <code class="spip_code spip_code_inline" dir="ltr"><html>...</html></code> permet de ne pas traiter la typo de code php ou javascript, ce qui est contraire à la fonction interdire_script ... est-ce une erreur ou une mauvaise compréhension<small class="fine d-inline"> </small>?</p> Astuce plus belle 2005-01-18T13:11:39Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment338080 2005-01-18T13:11:39Z <p>[spip-dev] une astuce pour inclure des scripts externes + discussion interdire_scripts()<br class="autobr"> De : Fil <br class="autobr"> À : spip-dev </p> <p>Coucou,</p> <p>pour un besoin particulier (récupérer des pages dynamiques existantes) j'ai<br class="autobr"> commencé à développer la procédure habituelle : un système compliqué de<br class="autobr"> mots-clés, scripts associés, tout en veillant à la sécurité, etc..., avant<br class="autobr"> de penser à une astuce si simple et puissante que je ne peux pas m'empêcher<br class="autobr"> de la faire partager :-)</p> <p>En effet, le filtre |file_get_contents fonctionne très bien à partir de php<br class="autobr"> version >= 4.3.0 :</p> <p>Illustration :</p> <p><br class="autobr"> <abbr title="file_get_contents)">(#PS*</abbr><br class="autobr"> </p> <p>En français : «<small class="fine d-inline"> </small>Si le post-scriptum commence par "http://", intégrer la page<br class="autobr"> en question.<small class="fine d-inline"> </small>»</p> <p>Le * de [(#PS*)] est là pour éviter que le moteur typographique entre en jeu<br class="autobr"> sur l'URL de la page.</p> <p>Le "résultat" du filtre (c'est-à-dire le code produit) est dans le cache de<br class="autobr"> spip : ça évite de bastonner le script à chaque visite.</p> <p>Bonus sécurité : dans le script externe, on peut vérifier qu'on est bien<br class="autobr"> appelé depuis la même machine, et qu'on peut donc avoir "confiance".</p> <p>Petit bug : les scripts (javascript et php) sont interdits<small class="fine d-inline"> </small>; pour le php<br class="autobr"> c'est presque absolument nécessaire (sauf cas exceptionnel), mais pour le<br class="autobr"> javascript ça peut être ennuyeux (si l'on sait ce qu'on fait).</p> <p>Ce qui m'amène à poser la question d'une mise à niveau de la fonction<br class="autobr"> interdire_scripts(), qu'il faudrait décomposer en interdire_php() et<br class="autobr"> interdire_javascript(). Avec une possibilité de désactiver la seconde,<br class="autobr"> peut-être avec la syntaxe <abbr title="...)">(#PS**</abbr> — d'ailleurs pourquoi pas les deux,<br class="autobr"> pour les malades et inconscients, avec la syntaxe <abbr title="...)">(#PS***</abbr><small class="fine d-inline"> </small>?</p> <p>(Ajoutons éventuellement un code spécifique de désactivation, qu'il faudra<br class="autobr"> installer dans mes_options.php3, et qui sera disponible seulement si on lit<br class="autobr"> toute la documentation<small class="fine d-inline"> </small>?)</p> <p>— Fil</p> > Lancer un script PHP dans un article 2004-12-04T14:54:03Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment226213 2004-12-04T14:54:03Z <p>Oui, cette contrib doit fonctionner avec la 1.8, en tout cas avec la 1.8a, pour la 1.8b je n'ai pas testé, mais il n'y a aucune contre-indication</p> <p>En ce qui concerne un script sur un site externe, non ce n'est pas du tout prévu.</p> > Lancer un script PHP dans un article 2004-12-03T15:53:31Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment225380 2004-12-03T15:53:31Z <p>2 Questions : <br>- Est-ce que ta contrib fonctionne avec spip 1-8b2<small class="fine d-inline"> </small>? <br>- Est-ce qu'il serait possible d'inclure un script externe (se trouvant sur un autre site)<small class="fine d-inline"> </small>?</p> > Lancer un script PHP dans un article 2004-12-03T15:49:25Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment225377 2004-12-03T15:49:25Z <p>j'avais le meme probleme alors j'ai viré le dernier parametre ,1 de cette fonction et ça marche</p> > Lancer un script PHP dans un article 2004-12-03T15:02:03Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment225338 2004-12-03T15:02:03Z <p>j'avais le meme probleme<small class="fine d-inline"> </small>; car j'avais oublié d'encadrer le code du fichier mes_fonctions.php3 par</p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php et ?></span></code></pre> > Lancer un script PHP dans un article 2004-09-27T19:29:01Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment119900 2004-09-27T19:29:01Z <p>bonjour,</p> <p>à mon tour :</p> <p>Dans un article, j'inclus l'appel à un fichier annees.php3 (</p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php $fond </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"annees"</span><span style="color:#007700;">; </span><span style="color:#0000BB;">$delais </span><span style="color:#007700;">= </span><span style="color:#0000BB;">1 </span><span style="color:#007700;">* </span><span style="color:#0000BB;">3600</span><span style="color:#007700;">; include (</span><span style="color:#DD0000;">"inc-public.php3"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">?></span></code></pre> <p>).</p> <p>ll appelle donc un fichier annees.html qui peut aussi contenir du php selon les tests mais d'abord des boucles.</p> <p>Malheureusement, si le résultat s'affiche, c'est par-dessous la page (en tête, mais sous les div). Je suis même reparti du squelette article par défaut. Les inclusions ne rentrent pas dans la mise en page. Elles fonctionnaient très bien en dur, mais ici ça semble coincer.</p> <p>Pour le « $affichage_php » avec ou sans, c'est pareil mais je ne crois pas avoir trouvé la bonne syntaxe dans ce cas. Donc ça plus les boucles...</p> <p>Sinon, mon plan ne dois pas être très bon puisqu'en plus le résultat ne reste pas en cache. J'aurais tenté.</p> <p>Claude</p> [cache] le désactiver<small class="fine d-inline"> </small>? 2004-09-27T10:19:17Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment119534 2004-09-27T10:19:17Z <p>Bonjour,</p> <p>Le script fonctionne parfaitement bien mais j'ai un soucis de cache. Si dans la plupart des cas le fait que SPIP cache les données issues des scripts me réjouit dans certain cas je ne veux pas qu'il les cachent.</p> <p><strong>Alors comment faire<small class="fine d-inline"> </small>?</strong></p> <p>J'avais pensé à 2 solutions mais je les trouve peu élégantes :</p> <p>- dans mon fichier articles.php3 modifier dynamiquement la durée du cache suivant l'Id de l'article. Un tableau de gestion des exceptions qui en gros suivant l'id d'article change la durée du cache.</p> <p>- rerouter mon article vers un squelette sans cache du style article_sans_cache.php3</p> <p>A la limite je préfére la 1<sup class="typo_exposants">er</sup> mais je me demande s'il n'y a pas une solution plus élégante qui demanderai moins de bidouille et qui reposerai sur des variables ou des trucs comme ça<small class="fine d-inline"> </small>?</p> > Lancer un script PHP dans un article 2004-09-14T10:02:38Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment104387 2004-09-14T10:02:38Z <p>As-tu pensé à modifier ton fichier <i>article.html</i> pour ajouter le filtre au texte de l'article<small class="fine d-inline"> </small>?</p> <p>Comme ceci :</p> <p><code class="spip_code spip_code_inline" dir="ltr">[(#TEXTE|autoriser_php)]</code></p> <p>Fred.</p> > Lancer un script PHP dans un article 2004-09-10T15:32:42Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment102501 2004-09-10T15:32:42Z <p>Bonjour encore moi<small class="fine d-inline"> </small>!<br class="autobr"> Bien après trois jours d'essais je n'arrive même pas à faire le premier exercice (Je suis vraiment nul)<br class="autobr"> Comme Nounette, J'ai créé :<br class="autobr"> Un fichier HTML et un fichier php3 « mon_premier_script », J'ai tout copié dans le fichier racine ou se trouve les fichiers : article.html etc..., inclus le fichier mes_fonctions.php3. J'ai tout copié/collé (en principe pas d'erreurs)<br class="autobr"> Puis dans mon article j'ai inclu #INCLURE (mon_premier_script.php3)<br class="autobr"> Problème, quand j'édite l'article Je retrouve :<br class="autobr"> Bonjour, voici le résultat de ma fonction :#INCLURE (mon_premier_script.php3) Hop<small class="fine d-inline"> </small>?<br class="autobr"> Je ne comprend vraiment pas<small class="fine d-inline"> </small>? merci de votre aide.</p> Mettre une requête SQL dans un article<small class="fine d-inline"> </small>? 2004-09-07T16:02:49Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment94963 2004-09-07T16:02:49Z <p>Bonjour,<br class="autobr"> débutant, je viende découvrir SPIP. D'après ce que j'ai compris, l'on peut afficher une requête dans un article. J'ai une base de donnée pour un club de hockey. J'aimerai afficher les équipes qui sont sélectionnée sous forme de requêtes. Est-ce possible et comment faire. Je travaille avec:Données : MySQL 4.0.17 log phpMyAdmin 2.5.7. pl1.<br class="autobr"> Mercide votre réponse.</p> <p>christian</p> > Lancer un script PHP dans un article 2004-09-06T08:26:41Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment91937 2004-09-06T08:26:41Z <p>1) Tu n'utilises pas une variable qui commence par « var_ »<small class="fine d-inline"> </small>?<br class="autobr"> Parce que le cache n'est pas recréé pour :<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">article.php3?id_article=1&var_id=1</code><br class="autobr"> et<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">article.php3?id_article=1&var_id=2</code></p> <p>2) Oui c'est possible, il suffit de retrouver la fonction PHP qui gère ca, et l'appeler à la fin du script. Après j'ai peur qu'elle change en fonction des versions...</p> <p>J'ai regardé, la fonction n'est pas dans inc_filtres.</p> > Lancer un script PHP dans un article 2004-09-03T12:53:56Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment88887 2004-09-03T12:53:56Z <p>Bonjour<small class="fine d-inline"> </small>!</p> <p>1) Tu écris : « C'est d'autant plus pratique que SPIP va générer un cache pour TOUTES les url différentes.<br class="manualbr">Fort heureusement, sinon l'affichage de<br class="manualbr">article.php3<small class="fine d-inline"> </small>?id_article=x&id_machin=1<br class="manualbr">serait le même que l'affichage de<br class="manualbr">article.php3<small class="fine d-inline"> </small>?id_article=x&id_machin=2 »</p> <p>Malheureusement, c'est justement ça qui se passe chez moi (Spip 1.7.2). J'ai dû régler le cache à 0 pour avoir les bons résultats chaque fois que l'URL change.</p> <p>2) J'aimerais faire passer le résultat <i>$affichage_php</i> par le même traitement typo que subit un texte tapé normalement dans un champ Spip (insérer espace devant :<small class="fine d-inline"> </small>!? etc.) Vois-tu comment faire cela<small class="fine d-inline"> </small>?</p> <p>merci, Paolo</p> > Lancer un script PHP dans un article 2004-08-10T06:57:30Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment58496 2004-08-10T06:57:30Z <p>Ok cela fonctionne, mais j'aimerais arriver à la même chose sans stocker le résultat du script dans le cache</p> <p>A chaque affichage je souhaiterais executer le code <br class="autobr"> Comment faire<small class="fine d-inline"> </small>??</p> > Erreur filtre non defini 2004-08-09T14:50:03Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment58376 2004-08-09T14:50:03Z <p>Désolée pour le dérangement...<br class="autobr"> J'avais juste un problème de placement du filtre.<br class="autobr"> #TEXTE|autoriser_php.<br class="autobr"> Je l'avais placé dans une nouvelle boucle, alors qu'il suffisait simplement de l'ajouter au #TEXTE existant.</p> <p>Ca marche...<br class="autobr"> Merci, merci :-))</p> Erreur filtre non defini 2004-08-09T14:39:25Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment58375 2004-08-09T14:39:25Z <p>Bonjour,</p> <p>Je trouve cette contrib très utile et j'essaie de l'utiliser.</p> <p>Sauf que j'ai : <br class="autobr"> "Erreur : filtre «<small class="fine d-inline"> </small>autoriser_php<small class="fine d-inline"> </small>» non défini "</p> <p>J'avoue etre débutante avec php et spip... je sais, ca aide pas<small class="fine d-inline"> </small>;)</p> <p>- J'ai crée un fichier <strong>mes_fonctions.php3</strong> à la racine du site (il se trouve au milieu de article.html, rubrique.html et autres). <br>- J'ai crée un premier script comme expliqué dans la contrib : <strong>mon_premier_script.php3</strong>. <br>- j'ai ensuite créé un article avec le contenu suivant :<br class="autobr"> Résultat de la recherche :<br class="autobr"> #INCLURE(mon_premier_script.php3)</p> <p>- Et sur la page d'accueil (en fond, derrière) j'ai le script de mes_fonctions.php3 qui apparait<small class="fine d-inline"> </small>! (j'ai pourtant fait un copier/collé à partir de la contrib)</p> <p>- Je travaille en local : easyphp1.7 et windows xp</p> <p>Il me semble avoir suivi les instructions à la lettre. Quelque chose a pourtant du m'échapper<small class="fine d-inline"> </small>!</p> <p>Merci de toute aide :-)</p> > Lancer un script PHP dans un article 2004-07-23T22:55:38Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment21416 2004-07-23T22:55:38Z <p>Salut<small class="fine d-inline"> </small>!<br class="autobr"> j'ai exactement le meme probleme que marrock<br class="autobr"> une erreur « filtre non defini »<br class="autobr"> et ca le fait avec n'importe quel filtre « maison » (ca marche avec les filtres intégrés, mais pas avec les filtres créés dans mes_fonctions).<br class="autobr"> Y a-t-il quelque chose a programmer dans article.php<small class="fine d-inline"> </small>???<br class="autobr"> j'avoue que je suis perdu<small class="fine d-inline"> </small>!!!</p> > Lancer un script PHP dans un article 2004-07-06T07:21:54Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment11000 2004-07-06T07:21:54Z <p>Ouais :-)<br class="autobr"> Je n'y avais pas pensé.</p> <p>A vérifier toutefois si SPIP n'utilise pas déjà du buffering...</p> > Lancer un script PHP dans un article 2004-07-01T18:59:31Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10868 2004-07-01T18:59:31Z <p>bonjour,</p> <p>je n'ai pas testé, mais vous devriez pouvoir utiliser les fonctions <i>ob_start()</i> et <i>ob_get_contents()</i> pour récupérer dans une chaînes les outputs générés par des echo-s faits par des scripts déjà existants...</p> <p>helpeme,<br class="autobr"> sébastien</p> > Lancer un script PHP dans un article 2004-06-11T17:05:22Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10226 2004-06-11T17:05:22Z <p>quelle variable<small class="fine d-inline"> </small>?<br class="autobr"> phpinfo()<small class="fine d-inline"> </small>?</p> <p>Tu ne peux pas récupérer le contenu. La fonction balance les infos automatiquement...</p> > Lancer un script PHP dans un article 2004-06-11T17:02:48Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10225 2004-06-11T17:02:48Z <p>Quelle version de PHP utilises-tu<small class="fine d-inline"> </small>?</p> <p>- pour le savoir, fais un script PHP qui comporte la fonction phpinfo()</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?php phpinfo(); ?></code></pre></div> > Lancer un script PHP dans un article 2004-06-11T11:18:47Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10211 2004-06-11T11:18:47Z <p>Bonjour,<br class="autobr"> Après avoir suivi à la lettre les instructions pour intégrer du PHP dans un article, j'obtiens systématiquement une erreur PHP sur la fonction autoriser_php à l'instruction finale : $texte = preg_replace( $chaine_recherche, $affichage_php, $texte, 1)<small class="fine d-inline"> </small>;<br class="autobr"> Le code erreur est : Warning : Wrong parameter count for preg_replace() in your script on line 53</p> <p>Je ne vois pas de solution, merci d'avance de vos réponses.</p> <p>Jeff.</p> > Lancer un script PHP dans un article 2004-06-11T09:56:27Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10208 2004-06-11T09:56:27Z <p>Je ne comprends pas comment récupérer(dans SPIP) le contenu de la variable et comment la retraiter (càd ici afficher le contenu de la variable)<small class="fine d-inline"> </small>???</p> > Lancer un script PHP dans un article 2004-06-07T13:54:25Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10041 2004-06-07T13:54:25Z <p>Bon ben j'ai encore trouvé, cc'est encore une histoire d'affichage brute donc, si vous voulez afficher la source d'un programme il faut créer un script php contenant :</p> <pre><code style="color:#000000;"><? $affichage_php = highlight_file('fichier.php',TRUE'); ?></code></pre> <p>Et voilà le travail :D</p> > Lancer un script PHP dans un article 2004-06-07T11:58:58Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment10034 2004-06-07T11:58:58Z <p>Bon j'ai trouvé comment faire pour afficher la source de mes fichiers PHP.</p> <p>Il y a juste un problème, la source du fichier PHP n'est pas bien formattée dans l'article, elle apparaît en arrière plan,c'est pas ce que je voulais<small class="fine d-inline"> </small>;)</p> <p>J'ai pourtant utilisé une variable :</p> <p>$source = show_source('fichier.php')<small class="fine d-inline"> </small>;<br class="autobr"> $affichage_php = $source<small class="fine d-inline"> </small>;</p> <p>Une idée<small class="fine d-inline"> </small>?</p> > Lancer un script PHP dans un article 2004-06-02T07:42:30Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment9874 2004-06-02T07:42:30Z <p>C'est génial comme idée. Ca serait bien de proposer un script php qui puisse utiliser la fonction highlight de PHP<small class="fine d-inline"> </small>?</p> <p>Quelqu'un à une idée<small class="fine d-inline"> </small>?</p> > Lancer un script PHP dans un article 2004-05-28T11:22:51Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment9756 2004-05-28T11:22:51Z <p>Rectificatif : ça marche maintenant.</p> <p>J'avais créé le fichier <i>mes_options.php3</i> dans la racine<br class="autobr"> du site (comme le fichier <i>mes_fonctions.php3</i>)<br class="autobr"> au lieu de le mettre dans le répertoire <i>ecrire</i></p> <p>Merci beaucoup pour ton aide<small class="fine d-inline"> </small>!</p> > Lancer un script PHP dans un article 2004-05-28T10:57:37Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment9754 2004-05-28T10:57:37Z <p>Merci pour ces précisions.</p> <p>J'ai donc supprimé « include_ecrire (inc_connect.php3) » et<br class="autobr"> j'ai ajouté ce que tu m'as dit dans mes_options.php3.</p> <p>Malheureusement, cela n'a rien changé, j'ai les<br class="autobr"> memes erreurs.</p> > Lancer un script PHP dans un article 2004-05-28T09:52:00Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment9753 2004-05-28T09:52:00Z <p>Je l'explique dans l'article (au chapitre mise en garde avec MySQL).</p> <p>SPIP utilise la connexion COURANTE au serveur MySQL. Donc comme tu fais une connexion à ta base perso, il va essayer ensuite de chercher ses données dedans.</p> <p>Il faut pour celà demander à SPIP de faire des connexion complètes (et donc de sélectionner la base à chaque requête) en ajoutant</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$mysql_rappel_connexion = true ;</code></pre></div> <p>dans le fichier <i>mes_options.php3</i></p> <p>Voilà<small class="fine d-inline"> </small>!</p> > Lancer un script PHP dans un article 2004-05-28T09:44:42Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment9752 2004-05-28T09:44:42Z <p>Bonjour à tous,</p> <p>Je parviens bien à inclure du php dans un article<br class="autobr"> (par exemple mon_premier_script.php3 marche sans problème).</p> <p>Par contre, j'ai plus de soucis si j'utilise une base de données MySQL autre que celle de SPIP : j'ai créé une base<br class="autobr"> « Annuaire » contenant une table « Personnel » dans laquelle j'effectue des recherches :<br class="autobr"> Voici le début du script (la fin étant l'affichage du résultat grace a $affichage_php) :</p> <pre><code style="color:#000000;"><span style="color:#0000BB;"><?php include_ecrire</span><span style="color:#007700;">( </span><span style="color:#DD0000;">"inc_connect.php3" </span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'NOM'</span><span style="color:#007700;">,</span><span style="color:#DD0000;">"root"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'PASSE'</span><span style="color:#007700;">, </span><span style="color:#DD0000;">""</span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'SERVEUR'</span><span style="color:#007700;">, </span><span style="color:#DD0000;">"localhost"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">define </span><span style="color:#007700;">(</span><span style="color:#DD0000;">'BASE'</span><span style="color:#007700;">, </span><span style="color:#DD0000;">"Annuaire"</span><span style="color:#007700;">); </span><span style="color:#0000BB;">$requete </span><span style="color:#007700;">= </span><span style="color:#DD0000;">"SELECT * FROM Personnel " </span><span style="color:#007700;">; </span><span style="color:#0000BB;">$connexion </span><span style="color:#007700;">= </span><span style="color:#0000BB;">mysql_pconnect </span><span style="color:#007700;">(</span><span style="color:#0000BB;">SERVEUR</span><span style="color:#007700;">, </span><span style="color:#0000BB;">NOM</span><span style="color:#007700;">, </span><span style="color:#0000BB;">PASSE</span><span style="color:#007700;">); </span><span style="color:#0000BB;">mysql_select_db </span><span style="color:#007700;">(</span><span style="color:#0000BB;">BASE</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$connexion</span><span style="color:#007700;">); </span><span style="color:#FF8000;">// Exécution et affichage de la requête </span><span style="color:#0000BB;">$resultat </span><span style="color:#007700;">= </span><span style="color:#0000BB;">mysql_query </span><span style="color:#007700;">(</span><span style="color:#0000BB;">$requete</span><span style="color:#007700;">, </span><span style="color:#0000BB;">$connexion</span><span style="color:#007700;">); while ( (</span><span style="color:#0000BB;">$personne </span><span style="color:#007700;">= </span><span style="color:#0000BB;">mysql_fetch_object </span><span style="color:#007700;">(</span><span style="color:#0000BB;">$resultat</span><span style="color:#007700;">))) </span><span style="color:#FF8000;">// affichage du resultat .... </span><span style="color:#0000BB;">?></span></code></pre> <p>Résultat : messages d'erreur dans l'article SPIP du type :</p> <p><br class="autobr"> Erreur dans la requête envoyée à MySQL :<br class="autobr"> SELECT documents.*,types_d.titre AS type_document,types_d.extension AS extension_document,documents.* FROM spip_documents AS documents,spip_types_documents AS types_d,spip_documents_articles AS rel_documents WHERE documents.id_type = types_d.id_type AND documents.id_document=rel_documents.id_document AND rel_documents.id_article='418' AND documents.mode='document' AND documents.taille > 0 GROUP BY documents.id_document<br class="autobr"> > Table 'Annuaire.spip_documents' doesn't exist<br class="autobr"> </p> <p>Quelqu'un pourrait m'éclairer<small class="fine d-inline"> </small>?<br class="autobr"> Merci d'avance.</p> > Lancer un script PHP dans un article 2004-05-27T07:11:38Z https://contrib.spip.net/Lancer-un-script-PHP-dans-un-article#comment9713 2004-05-27T07:11:38Z <p>C'est normal<small class="fine d-inline"> </small>!!!</p> <p>La fonction phpinfo() écrit directement vers la sortie, alors qu'il est bien précisé dans l'article que l'affichage ne doit _pas_ se faire directement par un echo(), mais dans une variable qui sera récupérée à la fin de ton script par SPIP (pour éventuellement être retraitée)<small class="fine d-inline"> </small>!</p>