PHP und <form action..> in Template

  • [FONT=Verdana]Hallo![/FONT]

    [FONT=Verdana]Ich würde gerne folgendes über ein Template realisieren:[/FONT]



    Ich habe den PHP Inhalt gekürzt, damit der Ablauf verständlich wird. Ich kann aber "switch" Anweisung leider nicht ausführen, weiß jemand Rat?

    Gruss
    Jan

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • <?php
    /*
    Template Name: [COLOR=#000000][COLOR=#ff9900]testPHP[/COLOR][/COLOR]
    */
    ?>

    <?php get_header(); ?>


    so ist der Beginn eines neuen templates für statische Seiten,

    ob es daran liegt weiß ich nicht,
    aber so wie Du es derzeit hast, kennt WP das neue template gar nicht

    lg

  • Hallo!

    Ich kann das Template verwenden. Auch das auslesen der "DEFAULT" Anweisung - innerhalb der Switsch-Anweisung - funktioniert.

    Ich weiß nur nicht wie ich im <form> -Tag die URL richtig aufrufe (aufgrund mod-rewrite), d.h.
    <form action=??? method=post>

    Anm.: $PHP_SELF funktioniert nicht...

    Gruss
    Jan

    Einmal editiert, zuletzt von janhendrik (13. Mai 2006 um 23:52)

  • Da die Variable $set nie gesetzt wird, wird natürlich immer der Default-Zweig genommen.

    Müsste

    PHP
    switch ($_POST['set'])


    oder

    PHP
    $set=$_POST['set'];
    switch ($set)


    heißen.

    Einmal editiert, zuletzt von spickzettel (14. Mai 2006 um 00:15)

  • Hallo!

    Die Variable [COLOR=darkred]$set[/COLOR] ist doch als input tag gesetzt.

    Dennoch werden die Variablen nicht übergeben.

    Die Übergabe der Variablen habe ich inzwischen mal mit GET anstelle von POST probiert. Ich habe es auch mit $PHP_SELF, $_SERVER['PHP_SELF']; und der direkten URL http://www.meinedomain.de/index.php?page_id=37 probiert.

    Weiterhin habe ich anstelle der SWITCH Anweisungen die Funktionen mit
    [COLOR=darkred]if(isset($set)) { [/COLOR]
    [COLOR=darkred]IRGENDEINE PHP FUNKTION [/COLOR]
    [COLOR=darkred]} [/COLOR]
    probiert.

    Ich weiß wirklich nicht was ich noch probieren soll. Eine andere Möglichkeit fällt mir nun auch nicht mehr ein. PHP funktioniert ja im Template (also irgendeine Funktion kann ich schon aufrufen), nur kann ich keine Variablen übergeben - und ohne Variablen ist PHP ja irgendwie witzlos. Es sei den ich setze den <form> - Tag in einen Beitrag / Seite und verweise auf eine normale PHP Datei auf meinem Server. Aber auch das ist ja nicht das richtige. Alternativ könnte ich auch ein Plugin erstellen, aber mal ganz ehrlich - ein Plugin für einfachste PHP Funktionen???

    Lieben Gruß,
    Jan

    Einmal editiert, zuletzt von janhendrik (14. Mai 2006 um 03:30)

  • Zitat

    Die Variable [COLOR=darkred]$set[/COLOR] ist doch als input tag gesetzt.


    Nein, ist sie nicht. Woher soll PHP wissen, dass du den Inhalt des Formularfeldes mit der Variable $set meint?

    PHP
    $set=$_POST['set'];


    Wenn das vor dem switch eingefügt wird, sollte es funktionieren.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!