bei klick auf einen button, eine funktion in der selben datei aufrufen

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

  • bei klick auf einen button, eine funktion in der selben datei aufrufen

    hi leute,

    ich hab folgendes problem:
    ich hab auf meiner page ein formular ... und wenn ich auf einen button klick soll die funktion function() in der selben datei aufgerufen werden.
    ich hatte mir erhofft, dass es so

    PHP-Code:
    <form enctype="multipart/form-data" action="<? function(); ?>" method="post">
    funktionieren würde, aber ... fehlanzeige.

    bitte helft mir

  • #2
    Du weisst aber schon, dass PHP eine Serverseitige und [COLOR=red]keine[/COLOR] Clientseitige Scriptsprache ist?
    Des Weiteren erwartet das action Attribut des Form-Tags eine URL!

    Kommentar


    • #3
      1.) ja ich weiß, dass php serverseitig ist.

      2.) ich weiß auch dass dort eine url verlangt ist.

      3 es wird doch irgendwie funktionieren, dass ich von dort eine funktion vom php teil meiner datei aufrufen kann?

      lg

      Kommentar


      • #4
        1.) ja ich weiß, dass php serverseitig ist.

        2.) ich weiß auch dass dort eine url verlangt ist.

        3 es wird doch irgendwie funktionieren, dass ich von dort eine funktion vom php teil meiner datei aufrufen kann?
        Anscheinend weisst du es doch nicht und nein, es geht nicht. Dein PHP-Script wird beim laden der Seite verarbeitet und was du zurückbekommst ist kein PHP-Code!
        BTW: Was soll denn deine Funktion machen? Sag bitte nicht, du möchtest deine Form validieren..

        Kommentar


        • #5
          jap genau das ....

          Kommentar


          • #6
            Na dann schick das Formular ab, überprüf es und wenn Fehler aufgetreten sind, zeigst du das Formular erneut mit entsprechender Fehlermeldung oder aber du machst es mit JavaScript und arbeitest mit dem onSubmit-Attribut im Form-Tag.

            Kommentar


            • #7
              könntest du mir da ein bisschen helfen, wie ich das mache.

              also ich schick diese form an die datei funktion.php

              und dort überprüf ich die sachen ....
              das hab ich ja schon alles

              und jetzt will ich nur, dass direkt unter dem formular steht.

              textfeld 1 nicht ausgefüllt beispielsweise.

              und die daten sollten noch im feld stehen.


              lg

              Kommentar


              • #8
                So würde ich es zwar nie machen, aber sinngemäß würde es so gehen:
                PHP-Code:
                <?
                    if ( isset($_POST) )
                    {
                        $arr_error = array();
                        foreach ( $_POST as $key => $val )
                        {
                            if ( eregi("^(btn_*)+$", $key) ) continue;
                        
                            if ( empty($val) )
                                $arr_error[] = "{$key} wurde nicht ausgefüllt";
                            
                            if ( strlen($val) > 10 )
                                $arr_error[] = "Die Eingabe von {$key} ist zulang.";
                        }
                    }
                ?>

                <form name="meineForm" action="deinePHPDatei.php">

                    <? 
                    if ( is_array($arr_error) && isset($_POST) ) 
                    {
                        echo "Folgende Fehler sind aufgetreten:<br>";
                        for ( $i = 0; $i < sizeof($arr_error); $i++ )
                        {
                            $str_error = &$arr_error[$i];
                            echo ($i+1).") ". $str_error ."<br>";
                        }
                    }
                    ?>

                    <input type="text" name="vname" value="<?=(isset($_POST['vname'])) ? $_POST['vname'] : ""?>" />
                    <input type="text" name="nname" value="<?=(isset($_POST['nname'])) ? $_POST['nname'] : ""?>" />
                    <input type="text" name="email" value="<?=(isset($_POST['email'])) ? $_POST['email'] : ""?>" />
                    <input type="submit" name="btn_send" value="Abschicken" />

                </form>
                Zuletzt geändert von reallife; 14.01.2006, 12:38.

                Kommentar


                • #9
                  sag mal, kann ich auch die daten aus der form im hintergrund an eine php datei senden?

                  das sich nicht automatisch die php öffnet, wenn es ausgaben gibt?

                  ich hätte mir meine lösung so gedacht:

                  unter dem formular binde ich einen iframe ein, mit der functions.php, damit mir eben dort die ausgaben angezeigt werden.

                  das problem ist jz allerdings wenn ich den button drücke, wird mir die ausgabe in einem neuen fenster gezeigt.

                  Kommentar


                  • #10
                    PHP-Code:
                    <form .... target="_self"
                    oder was meinst du mit:
                    das problem ist jz allerdings wenn ich den button drücke, wird mir die ausgabe in einem neuen fenster gezeigt.

                    Kommentar


                    • #11
                      naja ...

                      schau ... in der functions.php gibts es mehrere ausgaben per echo.

                      und ich möchte, dass mir das unter dem formular angezeigt wird, und dabei das formular ausgefüllt bleibt.

                      wenn ich aber jetzt auf den button klicke, dann kommt die ausgabe zwar im selben fenster, aber das formular und so ist überschrieben, eigentlich klar.

                      darum hab ich jetzt unter dem formular einen iframe mit der functions.php eingebunden.

                      jetzt müsste ich eigentlich nur was finden, damit sich nur der iframe aktualisiert und nicht das ganze fenster.

                      Kommentar


                      • #12
                        Ich hab dir doch geschrieben, wie du es erreichen kannst, dass das Formular nach dem absenden wieder ausgefüllt ist..

                        Aber wenn du es mit deinem komischen iframe machen willst, dann vergib dem iframe einen namen und diesen namen gibst du in der form als target an. fertig.
                        hässlig, aber naja..

                        Kommentar


                        • #13
                          naja .... ich hab mich vorher noch nie mit php beschäftigt.

                          erst seit 2 tagen. also für mich is das immo die bessere lösung.

                          Kommentar


                          • #14
                            aber auf jeden fall ...


                            dankeschön jetzt funktioniert alles so wie ich es mir vorgestellt habe

                            lg

                            Kommentar

                            Lädt...
                            X