Daniel: nach submit

Hi,
ich führe ein submit aus einer form

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

aus. nach dem speichern soll dann das frameset gesprengt werden. hab
bisher mit <meta refresh > als weiterleitungen gemacht allerdings schaff
ich es nicht das frameset zu sprengen. wenn ich im php manual nach
location() suche find ich nix. hab das hier aber schonmal gesehn. wie
kann ich eine weiterleitung machen und das frameset "einfach" sprengen.

MfG

  1. nach dem speichern soll dann das frameset gesprengt werden.

    <script type="text/javascript"><!--
    if (top!=self) {
        top.location.href=document.URL;
    }
    //--></script>

    1. Hi,

      <script type="text/javascript"><!--
      if (top!=self) {
          top.location.href=document.URL;
      }
      //--></script>

      vielen dank aber geht das auch ohne JS? und was passiert da bei ausgeschaltetem JS?

      MfG

      1. Hallo,

        <script type="text/javascript"><!--
        if (top!=self) {
            top.location.href=document.URL;
        }
        //--></script>

        vielen dank aber geht das auch ohne JS? und was passiert da bei ausgeschaltetem JS?

        gib deiner Form noch das target="_parent" mit.

        cu,
        Michael

        1. Hi,

          gib deiner Form noch das target="_parent" mit.

          das funktioniert nicht. ich speichere daten in eine DB und nur bei
          erfolgreicher speicherung soll er dies tun.

          MfG

          1. Hallo,

            gib deiner Form noch das target="_parent" mit.

            das funktioniert nicht. ich speichere daten in eine DB und nur bei
            erfolgreicher speicherung soll er dies tun.

            ich fürchte, du hast serverseitg keine Möglichkeit zu beeinflussen, wo deine Seite auf dem Client angezeigt wird, es sei denn durch den Einsatz von clientseitigem JavaScript.
            Dies zeigt einmal mehr deutlich welche Nachteile der Einsatz von Frames mit sich bringt.

            cu,
            Michael

            1. Hi,

              ich fürchte, du hast serverseitg keine Möglichkeit zu beeinflussen, »» wo deine Seite auf dem Client angezeigt wird, es sei denn durch den »» Einsatz von clientseitigem JavaScript.

              Jain. ich habe jetzt ein verschicktes würgaround gemacht.

              Immer daran denken es ist alles möglich!

              MfG

              1. Immer daran denken es ist alles möglich!

                Ja, auch wenn gestern hier ein schöner Thread dazu eröffnet wurde, würde ich einfach mal behaupten dass es NICHT (direkt) möglich ist.
                Denn über den HTTP-Header kannst du den Frame nicht angeben, basta.

                Du musst also, wenn du sicher gehn willst, eine Kombination aus JavaScript und einfach einem Link wie "Wenn Sie nicht automatisch weitergeleitet werden, HIER KLICKEN" machen.
                Nur in Links und JavaScript kannst du den Zielframe angeben.

                greetz RFZ

                1. Hi,

                  Nur in Links und JavaScript kannst du den Zielframe angeben.

                  und im <form>-Tag. und das habe ich gemacht, und den header je nach
                  ablauf des scriptes anders gesetzt und eine $_GET variable "manuell"
                  erstellt welche dann abgefragt wird.

                  genauer gesagt hab ich einmal den header auf das aktuelle frameset (wenn
                  speicherung nicht erfolgreich) und auf das andere frameset (wenn
                  speicherung erfolgreich) damit ich nun im aktuellen frameset, weis das
                  er das schonmal submitet hat habe ich eine $_GET variable drangehängt
                  und frage diese mit isset() ab. gibts es sie hat er schonmal versucht zu
                  speichern es hat aber nicht funktioniert und dementsprechend bekommt er
                  dann eine kleine Fehlermeldung.

                  Diese Lösung ist zwar nicht schön aber sie funktioniert ohne JS. ist wie gesagt ein würgaround.

                  MfG

  2. Hi!

    wenn ich im php manual nach
    location() suche find ich nix.

    header( "Location: ..." );

    Gruß, rob

    1. Hi,

      header( "Location: ..." );

      vielen dank, und wie kann ich da das target modifizieren? damit das frameset gesprengt wird?

      MfG

      1. vielen dank, und wie kann ich da das target modifizieren? damit das frameset gesprengt wird?

        Gar nicht. Damit kannst du keine Target-Angabe machen.
        Was du aber machen könntest, wäre es das Frameset per PHP zu erzeugen und ggf. umzuschreiben.

        1. Hi,

          Was du aber machen könntest, wäre es das Frameset per PHP zu erzeugen und ggf. umzuschreiben.

          da ich das sowieso gemacht hatte, für andere zwecke, ist es kein problem
          gewesen dies zu erweitern. auf was ich zwischenzeitlich auch gekommen bin.

          vielen dank.

          MfG

  3. Hi,

    ich führe ein submit aus einer form

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

    aus. nach dem speichern soll dann das frameset gesprengt werden.

    Dann gib dem form-Element ein entsprechendes Target-Attribut mit.

    hab
    bisher mit <meta refresh > als weiterleitungen gemacht allerdings schaff
    ich es nicht das frameset zu sprengen. wenn ich im php manual nach
    location() suche find ich nix. hab das hier aber schonmal gesehn. wie
    kann ich eine weiterleitung machen und das frameset "einfach" sprengen.

    http-equiv steht für http-Äquivalent. http kennt weder Fenster noch Frames, daher kann es damit nicht gehen.

    Und PHP läuft auf dem Server, also ebenfalls fernab von irgendwelchen Browser-Fenstern oder -Frames.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.