J'ai un cms de base qui stocke des pages dans une table dans une base de données mysql - est-il possible d'inclure PHP dans une page et de le traiter plutôt que de le sortir tel quel?Traitement PHP dans une base de données
Répondre
Je pense que vous devriez utiliser eval() pour faire une telle chose. Donc oui, possible mais pas recommandé.
Vous pouvez utiliser eval
(http://php.net/manual/en/function.eval.php)
Mais rappelez-vous que eval is evil
merci Ewan, mon mauvais –
Comme les deux suggestions ont indiqué, en utilisant eval() n'est pas recommandé et pose un grave problème de sécurité.
Votre meilleur pari serait de créer un système de base de gabarit. Vous pourriez avoir un ensemble prédéterminé de blocs de code PHP sur le frontend qui sont déclenchés par certaines valeurs clés sur le backend, c'est-à-dire que {show_categories}
pourrait être une balise qui, lorsqu'elle est analysée, est remplacée par toutes les catégories.
Pour implémenter une telle fonctionnalité, vous devez rechercher les valeurs de clé de modèle particulières. Si de telles valeurs de clé sont trouvées, exécutez le code associé avec cette valeur de clé et remplacez la clé par le code.
Un exemple très simple de trouver et de remplacer une clé de modèle:
// check if the show_categories key is found
if (strpos($body, '{show_categories}') !== false) {
// generate the show categories output from a PHP function
$categories = getCategoriesOutput();
// replace key with content
str_replace('{show_categories}', $categories, $body);
}
+1: Smarty ou Phable serait une option –
- 1. Télécharger une image PHP/SQL dans une base de données
- 2. Réduire le temps de traitement de base de données l'accès
- 3. Traitement de formulaire jQuery avec PHP à base de données MYSQL à l'aide de $ .ajax Demande
- 4. PHP: Recherche dans la base de données
- 5. stocker wget lien dans une base de données (php)
- 6. Php limitant l'insertion de données dans une base MySQL
- 7. traitement parallèle de file d'attente de la base de données
- 8. Traitement d'une chaîne dans php
- 9. Traitement des données dans un objet PHP JSON
- 10. Adhoc Traitement de données/ETL
- 11. php stocker dans la base de données tamil php mysql
- 12. Comment stocker des données modifiées dans une base de données?
- 13. Références de traitement des données
- 14. Insérer des données dans une base de données mysql distante
- 15. Traitement multithread/parallèle en PHP
- 16. Simulation de base de données PHP
- 17. Changement de base de données en PHP
- 18. Problèmes de base de données PHP/MySQL
- 19. PHP Symfony - Questions de traitement de formulaire
- 20. Utiliser PHP pour accéder à une base de données MySQL
- 21. rechercher une base de données
- 22. problème de base de données PHP MySQL
- 23. Ajouter avec PHP à une base de données MySQL
- 24. Traitement par lots dans le tableau en utilisant PHP
- 25. Traitement du nombre PHP
- 26. Comment sauvegarder une page html dans une base de données?
- 27. Comment détecter une base de données indisponible avec PHP PDO?
- 28. Comment sauvegarder une base de données SQL en utilisant PHP?
- 29. Déduire nombres de base de données Php
- 30. Echo html + php base de données
Puis-je demander ce que les problèmes de sécurité avec ce serait? (Je suis la seule personne qui peut ajouter du contenu à la base de données et je le fais via phpmyadmin) –
Je pense que vous auriez plus de problèmes de performance que de sécurité. eval() est assez cher car PHP doit essentiellement générer un autre interpréteur pour chaque appel de eval(). –
Ah merci :) –