PHP-Scripts im Content

Gesperrt
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

PHP-Scripts im Content

Beitrag von hyperjojo »

Hi,

manchmal mag ich im Content einer Seite kleinere PHP-Scripts direkt einfügen.
Wie mache ich das am einfachsten?
Ich möchte ja nicht für jedes Mini-Script ein eigenes Template erstellen, wo dann das entsprechende Modul geladen wird.
Gibt es nicht ein Modul, bei dem ich (wie auch bei normalem Text) einfach im Backend Code einfügen kann und dieser im Frontend ausgeführt wird???

Oder wie macht ihr das? Andere Ideen, Möglichkeiten??

Freue mich über jede Anregung :D

hyperjojo
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

such mal im Forum - da hat jemand ein PHP Include-Modul geschrieben.
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo »

Hi,

includen wollte ich ja nicht, dann muss ich pro Script ja jedesmal ne extra Datei anlegen...

Ich mag einfach im Backend den Code direkt eingeben...

Noch jemand ne Idee??

thx!!!

bye
chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert »

Hallo,

mag sein, daß ich mich täusche, aber solltest Du Dein gewünschtes Ergebnis nicht einfach erreichen in dem Du folgendes Modul anlegst:

Input

Code: Alles auswählen

<text<? echo area; ?> name="CMS_VAR[1]" cols=60 rows=20>CMS_VALUE[1]</text <? echo area; ?>>

Output:

Code: Alles auswählen

<?
CMS_VALUE[1]
?>

Alles ungetestet und ohne Garantie, versteht sich... Sag bitte Bescheid, ob es funktioniert!


Schöne Grüße

Robert
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo »

Hi,

deine Idee hatte ich auch schon:

Input:

Code: Alles auswählen

echo "<text";
echo "area name=\"CMS_VAR[1]\" cols=60 rows=20>CMS_VALUE[1]";
echo "</text";
echo"area";
Output:

Code: Alles auswählen

<?php
echo CMS_VALUE[1];
?>
Problem: Ich kann nur reinen Text eingeben. Sobald ich "<?php" eingebe, kommt im Frontend nurnoch eine weiße Seite, sonst nix. Irgendwie ist php-Code also im CMS_VALUE verboten, oder??

Würd mich freuen, wenn wir das noch hinbekommen!! :D

bye

hyperjojo
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ich würde "echo" durch "eval" im Output-Bereich ersetzen.
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo »

Hi Timo,

auch das hatte ich schon probiert:

Code: Alles auswählen

<?php
eval ("\$cms_value[1] = \"CMS_VALUE[1]\";");
echo $cms_value[1];
?>
Funzt genauso wenig...

hmmm....
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

und ohne einleitenden <?php tag?
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo »

neee,

auch ohne einleitenden php-tag gehts nit, dann bekomme ich den phpcode als ausgabe. is ja auch logisch... ;)

bye
chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert »

Hallo,

naja, "logisch" ist es nicht, denn die CMS_VALUE-Platzhalter werden von Contenido mit dem dafür gespeicherten Wert ausgetauscht. Der daraus entstehende Code wird dann am Schluß mit eval() ausgeführt. Nur was mit echo() im Code dargestellt wird, erscheint später als Text.

Mit einem Output-Modul

Code: Alles auswählen

<?
CMS_VALUE[1]
?>
wird der eingegebene Code korrekt ausgeführt. Also weder echo() noch eval(), wobei eval() nicht schaden sollte.

Bei mir funktioniert es jedenfalls. Man sollte das Input-Modul lediglich so erweitern, daß die Quotes entfernt werden, die dem Code in der Datenbank hinzugefügt wurden.


Schöne Grüße

Robert
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo »

Noe, es funzt nit.

ohne beides wird zwar das Input ausgegeben, aber der PHP-Code nicht ausgeführt. Wenn im Input dann auch noch <?php steht, wird sogar teilweise der Code aus dem Ausgabe-Modul ausgegeben...

Kann das denn nicht mal jemand bei sich testen?? Ich bekomm's net hin...

bye
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

input

Code: Alles auswählen

?>

<text<? echo "area"; ?> name="CMS_VAR[1]" cols=60 rows=20>CMS_VALUE[1]</text<? echo "area"; ?>>

<?php
output

Code: Alles auswählen

<? 
CMS_VALUE[1] 
?>
den code gibst dann ohne !! <?php und ?> ein...
Zuletzt geändert von emergence am Sa 15. Nov 2003, 09:54, insgesamt 1-mal geändert.
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo »

noe, es funzt nit.

1. werden bei jedem abspeichern die escape-slashes hinzugefügt
2. macht das output immernoch zicken

oder funzt es bei dir einwandfrei?? gib mal mehrmals text ein, speicher ab usw...

bye
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

das mit quotes würde mit

Input:

Code: Alles auswählen

?>

<text<?php echo "area"; ?> name="CMS_VAR[1]" cols=60 rows=20><?php echo urldecode("CMS_VALUE[1]") ?></text<?php echo "area"; ?>>

<?php
gehen...

nur ergibt sich daraus ein anderes problem....

sämtlich variablen zb wenn eingegeben wird -> $var sind dann nicht mehr bearbeitbar... innerhalb der seite wird sie normal verwendet und|oder angezeigt... aber das merkst sofort wenn du es einmal gespeichert hast...

ideal ist es aber nicht, dass die scripts innerhalb von con_container_conf gespeichert werden...
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Gesperrt