Baschen: Include+Form+Action Problem

Das Problem ist:

ich habe eine datei, die schimpft sich "index1.php"

Dort ist ein Login per

[PHP]
<?php
switch($action)

case "pressarea": include("pressarea/index.php"); break;

default: include("meine default url..."); break;
[/PHP]

eingebunden.

Sobald ich dann das Login-Form ausfülle und abschicke soll im gleichen Fenster wo der Login included war, also auf der index1.php,  das neue fenster eingebunden werden. Welches sich nach dem abschicken des forms öffnet. Dies tut es aber nicht.

[PHP]
echo "<form method="POST" action="$_SERVER['PHP_SELF']?fertig=yes "";
[/PHP]

so sieht es momentan aus.

Ich hoffe es ist ersichtlich wo mein Problem liegt.

  1. Hallo erstmal!

    [PHP]
    echo "<form method="POST" action="$_SERVER['PHP_SELF']?fertig=yes " target='_blank'>";
    [/PHP]

    Gruß aus Berlin!
    eddi

    1. Hallo erstmal!

      [PHP]
      echo "<form method="POST" action="$_SERVER['PHP_SELF']?fertig=yes " target='_blank'>";
      [/PHP]

      Gruß aus Berlin!
      eddi

      Hiho :)

      target='_blank', dann öffnet er doch eine neue Seite. Genau das soll nicht passieren.

      Auf der Hauptseite, index1.php, wo die Datei pressarea/index.php eingebunden ist soll auch alles weitere passieren. Also es soll nach dem Abschicken des Forms die Benachrichtigung (pressarea/index.php?fertig=yes) auf der index1.php erscheinen, dort wo vorger das form war.

      1. Hiho :)

        nabitte geht doch ;)

        target='_blank', dann öffnet er doch eine neue Seite. Genau das soll nicht passieren.

        Genau das tut es eben nicht! Es öfnet sich, wenn Du so willst, ein neues "FENSTER" vgl:

        Sobald ich dann das Login-Form ausfülle und abschicke soll im gleichen Fenster wo der Login included war, also auf der index1.php,  das neue fenster eingebunden werden. Welches sich nach dem abschicken des forms öffnet. Dies tut es aber nicht.

        ---------

        Auf der Hauptseite, index1.php, wo die Datei pressarea/index.php eingebunden ist soll auch alles weitere passieren. Also es soll nach dem Abschicken des Forms die Benachrichtigung (pressarea/index.php?fertig=yes) auf der index1.php erscheinen, dort wo vorger das form war.

        Dann lasse doch die pressarea/index.php nach einer etwaigen Variablen $_GET["fertig"] ausschau halten:

        index.php
        ---------

        if($_GET["fertig"]=="yes")
           {
           # mache den erwünschten Efekt
           }
        else
           {
           # mache garnichts und übergib wieder an die index1.php
           }

        Gruß aus Berlin!
        eddi

        1. Dann lasse doch die pressarea/index.php nach einer etwaigen Variablen $_GET["fertig"] ausschau halten:

          index.php

          if($_GET["fertig"]=="yes")
             {
             # mache den erwünschten Efekt
             }
          else
             {
             # mache garnichts und übergib wieder an die index1.php
             }

          Gruß aus Berlin!
          eddi

          Also wenn ich im Verzeichnis pressarea/ das skript index.php ausführe funktioniert es wunderbar. Wenn ich allerdings das Skript über die Startseite index1.php, welche nicht im pressarea/ Verzeichnis liegt aufrufe, also per include einbinde. Öffnet er das skript zwar, aber:

          um es in neuem Fenster zu öffnen habe ich:

          action="pressarea/index.php?fertig=yes"

          Allerdings möchte ich das es nicht in neuem Fenster geöffnet wird. Wie gesagt, ich habe auf der index.php (die im Hauptverzeichnis) ja eine umgebung in der ich das Skript eingebunden habe. Und dort wo es eingebunnden ist soll auch die Ausgabe stattfinden.

          Ich habe nun herausgefunden:
          wenn ich direkt auf der hauptseite eingebe:
          <?php include 'pressarea/index.php' ?>
          funktioniert das skript einwandfrei.

          Es ist aber anders eingebunden.

          auf der Hauptseite steht:

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
          <head>
          <title>Untitled Document</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          </head>

          <body>
          <table width="700" height="76" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="139" bgcolor="#CCCC66">
                <p>MenuItem1<br>
                  <a href="index1.php?action=pressarea">MenuItem1.1</a><br>
                  MenuItem1.2<br>
                  MenuItem1.3</p>
                <p>MenuItem2</p>
                <p>MenuItem3<br>
                  MenuItem3.1<br>
                  MenuItem3.2</p>
                </td>
              <td width="388" bgcolor="#CCCCFF">
                <?php
                      include 'script.php';
                      ?>
              </td>
              <td width="173" bgcolor="#CCCC66">
                <p>MenuItem4<br>
                  MenuItem4.1<br>
                  MenuItem4.2<br>
                  MenuItem4.3</p>
                <p>MenuItem5</p>
                <p>MenuItem6<br>
                  MenuItem6.1<br>
                  MenuItem6.2</p>
                </td>
            </tr>
          </table>
          </body>
          </html>

          ........

          wobei die skript.php so aussieht:

          <?PHP
          switch($action)
           {

          case "pressarea": include 'pressarea/index.php'; break;

          }
          ?>

          .....

          :[[[[[ heul.....

          1. zur verdeutlichung hab ich mal nen test eingerichtet:

            http://www.schenckdesign.de

          2. Re:

            um es in neuem Fenster zu öffnen habe ich:

            action="pressarea/index.php?fertig=yes"

            Allerdings möchte ich das es nicht in neuem Fenster geöffnet wird.

            Aha jetzt ist mir so langsam klar, welche Inbegriffe bei Dir FENSTER haben kann...

            Zitat Manual (was ich Dir auch ans Herz legen möchte, bei solchen Fragen zu durchsuchen):

            "...Wenn eine Datei eingebunden wird, erbt der enthaltene Code den Geltungsbereich von Variablen der Zeile in der die Anweisung steht. Ab dieser Zeile stehen alle verfügbaren Variablen in der aufgerufenen Datei im aufrufenden Skript zur Verfügung..."

            Das zum einen; aber daraus erwächst noch eine andere Tatsache:
            Verweise auf Resourcen werden deshalb auch nicht automatisch umgewandelt. Wenn also die eingebundene Datei in einem Unterverzeichnis ist, und von seiner Position in der doc-root auf eine andere Datei verweist, wird das nur dann funktioniertn:

            funktioniert nicht
            <img src="../image/logo.gif">

            funktioniert
            <img src="http://www.du-da.de/image/logo.gif">