action=function

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • action=function

    hu²

    ich möchte eine formularvariable an eine funktion übergeben
    etwa: <form action='function($variable)'>

    funktioniert das überhaupt? bitte keine $PHP_SELF lösungsvorschläge

    thx

  • #2
    nein, du kannst per link oder ähnlichem keine funktion ansprechen.
    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

    Kommentar


    • #3
      aber was geht is funktionsname angeben und parameter und dann ne keine switch, etc im script
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        wie meinst du das?

        Kommentar


        • #5
          PHP-Code:
          <form method=post action="">
            <
          input type="hidden" value="fktname" />
            <
          input type="text" value="" />
          </
          form
          So???

          Kommentar


          • #6
            anm: die erste Zeile ist 3 mal falsch:

            PHP-Code:
            if(!isset($_GET["function"]) OR is_empty($_GET["function"])) { 
            wird zu
            PHP-Code:
            if(empty($_GET["function"])) { 
            isset -> ist in empty drin
            OR -> wird idr. als || geschrieben
            is_empty -> gibbet net: nimm empty
            Zuletzt geändert von TobiaZ; 22.10.2003, 11:04.

            Kommentar


            • #7
              wozu sollte ich hier ne switch-anweisung benötigen??
              es geht mir hauptsächlich darum, dass der code danach mit hilfe einer funktion ausgeführt wird. anscheinend funktioniert das so nicht

              trotzdem danke

              Kommentar


              • #8
                es geht mir hauptsächlich darum, dass der code danach mit hilfe einer funktion ausgeführt wird. anscheinend funktioniert das so nicht
                erklär das mal bitte!

                Kommentar


                • #9
                  Code:
                  <input type="hidden" name ="funktionsname" value="funktion2" />
                  PHP-Code:
                  function funktion1()
                  {
                    echo 
                  'Funktion 1 wurde aufgerufen.';
                  }

                  function 
                  funktion2()
                  {
                    echo 
                  'Funktion 2 wurde aufgerufen.';
                  }

                  function 
                  funktion3()
                  {
                    echo 
                  'Funktion 3 wurde aufgerufen.';
                  }

                  if (isset(
                  $_POST['funktionsname']) and function_exists($_POST['funktionsname']))
                    
                  $_POST['funktionsname']();
                  else
                    echo 
                  'Keine Funktion die ausgeführt werden könnte'
                  das sollte funktion2 ausführen
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Du kannst keine Funktion direkt über GET übergeben, da musst du schon den Umweg über die Auswertung von $function gehen, was bei mir übrigens prima funktioniert!
                    schmarn again! Natürlich geht das, nur soll man das nicht machen!

                    Kommentar


                    • #11
                      siehe happys beispiel (hatte ich eben nicht gesehen). okay, zugegeben es ist nicht ganz genau so.

                      btw: auf meinem server ist es auch möglich .de/phpinfo() aufzurufen. auch über eine brücke, aber dennoch.

                      Kommentar


                      • #12
                        also erstmal, so einfach geht das nicht...
                        wenn ich das richtig verstanden habe willst du, das nach abschicken des formulars, auf der nächsten seite eine funktion aufgerufen wird, an die ein wert übergeben wird, der vorher im formular eingegeben wurde??
                        also muss auf der nächsten seite am anfang nur die funktion mit der variable, die per get oder post im aktuellen script verfügbar gemacht wurde.
                        oder willst du im formular eingeben welche funktion gestartet wird??
                        was thomas.ney schreibt ist schon richtig....
                        wenn du funktionen ausführen willst, deren namen dir nicht bekannt ist,
                        oder deren aufruf du nicht im quellcode festlegen willst
                        dann solltest du
                        call_user_func ( string function_name [, mixed parameter [, mixed ...]])
                        benutzen

                        Kommentar


                        • #13
                          najo eigentlich gings darum ne function unter dem formular aufzurufen. also die datei nicht wieder neuaufzurufen sondern einfach zu einer bestimmten zeile zu springen, so wie mans auch in JavaScript macht. aba ich denk das funktioniert nicht - vielleicht weil php serverseitig ausgeführt wird.

                          es würde auch nicht mehrere funktionen benötigen daher brauch ich kein switch. der benutzer gibt nen wert ein und funktion sollte diesen dann bearbeiten. habs inzwischen mit $php_self gelöst.

                          Kommentar


                          • #14
                            also die datei nicht wieder neuaufzurufen sondern einfach zu einer bestimmten zeile zu springen, so wie mans auch in JavaScript macht. aba ich denk das funktioniert nicht - vielleicht weil php serverseitig ausgeführt wird.
                            genau so ist es. in einigen Programmiersprachen ist das möglich. in PHP wird da die switch() Funktion zur Hilfe genommen. bzw. in deinem Fall reicht denke ich sogar ein if()

                            Kommentar

                            Lädt...
                            X