[Erledigt] Funktion in form action

  • PHP

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von windowsfan.

    [Erledigt] Funktion in form action

    Hallo Zusammen

    Ich habe eine Funktion welche ich in einer form beim "action-Event" starten will.

    Nun habe ich jedoch noch eine weitere Funktion welche gleich beim laden des Files gestartet wird. Wie kann ich nun diese in einem php-dokument unterbringen??

    Grüsse

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lingo“ ()

    ich würde dies folgendermaßen lösen

    PHP-Quellcode

    1. <?php
    2. if($_SERVER['REQUEST_METHOD'] == 'POST')
    3. {
    4. if(isset($_GET['test']))
    5. {
    6. echo $_GET['test'];
    7. }
    8. }
    9. ?>
    10. <form action="?test=hallo" method="post">
    11. <input name="textbox" type="text">
    12. <input type="submit">
    13. </form>


    COde ist eingentlich ziemlich selbsterklärend.
    Zur Zeit habe ich folgendes:

    upload.htm

    HTML-Quellcode

    1. <html>
    2. <head></head>
    3. <body>
    4. <form action="upload.php" method="post" enctype="multipart/form-data">
    5. <input type="file" name="datei"><input type="submit" value="Hochladen">
    6. </form>
    7. </body>
    8. </html>


    Dort rufe ich ja die upload.php auf:

    HTML-Quellcode

    1. <?php
    2. $MegaBite = 2;
    3. $fileSizeInMB = $MegaBite * 1024 * 1024 * 8;
    4. $dateityp = GetImageSize($_FILES['datei']['tmp_name']);
    5. move_uploaded_file($_FILES['datei']['tmp_name'], "sonntag/" . $_FILES['datei']['name']);
    6. echo "Das Bild wurde Erfolgreich nach upload/" . $_FILES['datei']['name'] . " hochgeladen";
    7. ?>


    Dies funktioniert alles perfekt.

    Nun habe ich noch eine weitere funktion welche mir alle Dateien aus einem Ordner auflistet:

    HTML-Quellcode

    1. <?php
    2. $handle = opendir("/sonntag/");
    3. while ($datei = readdir($handle)) {
    4. if ($datei == ".." OR $datei == ".") { // filtert die falschen dateinamen raus, die du nicht willst
    5. continue;
    6. }
    7. echo "<a href=sonntag/$datei'>$datei</a><br>";
    8. }
    9. closedir($handle);
    10. ?>


    Wie kann ich das nun alles in einem einzigen File vereinen?

    Lingo schrieb:

    Ich habe eine Funktion welche ich in einer form beim "action-Event" starten will.

    Also eine Javascript-Funktion?!

    Lingo schrieb:

    Nun habe ich jedoch noch eine weitere Funktion [...]

    Auch eine Javascipt-Funktion?

    Lingo schrieb:

    [...] welche gleich beim laden des Files gestartet wird.

    Du möchtest die Funktion als beim Aufruf der Seite direkt starten?

    Lingo schrieb:

    Wie kann ich nun diese in einem php-dokument unterbringen??

    Wenn ich mit meiner Vermutung richtig liege und es ist eine Javascript-funktion brauchst du einfach im HTML im <body> ein onload einfügen

    <body onload="[deine Funktion]">


    €dit: Wieso hat mich VB-P nicht hingeweisen, dass es neue Texte gab?! Meine Lösung scheint hier nicht zu passen...
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    ick versteh immer noch nich was du willst Oo

    willst du, dass wenn ein bild hochgeladen wurde, angezeigt wird, dass es hochgeladen wurde und wohin und dazu noch auflisten welche dateien sich im ordner befinden?
    oder willst du 2 verschiedene sachen anzeigen lassen? zb, der user sieht auf der seite 2 buttons. einen zum hochladen und einen zum auflisten der dateien ?

    is nich ganz zu verstehen wo das prob liegt...
    @Agita

    Eigentlich beides.

    Ich möchte auf einer Seite es ermöglichen etwas hochzuladen. Auf der selben Seite soll eine Liste von einem Bestimmten Verzeichnis gezeigt werden.
    Mit einem Button sollte man dann später auch noch Dateien aus dieser Liste und somit aus dem verzeichnis löschen können.

    Dies alles möchte ich auf einer Seite realisieren. Deshalb die Fragen.

    Ich hoffe du verstehst nun was ich meine.
    Hi,

    gut also was ist dann nun noch das Problem, was funktioniert nicht? Du hast die HTML-Upload Form und die Serverseitige PHP-Auswertung. Kann man ja beides auf einer Seite realisieren. Versteh nicht was noch offen ist :rolleyes:

    Link :thumbup:
    Hello World

    Link275 schrieb:

    Hi,

    gut also was ist dann nun noch das Problem, was funktioniert nicht? Du hast die HTML-Upload Form und die Serverseitige PHP-Auswertung. Kann man ja beides auf einer Seite realisieren. Versteh nicht was noch offen ist :rolleyes:

    Link :thumbup:


    Wie kann ich eine Funktion in einer FORM-Action einbinden?
    Ist dies überhaupt möglich?
    Ist die Funktion im selben Dokument die wie Form oder ein eigenes Dokument?
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Hi,

    naja einfach indem du halt innerhalb von <form> und </form> PHP Code schreibst.
    <form>

    PHP-Quellcode

    1. <?php //Deine Funktion etc.. ?>
    </form>

    Wobei dir eine Funktion dort ja nichts bringt, höchstens der Funktionsaufruf. Und da ist es eh egal wo im Skript die Funktion definiert ist. Falls sich deine Funktion in einer anderen Datei befindet, musst du sie eben includen.
    Oder versteh' ich immer noch nicht worum's geht?! ?(

    Link :thumbup:
    Hello World

    Lingo schrieb:

    [...]Wie kann ich eine Funktion in einer FORM-Action einbinden? [...]

    @Link275: man beachte das Action bei Form-Action...
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    mit meinem post ganz einfach realisierbar...
    hier nochmal

    PHP-Quellcode

    1. <?php
    2. if($_SERVER['REQUEST_METHOD'] == 'POST')
    3. {
    4. if(isset($_GET['test']))
    5. {
    6. echo $_GET['test'];
    7. }
    8. }
    9. ?>
    10. <form action="?test=hallo" method="post">
    11. <input name="textbox" type="text">
    12. <input type="submit">
    13. </form>
    @windowsfan:

    Wieso überprüft du auf POST willst dann aber von GET auslesen?

    €dit: gerade gesehen, dass du in der Form auf "POST" setzt...
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Ja klar kann ich das, aber dann sag das doch gleich ;)

    Wenn du ein Formular mit "method=post" hast, dann übergibtst du die input-felder des formulars
    mit POST an die angegebene datei die hinter "action=xx" steht.

    Da du aber in der gleichen Datei bist, musst du nichts mitgeben, in dem fall wollen wir aber überprüfen ob
    wirklich das formular abgesendet wurde oder irgend ein anderer käse, desshalb übergebe ich mit

    Quellcode

    1. <form action="?variable=xxx>

    eine GET-Variable an die Datei - dann weiß ich 100% dass der POST vom Formular kommt.

    Wenn du das Formular absendest, prüft die Datei als erstes ob die aufrufmethode POST ist mit:

    PHP-Quellcode

    1. if($_SERVER['REQUEST_METHOD'] == 'POST')

    Wenn du die Datei also einfach nur so über den Browser aufrufst, kommt er schonmal garned in den IF Block rein.

    PHP-Quellcode

    1. if(isset($_GET['test']))

    Fragt ab, ob die GET-Variable "test" überhaupt existiert, wenn wir unser formular absenden, dann trifft dies zu, da wir diese mit

    Quellcode

    1. <form action="?test=xxx>

    übergeben.

    Anschließend kannst du das Formular verarbeiten.

    PHP-Quellcode

    1. <?php
    2. if($_SERVER['REQUEST_METHOD'] == 'POST') //Prüft ob das Dokument mit der "Request Methode" POST aufgerufen wurde
    3. {
    4. if(isset($_GET['test'])) // Prüft ob über GET die Variable "test" übergeben wurde | http://www.example.com/datei.php?test={ein Wert}
    5. {
    6. echo $_GET['test']; // Liest {ein wert} aus
    7. }
    8. }
    9. ?>

    €dit: wieso Meldet mir das WBB nicht mehr wenn jemand anders schneller war?!
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^
    Hallo Zusammen

    Echt genial durch eure Hilfe konnte ich nun das ganze realisieren.
    In der Aktion setzte ich up=0

    HTML-Quellcode

    1. action="?up=0"


    Danach prüfe ich pb etwas gesetzt wurde mit.

    HTML-Quellcode

    1. if (isset($_GET['up']))


    Nun meine Frage wie aknn ich überprüfen ob da hinter dem up =0 steht.
    Ich dachte das geht so:

    HTML-Quellcode

    1. if (isset($_GET['up=0']))


    Leider funktionierte das nicht.

    Könnt ihr mir sagen ob ich das falsch verstanden habe oder ob ich einen Zeichenfehler gemacht habe?

    Danke euch!