kostenloser Webspace werbefrei: lima-city


PHP Funktion in HTML-Formular

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*************h

    Hallo Community

    Ich habe ein Login-Script welches sich in einer eigenen PHP-Datei befand. Nun habe ich aber diese Datei als Funktion geschrieben.

    Meine Frage ist nun:
    Wie Rufe ich diese Funktion in einer <form> auf?
    <form action="????" method="POST">
    <input type="text" name="name" size="20" class="textfield1a"></input>
    <input type="password" name="pwd" size="20" class="textfield1a"></input>
    <input type="submit" value="Login" name="button1" class="button1a"></input>
    </form>

    Anstelle der Fragezeichen soll dann die Funktion aufgerufen werden. Vorher sah das so aus:
    <form action="login-system/login.php" method="POST">
    <input type="text" name="name" size="20" class="textfield1a"></input>
    <input type="password" name="pwd" size="20" class="textfield1a"></input>
    <input type="submit" value="Login" name="button1" class="button1a"></input>
    </form>

    Doch das kann ich ja nicht mehr machen da sich dort jetzt mehrere Funktionen befinden.
    Wie rufe ich die richtige Funktion aus dieser Datei auf?

    Danke schonmal und Gruß
    S.Brosch
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s***g

    Du hast, das Loginscript als php-Funktion geschrieben, und willst die jetzt beim absenden einfach aufrufen? -> Geht nicht!
    Muss schon eine Datei sein, die die Daten, die per POST kommen, verarbeitet, wie es (wahrscheinlich) vorher war.
    Sonst kannst du es auch mit AJAX versuchen alles dynamisch zu machen, aber selbst dann musst du mit JS wieder eine Datei und keine Funktion aufrufen!
  4. Du kannst dem Script, in dem die Methode ist, einen sog. GET-Parameter mitgeben, und im Script abfragen, ob dieser Parameter da ist - wenn ja: funktion ausführen, wenn nein - wie gewohnt fortfaren.
    Könnte in etwa so aussehen:
    <form action="login-system/script-mit-function.php?login=1" method="POST">
    ...
    <?php
    if (isset($_GET["login"])) deine_function();
    ....

    Der Parameter wird (wie du vielleicht schon bei so vielen URLs gesehen hast) durch ein '?' vom rest der URL getrennt, '=' weist einen Wert zu (welcher Wert ist in diesem Fall irrelevant, aber es sollte einer vorhanden sein, da PHP den Parameter sonst vielleicht nicht registriert), mehrere Parameter werden durch '&' getrennt, zB: ...?paramA=hallo&paramX=0&...
  5. Autor dieses Themas

    s*************h

    OK, vielen Dank euch beiden.

    Mit AJAX und Javascript kenne ich mich nicht so gut aus, deshalb wählte ich die Variante von metalmachine. Habe es jetzt so gemacht wie von ihm vorgeschlagen und es funktioniert prima.
    Mein Ziel bei dieser Aktion war es die vielen Dateien des Login-Vorgangs in eine zu packen. Dabei habe ich jede Aktion (Login, User prüfen, Logout) in eine eigene Funktion gesteckt und wollte diese dann einfach in der Form aufrufen. Doch das funktioniert ja leider nicht. Aber mit der Parameterübergabe in der URL ist es eigentlich auch sehr bequem und übersichtlich.

    Vielen Dank nochmal euch beiden für die schnellen Antworten.
    Gruß S.Brosch
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!