PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 23.11.2006 22:34:58 von Walter Kerelitsch
hallo folks,
bin erst am evaluieren, ob mein Denkansatz Sinn gibt..
Ich habe in einer mysql-DB Texte, welche ich in einer webapplikation
nacheinander ausgebe.
Jetzt möchte ich auf *einer* Textseite (also in der Datenbank) PHP-Code
einbauen, der ein File-Upload ermöglicht.
Wenn ich das tue, wird mir der SQL-Code brav am Schirm angezeigt, aber
(natürlich) nicht ausgeführt.
Wie erreiche ich, dass der PHP-Code trotzdem ausgeführt wird? Geht das
überhaupt? Na ja, mit PHP geht ja fast alles ;.))
Oder soll ich einen anderen Weg beschreiten und das ganze diskret in meiner
Applikation programmieren?
lg und danke schon mal im voraus
walter
Re: PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 23.11.2006 23:16:00 von Michael Fesser
..oO(Walter Kerelitsch)
>bin erst am evaluieren, ob mein Denkansatz Sinn gibt..
Der Betreffzeile nach zu urteilen eher nicht.
>Ich habe in einer mysql-DB Texte, welche ich in einer webapplikation
>nacheinander ausgebe.
Soweit kein Problem.
>Jetzt möchte ich auf *einer* Textseite (also in der Datenbank) PHP-Code
>einbauen, der ein File-Upload ermöglicht.
Aber hier hakts: Was hat der Upload-Code in der Datenbank verloren?
Wenn, dann gehörte da der HTML-Code zum Erzeugen des Formulars hin.
>Wie erreiche ich, dass der PHP-Code trotzdem ausgeführt wird? Geht das
>überhaupt? Na ja, mit PHP geht ja fast alles ;.))
Es geht, ist aber häßlich und in den meisten Fällen ein deutliches
Zeichen für alles mögliche, nur nichts Gutes. Das Stichwort ist eval().
>Oder soll ich einen anderen Weg beschreiten und das ganze diskret in meiner
>Applikation programmieren?
Wäre wohl besser.
Micha
Re: PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 23.11.2006 23:42:52 von Walter Kerelitsch
"Michael Fesser" schrieb im Newsbeitrag
news:117cm2tcltcv13d6hcpo7adhbcjkb45ohb@4ax.com...
>>Jetzt möchte ich auf *einer* Textseite (also in der Datenbank) PHP-Code
>>einbauen, der ein File-Upload ermöglicht.
>
> Aber hier hakts: Was hat der Upload-Code in der Datenbank verloren?
> Wenn, dann gehörte da der HTML-Code zum Erzeugen des Formulars hin.
>
ich war unklar: ich möchte in einer sequenz zwei seiten ausgeben:
die eine zum erstellen des formulars für den upload (die hab ich ja schon),
hat kein php.
die zweite zum uploaden (move_uploaded....), diese macht mir das problem.
>>Wie erreiche ich, dass der PHP-Code trotzdem ausgeführt wird? Geht das
>>überhaupt? Na ja, mit PHP geht ja fast alles ;.))
>
> Es geht, ist aber häßlich und in den meisten Fällen ein deutliches
> Zeichen für alles mögliche, nur nichts Gutes. Das Stichwort ist eval().
>
meinst Du, ist es unsicher?? eval() muss ich mir ansehen. aber Du rätst
ab...
>>Oder soll ich einen anderen Weg beschreiten und das ganze diskret in
>>meiner
>>Applikation programmieren?
>
> Wäre wohl besser.
>
aha. verstehe. s.o.
> Micha
danke!
walter
Re: PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 24.11.2006 00:29:52 von Niels Braczek
Walter Kerelitsch schrieb:
> bin erst am evaluieren, ob mein Denkansatz Sinn gibt..
Schön, dass du kommst, bevor das Kind in den Brunnen gefallen ist.
> Jetzt möchte ich auf *einer* Textseite (also in der Datenbank) PHP-Co=
de=20
> einbauen, der ein File-Upload ermöglicht.
> Wenn ich das tue, wird mir der SQL-Code brav am Schirm angezeigt, aber =
> (natürlich) nicht ausgeführt.
>=20
> Wie erreiche ich, dass der PHP-Code trotzdem ausgeführt wird? Geht da=
s=20
> überhaupt? Na ja, mit PHP geht ja fast alles ;.))
Es geht, aber das willst du nicht.
> Oder soll ich einen anderen Weg beschreiten und das ganze diskret in me=
iner=20
> Applikation programmieren?
Ja. Setze an die Stelle im Text eine Markierung, zB. {upload}.
Baue in deiner Applikation den HTML-Code für den Upload zusammen und
ersetze während der Ausgabe das {upload} durch diesen Code.
Damit behältst du zu pflegenden Code an einer Stelle. Du kannst den Tex=
t
ändern (lassen), ohne dass deine Anwendung kaputt geht. Du kannst zB.
die Upload-Funktion ändern, ohne den Text anfassen zu müssen. Du kann=
st
den Upload über das simple {upload} in jede beliebige Textseite
einbauen. Du bist Alles in Allem wesentlich flexibler (und zudem sauberer=
).
MfG
Niels
--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 24.11.2006 14:20:04 von Michael Fesser
..oO(Walter Kerelitsch)
>ich war unklar: ich möchte in einer sequenz zwei seiten ausgeben:
>die eine zum erstellen des formulars für den upload (die hab ich ja schon),
>hat kein php.
>die zweite zum uploaden (move_uploaded....), diese macht mir das problem.
Schon klar, nur was hat der PHP-Code in der Datenbank verloren? Du
kannst den Dateiupload auch mit einem eigenständigen kleinen Skript
bearbeiten, welches dann im Anschluß z.B. auf eine Seite Deiner
Applikation weiterleitet.
>meinst Du, ist es unsicher?? eval() muss ich mir ansehen. aber Du rätst
>ab...
Nicht per se unsicher, aber doch reichlich ineffizient und in den
meisten Fällen völlig unnötig.
Micha
Re: PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 27.11.2006 23:05:18 von Walter Kerelitsch
vielen Dank Niels,
für die Anregung mit dem 'Code-einsetzen', aber ich werds ganz simpel so
machen, wie ichs auch schon im Test laufen habe, nämlich mit einem eigenen
separaten skript.
lg Walter
Re: PHP-Code ausführen, welcher in mySQL-DB gespeichert ist?
am 27.11.2006 23:06:43 von Walter Kerelitsch
"Michael Fesser" schrieb im Newsbeitrag
news:51sdm257r7cnng3ddmhcpu9btke0qc1nhg@4ax.com...
> Schon klar, nur was hat der PHP-Code in der Datenbank verloren? Du
> kannst den Dateiupload auch mit einem eigenständigen kleinen Skript
> bearbeiten, welches dann im Anschluß z.B. auf eine Seite Deiner
> Applikation weiterleitet.
>
ja, danke, denke auch, dass das so am einfachsten ist. und werds auch so
umsetzen.
danke und lg
walter