Benutzerdefinierte Suche

Formular an sich selbst schicken

  1. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Hallo,

    gibt es einen standardisierten bzw. funktionierenden Weg, einem Formular zu sagen, dass es sich selbst wieder aufrufen soll?

    Also sowas wie
    <form action="<?=$PHP_SELF?>">

    Nur eben ohne Skriptsprache.

    In den von mir getesteten Browsern funktionierte
    <form action="">

    Aber es sollte halt überall funktionieren.
     
    Jakob, 17.09.2006
  2. MacEnroe

    MacEnroeMacUser Mitglied

    Mitglied seit:
    10.02.2004
    Beiträge:
    15.732
    Zustimmungen:
    1.599
    Sowas wie eine Endlosschleife, um Server lahmzulegen?
     
    MacEnroe, 17.09.2006
  3. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Das kann keine Endlosschleife sein, sondern schickt auf Knopfdruck das Formular noch mal an sich selbst, z.B. zur Validierung oder zum mail-Versand etc.

    Hintergrund ist, dass es mehrere Kontaktformulare gibt, die unterschiedlich heißen, aber aus dem gleichen template ihr markup beziehen. Ich dachte es gibt eine Möglichkeit, in das template einen <form>-tag so einzubauen, dass jedes Formular dies nutzen kann.

    Aber HTML scheint dafür keine Möglichkeit zu bieten, oder?
     
    Jakob, 17.09.2006
  4. b.legt210

    b.legt210MacUser Mitglied

    Mitglied seit:
    01.03.2006
    Beiträge:
    81
    Zustimmungen:
    4
    was spricht gegen <form action=""> ???
    Ich verwende das auch oft und es funktioniert eigentlich sehr zuverlässig.
     
    b.legt210, 18.09.2006
  5. wegus

    wegusMacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545

    Meines Wissens ist diese Kurzform auch genau dafür da! Apache behandelt sie auch immer so, wie andere Web-Server darauf reagieren weiß ich leider nicht. Der Browser hat damit sicher nichts zu tun, der sendet ja nur brav den HTTP-Request mit der leeren action!
     
    wegus, 18.09.2006
  6. mores

    moresMacUser Mitglied

    Mitglied seit:
    23.12.2003
    Beiträge:
    3.557
    Zustimmungen:
    106
    ich versteh das problem nicht.
    wenn das formular "formular.html" heisst, trag das doch einfach in die action ein.

    wenn du kein PHP verwenden kannst weil der server das nicht unterstützt musste eben den dateinamen händisch eingeben.
     
    mores, 18.09.2006
  7. b.legt210

    b.legt210MacUser Mitglied

    Mitglied seit:
    01.03.2006
    Beiträge:
    81
    Zustimmungen:
    4
    naja, bei "festen" Adressen mag das ja noch angehen. Habe ich aber etwas der Art: "formular.php?menue_punkt=123&noch_n_paramteter=456" wird's schon etwas schwieriger.
    Warum sich also die "unnötige" Mühe machen wenn's mit action="" geht?
     
    b.legt210, 18.09.2006
  8. mores

    moresMacUser Mitglied

    Mitglied seit:
    23.12.2003
    Beiträge:
    3.557
    Zustimmungen:
    106
    nur war das vom themenstarter so gewünscht.
    "ohne skriptsprache".
     
    mores, 18.09.2006
  9. Jakob

    Jakob Thread StarterMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    wegus hat mit seinem Hinweis Recht, dass es ja um den webserver geht und ein browser da gar keinen Einfluss hat…

    Schön, dass ihr auch Erfahrungen damit gemacht habt.

    @mores: Es sind PHP-Formulare, die HTML-Templates nutzen. Dort werden dann [PLATZHALTER] durch den eigentlichen code ersetzt. Dabei nutzen manche Formulare das eigentlich gleiche Template, bis eben auf das action="[…]".

    Danke Euch allen!
     
    Jakob, 18.09.2006
  10. Marzelpan

    MarzelpanMacUser Mitglied

    Mitglied seit:
    31.10.2003
    Beiträge:
    58
    Zustimmungen:
    0
    Das ist so nicht richtig. Der Browser wertet das action-Attribut des Formulars aus und sendet abhängig vom method-Attribut einen GET- oder einen POST-Request an den zur URL im action-Attribut gehörigen Webserver. Als Parameter des Requests übergibt er den Rest der URL, also z.B. bei "http://www.bla.org/blubb.html" wird ein Request an "www.bla.org" gesendet mit Parameter "/blubb.html". Im GET-Fall hängt er die Formularfelder als Parameter an die URL an (z.B. /index.php?param1=1&param2=bla), bei POST werden die Formulardaten im Body des Requests gesendet. Also: Der Browser ist für die Interpretation des action-Attributes verantwortlich.

    Wenn ich den URL-RFC richtig verstehe, verweist eine leere URL auf die Basis-URL. Wenn im HTML keine Basis-URL explizit gesetzt wird, ist das die URL des aktuellen Dokuments. Also verweist action="" auf das aktuelle Dokument. Wenn sich der Browser jetzt noch an die Standards hält ist alles gut :)

    Marcel
     
    Marzelpan, 19.09.2006
Die Seite wird geladen...
Ähnliche Themen - Formular selbst schicken
  1. leo-magic
    Antworten:
    24
    Aufrufe:
    2.030
    Sp0tlight
    18.05.2015
  2. apstalker
    Antworten:
    3
    Aufrufe:
    693
    apstalker
    12.12.2012
  3. es99musik
    Antworten:
    5
    Aufrufe:
    1.210
    MacBengel
    02.10.2012
  4. tomloog
    Antworten:
    3
    Aufrufe:
    854
    tomloog
    03.03.2012
  5. ben-pen
    Antworten:
    2
    Aufrufe:
    1.709