Lancer un script PHP dans un article - 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 ;)</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><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 style="display:none;"> 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 ? <br class="autobr" /> Merci !!</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?</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><article|x|tripar=nom></code>. L'idée serait de pouvoir changer «nom» par «ville» 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 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><article|71|tripar=nom></code> si dans la boucle de mon modèle j'avais :</p> <p><code><BOUCLE_x(table) {par #ENV{tripar}></code></p> <p>Est-il possible de générer le «texte» <code><article|71|tripar=nom></code> de façon à ce que Spip l'interprète au bon moment?<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 “modèles”.</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 ;-) Je ne suis qu'en 1.9.2d.</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 ? , Le paramétrage reste il le même ?</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.2d [11132] | Sarka-SPIP 2.0.2 [18368]</p> <p>Modification du fichier article.html : <code>[(#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>$dossier_inclus = './inc/';</code></p> <div class="precode"><pre 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.2d à 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="red"><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.2d ce script reste t-il d'actualité ?<br class="manualbr" />2)Quel nom de fichier donné à celui qui contient le script ?<br class="manualbr" />3)Où mettre ce fichier ?</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'];</p> <p>#</p> <p>$id_machin = $GLOBALS['id_machin'];</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() ; 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 ? Est-ce réalisable (et comment)?</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'>大阪デリヘル</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><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 ?</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> <p><code><span style="color: #000000"> <span style="color: #0000BB"><?php <br /> <br /> 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">); <br /> </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">); <br /> </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">); <br /> </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">); <br /> <br /></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">); <br /></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">); <br /> <br />if( </span><span style="color: #0000BB">$ma_requete</span><span style="color: #007700">) { <br /> 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">) { <br /> </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">; <br /> </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">; <br /> 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">)) { <br /> </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">; <br /> </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">; <br /> </span><span style="color: #0000BB">$affichage_php </span><span style="color: #007700">.= </span><span style="color: #DD0000">"</tr>\n"</span><span style="color: #007700">; <br /> } <br /> </span><span style="color: #0000BB">$affichage_php </span><span style="color: #007700">.= </span><span style="color: #DD0000">"</table>\n"</span><span style="color: #007700">; <br /> } <br />} <br /></span><span style="color: #0000BB">?></span> </span> </code></p> <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> <annuaireXX></code> ou <code><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 ?</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/';</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 !!!</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/';</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 /> );</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!), 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?</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 ! 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 : <br class="autobr" /> <code><span style="color: #000000"> <span style="color: #0000BB"><?php <br />$affichage_php </span><span style="color: #007700">= </span><span style="color: #DD0000">"Hello World !"</span><span style="color: #007700">; <br />echo </span><span style="color: #DD0000">"hello the world"</span><span style="color: #007700">; <br /></span><span style="color: #0000BB">?></span> </span> </code></p> <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" /> «<br class="autobr" /> <abbr title="autoriser_php)">(#TEXTE</abbr><br class="autobr" /> »</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? une histoire de cache? de délai????</p> SPIP 1.9.1 : pas compris ! 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 ?</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() ;</li><li> ob_get_contents() ;</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 ?<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> «ne pas faire des “echo”» 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() ; et ob_get_contents() ; 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"> <p> <code><span style="color: #000000"> <span style="color: #0000BB"><?php <br /></span><span style="color: #FF8000">/*************************************************************/ <br />/** Cette fonction permet de lancer un script PHP dans un article <br />/** <br />/** La syntaxe est la suivante : <br />/** #INCLURE ( nom_fichier ) <br />/** <br />/** Auteur : F. Quointeau <br />/** Version : 0.0.2 <br />/** Date : 16 Mai 2004 <br />/*****************************************************************/ <br /> <br />/***************************************************************** <br /> Aménagements : Michel MAILLARD - 20 Août 2007 <br /> <br /> * recherche automatisée des fichiers dans le dossier de stockage <br /> * ajout des fonctions ob_....() <br /> (pour assurer l'affichage à l'emplacement désiré et non en haut de page) <br /> * variable $f pour le fichier inclus <br /> (pour compatibilité avec certains serveurs) <br /> <br /> Ne pas oublier de placer cette fonction dans les squelettes ad-hoc, <br /> en particulier article.html <br /> [......(#TEXTE|autoriser_php)........] <br /> <br />/************************************************************/ <br /> <br /> </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">) { <br /> <br /> </span><span style="color: #FF8000">// Dossier où sont stockés les scripts <br /> //(à partir du fichier spip.php et non à partir du répertoire squelettes) <br /> </span><span style="color: #0000BB">$dossier_inclus </span><span style="color: #007700">= </span><span style="color: #DD0000">'inc/'</span><span style="color: #007700">; <br /> <br /> </span><span style="color: #FF8000">// Les fichiers inclus autorises sont : <br /> // *.php, *.php3, *.php4, *.phtml, *.htm, *.html, *.inc <br /> </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">; <br /> <br /> </span><span style="color: #FF8000">// Recherche des fichiers inclus autorisés dans le dossier de stockage <br /> </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">); <br /> 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">)) <br /> { <br /> 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">))) <br /> { <br /> </span><span style="color: #0000BB">$scripts_autorises</span><span style="color: #007700">[]= </span><span style="color: #0000BB">$fichier</span><span style="color: #007700">; <br /> } <br /> } <br /> </span><span style="color: #0000BB">closedir</span><span style="color: #007700">(</span><span style="color: #0000BB">$dir</span><span style="color: #007700">); <br /> <br /> <br /> <br /> </span><span style="color: #FF8000">// Recherche la chaine #INCLURE(script) <br /> </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">; <br /> <br /> 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">)) { <br /> </span><span style="color: #FF8000">// Verifie le droit d'inclure ce fichier script ! <br /> </span><span style="color: #0000BB">$autorise </span><span style="color: #007700">= </span><span style="color: #0000BB">false</span><span style="color: #007700">; <br /> </span><span style="color: #0000BB">reset</span><span style="color: #007700">( </span><span style="color: #0000BB">$scripts_autorises</span><span style="color: #007700">); <br /> 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">)) { <br /> 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">; <br /> } <br /> if( </span><span style="color: #0000BB">$autorise </span><span style="color: #007700">== </span><span style="color: #0000BB">true</span><span style="color: #007700">) { <br /> </span><span style="color: #FF8000">// Verifie que le fichier existe <br /> </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">]; <br /> if( </span><span style="color: #0000BB">file_exists </span><span style="color: #007700">(</span><span style="color: #0000BB">$f </span><span style="color: #007700">)) { <br /> </span><span style="color: #FF8000">// Vide le buffer de sortie <br /> </span><span style="color: #0000BB">$affichage_php </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">; <br /> </span><span style="color: #FF8000">// Et lance le fichier inclu !!! <br /> </span><span style="color: #0000BB">ob_start</span><span style="color: #007700">(); <br /> include (</span><span style="color: #0000BB">$f</span><span style="color: #007700">); <br /> } else { <br /> </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">; <br /> } <br /> } else { <br /> </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">; <br /> } <br /> </span><span style="color: #FF8000">// Attention, n'effectue qu'un seul remplacement à la fois ! <br /> </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">(); <br /> </span><span style="color: #0000BB">ob_end_clean</span><span style="color: #007700">(); <br /> </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">); <br /> } <br /> <br /> return( </span><span style="color: #0000BB">$texte</span><span style="color: #007700">); <br />} <br /> <br /></span><span style="color: #0000BB">?></span> </span> </code></p> </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>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 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 ?</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 <code><span style="color: #000000"> <? include ...?></span> </code><br class="autobr" /> 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?</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!</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/';<br class="manualbr" />$scripts_autorises = Array(<br class="manualbr" />'mon_script.php'<br class="manualbr" />);</p> <p>3- “mon_script.php” est le suivant:<br class="manualbr" /><code><span style="color: #000000"> <span style="color: #0000BB"><?php <br /></span><span style="color: #007700">include (</span><span style="color: #DD0000">"http://monsite/../index.php"</span><span style="color: #007700">); <br /></span><span style="color: #0000BB">?></span> </span> </code></p> <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 ! 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 ! 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 !</p> SPIP 1.9.1 ? 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 ? En tout cas sur mon site ça ne fonctionne pas ; j'ai indiqué</p> <div class="precode"><pre 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 ; ça affiche</p> <p>par nom> #PRENOM, #NOM</p> <p>est-ce normal ? Ai-je loupé quelque chose ? En tout cas merci pour la réponse, si j'arrive à le faire marché ça semble génial :)</p> SPIP 1.9.1 ? 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 ? C'est très simple avec la version 1.9.1.</p> <div class="precode"><pre 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 ? 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 ; est-ce que quelqu'un a testé cet article avec SPIP 1.9.1 ? Que faire pour l'adapter ?</p> <p>Merci !</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(); et ob_get_contents(); comme suit dans le fichier mes_fonctions.php:</p> <div class="precode"><pre 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 ? <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 ? 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><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 ; cela est t'il toujours d'actualité ?</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 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() ? Dans le squelette ?</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 !</p> <p>Est-il possible de faire fonctionner cet outil dans une rubrique également?</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 ?</p> <p>une piste pour tester ?</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>“mes_fonctions.php3”</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>“mes_fonctions.php3”</i>, alors votre script (dans le cas présent <i>“mon_premier_script.php3”</i>) doit être lui aussi à la racine de votre site.</p> <p>Le fichier <i>“article.html”</i> où il faut modifier la balise <i>#TEXTE</i>, est situé dans le répertoire <i>“dist”</i> sur votre site.<br /> Dans ce fichier, recherchez le bloc de texte suivant: <br /></p> <div class="precode"><pre 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 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 1er coup.</p> <p>En vous souhaitant une bonne insertion de votre code ;-)</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 (“<script “,”<script”,$texte);<br class="autobr" /> </i>;</p> <p>dans “mes_fonctions.php3”.<br class="autobr" /> Mais rien n'y fait, j'ai plein d'erreurs. help please !!<br class="autobr" /> Y'a-t-il un autre moyen ??</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 !!!</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 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 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 ?</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 ???<br class="manualbr" />Il y a quelqu'un ??</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 ! (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 ?</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 !</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 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><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 ?</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 <fil@rezo.net><br class="autobr" /> À : spip-dev <spip-dev@rezo.net></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 : « Si le post-scriptum commence par “http://”, intégrer la page<br class="autobr" /> en question. »</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 ; 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> ?</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 ?)</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 ? <br />- Est-ce qu'il serait possible d'inclure un script externe (se trouvant sur un autre site) ?</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; car j'avais oublié d'encadrer le code du fichier mes_fonctions.php3 par <code><span style="color: #000000"> <span style="color: #0000BB"><?php et ?></span> </span> </code></p> > 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 (<code><span 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> </span> </code>).</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 ? 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 ?</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 1er 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 ?</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 ?</p> <p>Comme ceci :</p> <p><code>[(#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!<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?<br class="autobr" /> Je ne comprend vraiment pas? merci de votre aide.</p> Mettre une requête SQL dans un article? 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_” ?<br class="autobr" /> Parce que le cache n'est pas recréé pour :<br class="autobr" /> <code>article.php3?id_article=1&var_id=1</code><br class="autobr" /> et<br class="autobr" /> <code>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!</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 ?id_article=x&id_machin=1<br class="manualbr" />serait le même que l'affichage de<br class="manualbr" />article.php3 ?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 :!? etc.) Vois-tu comment faire cela?</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 ??</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 « autoriser_php » non défini”</p> <p>J'avoue etre débutante avec php et spip... je sais, ca aide pas ;)</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 ! (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 !</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 !<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 ???<br class="autobr" /> j'avoue que je suis perdu !!!</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 ?<br class="autobr" /> phpinfo() ?</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 ?</p> <p>- pour le savoir, fais un script PHP qui comporte la fonction phpinfo()</p> <div class="precode"><pre 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);<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) ???</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> <p><code><span style="color: #000000"> <? <br />$affichage_php = highlight_file('fichier.php',TRUE'); <br />?></span> </code></p> <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 ;)</p> <p>J'ai pourtant utilisé une variable :</p> <p>$source = show_source('fichier.php');<br class="autobr" /> $affichage_php = $source;</p> <p>Une idée ?</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 ?</p> <p>Quelqu'un à une idée ?</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 !</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 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à !</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> <p> <code><span style="color: #000000"> <span style="color: #0000BB"><?php <br /> include_ecrire</span><span style="color: #007700">( </span><span style="color: #DD0000">"inc_connect.php3" </span><span style="color: #007700">); <br /> <br /> </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">); <br /> </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">); <br /> </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">); <br /> </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">); <br /> <br /> </span><span style="color: #0000BB">$requete </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT * FROM Personnel " </span><span style="color: #007700">; <br /> <br /> </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">); <br /> <br /> </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">); <br /> <br /></span><span style="color: #FF8000">// Exécution et affichage de la requête <br /> <br /> </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">); <br /> <br /> <br /> 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">))) <br /></span><span style="color: #FF8000">// affichage du resultat .... <br /> <br /></span><span style="color: #0000BB">?></span> </span> </code></p> <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 ?<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 !!!</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) !</p>