View previous topic :: View next topic |
Author |
Message |
MoR4euZ Smarty Rookie
Joined: 30 Jun 2004 Posts: 5
|
Posted: Thu Aug 26, 2004 11:24 am Post subject: [HELP] {php} {include_php} – externe PHP Scripte includen |
|
|
[HELP] {php}{include_php} – externe PHP Scripte includen
Hallo
Ich verwende das CMS Content-Builder (http://www.content-builder.de) was Smarty nutz
Ich würde gerne externe PHP Scripte in den Contentbereich laden
aber es wird nicht abgearbeitet nur das test echo ganz am Schluss wird ausgegeben :/
http://web5.208080.vserver.de/index.php?load=article2&;sub=full&id=3&app=contact
Code: |
{php}
switch ($app) {
case "contact":
include("modules/contact/contact.php");
break;
}
echo "test";
{/php}
|
Code: |
{php}
switch ($app) {
case "contact":
include("modules/contact/contact.php");
break;
}
echo $app;
{/php}
|
kommt bei beiden zu keiner Ausgabe
{include_php file="modules/contact/contact.php"} klappt ohne Probleme
Kann ich mit der Smarty Syntax eine IF basteln und das {include_php} dort einbringen?
nun bleibt die frage warum das PHP switch nicht abgearbeitet wird oder ob wer noch eine bessere (saubere) Lösung für mich parat hat
Ich hoffe ich habe mein Problem gut genug beschrieben das man es verstehen kann
Gruß
MoR4euZ |
|
Back to top |
|
Dolgan Smarty Rookie
Joined: 24 Aug 2004 Posts: 8
|
Posted: Thu Aug 26, 2004 11:46 am Post subject: wahrscheinlich ne leere Variable... |
|
|
Hallo,
wenn das "test" beim ersten ausgegeben wird,
beim echo von $app aber nix, würd ich spontan mal annehmen, daß $app aus irgendeinem Grund leer ist. Dann würde natürlich auch dein case nicht matchen und logischerweise nix eingebunden.
Wenn Du trotzdem glaubst, daß Dein switch-Konstrukt nicht abgearbeitet wird, kannst Du's ja mal mit ner zusätzlichen
[php:1:fcfe3ac36f]
switch ($app) {
[...]
default:
echo "Da scheint was schief zu laufen. \$app = $app.";
}
[/php:1:fcfe3ac36f]
nochmal testen. |
|
Back to top |
|
messju Administrator
Joined: 16 Apr 2003 Posts: 3336 Location: Oldenburg, Germany
|
Posted: Thu Aug 26, 2004 12:08 pm Post subject: |
|
|
ich tippe mal $app ist eine globale variable. wenn du die in {php} oder {include_php} verwenden willst, dann must du sie global declarieren. |
|
Back to top |
|
MoR4euZ Smarty Rookie
Joined: 30 Jun 2004 Posts: 5
|
Posted: Thu Aug 26, 2004 12:21 pm Post subject: |
|
|
ausgabe ist jetzt
Code: | Da scheint was schief zu laufen $app = . |
also scheint $app wirklich leer zu sein
aber wieso ???
ich benutze das switch so wie hier schön länger und es hat noch nie probleme damit gegeben |
|
Back to top |
|
Dolgan Smarty Rookie
Joined: 24 Aug 2004 Posts: 8
|
Posted: Thu Aug 26, 2004 12:23 pm Post subject: |
|
|
Das Problem ist auch nicht das switch, sondern $app.
Aus irgendeinem Grund ist die leer. Hast Du messjus Tipp
schon ausprobiert?
Wie auch immer: offensichtlich liegt das Problem auserhalb des von Dir
geposteten Codes. Wenn Du also weiter Hilfe brauchst, bruachen wir mehr
Code. |
|
Back to top |
|
MoR4euZ Smarty Rookie
Joined: 30 Jun 2004 Posts: 5
|
Posted: Thu Aug 26, 2004 12:34 pm Post subject: |
|
|
messju wrote: | ich tippe mal $app ist eine globale variable. wenn du die in {php} oder {include_php} verwenden willst, dann must du sie global declarieren. |
wie kann ich die variable global declarieren ?
sorry meine php kentnisse sind nicht die besten |
|
Back to top |
|
messju Administrator
Joined: 16 Apr 2003 Posts: 3336 Location: Oldenburg, Germany
|
|
Back to top |
|
kills Smarty Elite
Joined: 28 May 2004 Posts: 493
|
Posted: Mon Aug 30, 2004 6:45 am Post subject: |
|
|
Ich würde auf register_globals tippen!
hm ich denke du könntest es so lösen:
[php:1:7ac72dd970]
{php}
switch ($_GET["app"]) {
case "contact":
include("modules/contact/contact.php");
break;
}
echo $app;
{/php}
[/php:1:7ac72dd970] |
|
Back to top |
|
|