Reno: Seite in neuem Fenster öffnen

Moin all ihr wissenden,

ich bin leider nur ein unwissender und brauche deshalb mal eure Hilfe.
Ich habe das Script zum Passwortschützen einer Seite auch den Tipps/Tricks für mein Seite modifiziert und bin eigentlich auch ganz zufrieden. Läuft, schützt und macht was es soll bis auf einen kleinen Hacken.
in der Zeile: header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/knut/index_knut.php');
wird der Pfand zur geschützten Seite generriert hab ich auch alles verstanden und läuft wie gesagt auch zufriedenstellend. Nun versuche ich allerdings schon seit Tagen, dass die neue Seite in einem neuen Fenster geöffnet wird. Wie kann ich das anstellen?? header() kennt doch wohl kein '_blank'?? kann ich in php irgendwie sagen, dass die neue Seite in einem neuen Fenster geöffnet werden soll? Währe euch sehr dankbar, wenn ihr mir einen Hinweis geben könntet.

Danke und Gruß
Reno

  1. Hallo Reno

    ... Wie kann ich das anstellen?? header() kennt doch wohl kein '_blank'?? kann ich in php irgendwie sagen, dass die neue Seite in einem neuen Fenster geöffnet werden soll?

    Kannst du dies nicht im Formular angeben?
    Zielfenster für Server-Antwort

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
    1. Hi Detlef,

      Danke das wars doch schon was ich wissen wollte.

      Nu hab ich aber gleich noch eine Frage. Ich benutze den Apache 1.3.20 und PHP 4.0.6 zum Testen meiner Seiten, damit ich nicht dauernd ins Netz muss (die Telekom liefert hier nur Analog -:( ) das funktionierte bisher auch hervorragend. Nun habe ich aber begonnen mit sessions zu arbeiten. Wenn ich die session starte läuft mein Apache zwar noch aber er verarbeitet das Script nicht. Im Net läuft die Seite wie gewollt nur zuhause läuft Sie nicht. Bsp:

      <?php
           if ($_SERVER['REQUEST_METHOD'] == 'POST')
        {
             session_start();

      $username = $_POST['username'];
             $passwort = $_POST['passwort'];

      $hostname = $_SERVER['HTTP_HOST'];
             $path = dirname($_SERVER['PHP_SELF']);

      // Benutzername und Passwort werden überprüft
             if ($username == '###' && $passwort == '###')
          {
               $_SESSION['angemeldet'] = true;

      // Weiterleitung zur geschützten Startseite
                if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1')
          {
                 if (php_sapi_name() == 'cgi')
           {
                   header('Status: 303 See Other');
                  }
                 else
           {
                   header('HTTP/1.1 303 See Other');
                  }
                }

      header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/stela/index_stela.php');
               exit;
             }
        else
        {
         if ($username == '###' && $passwort == ####)
          {
               $_SESSION['angemeldet'] = true;

      // Weiterleitung zur geschützten Startseite
                if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1')
          {
                 if (php_sapi_name() == 'cgi')
           {
                   header('Status: 303 See Other');
                  }
                 else
           {
                   header('HTTP/1.1 303 See Other');
                  }
                }

      header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/knut/index_knut.php');
               exit;
             }

      }
         }
      ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
       <head>
        <title>Geschützter Bereich</title>
       </head>
       <body bgcolor="#E1E1E1"><br />
       <div align="center">
       <table align="center" width="100%" height="500" cellspacing="2" cellpadding="2" border="0">
      <tr>
       <td>
       Auf die Gestaltung dieser Seiten habe ich nicht so viel Wert gelegt.<br />
       Hier wollte ich nur die M&ouml;glichkeit schaffen, dass jeder in seinen Bereich verzweigen kann<br />
       und zwar nur der den es was angeht :-). <br /><br />
        <form action="start.php" method="post" target="_blank">
          Vorname: <input type="text" name="username" />
           Passwort: <input type="password" name="passwort" /><br /><br />
        <input type="submit" value="Anmelden" />
          </form>

      </td>
      </tr>
      </table>
        </div>
       </body>
      </html>

      Dieses Script läuft auf dem Server im Netz wie gewollt. Die includierten- und Weiterleitungsdatein liegen alle an der richtigen stelle. Aber mein Apache bringt mich immer wieder nach "start.php" wie gesagt ich habe das alles auf den Server bei meinem Provider gelegt und von da aus läuft es wie gewollt. Nur mit meiner Testumgebung bekomme ich das nicht hin. Kann mir jemand sagen woran das liegen könnte? Muss ich den Apache anders konfigurieren?

      Danke schonmal im Voraus
      Gruß Reno

      1. Hallo Reno

        Kann mir jemand sagen woran das liegen könnte? Muss ich den Apache anders konfigurieren?

        Dabei kann ich dir nicht helfen, bisher betreue ich nur statische Seiten,
        wobei ein lokaler Server auch nicht nötig ist.
        Ich ändere mal Rubrik und Thema, damit es den entsprechenden Spezialisten hier
        auffällt.

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
      2. echo $begrüßung;

        Nu hab ich aber gleich noch eine Frage. Ich benutze den Apache 1.3.20 und PHP 4.0.6 zum Testen meiner Seiten,
             if ($_SERVER['REQUEST_METHOD'] == 'POST')

        Die Superglobalen Variablen gibt es erst ab PHP 4.1.0.

        echo "$verabschiedung $name";

        1. echo $begrüßung;

          Nu hab ich aber gleich noch eine Frage. Ich benutze den Apache 1.3.20 und PHP 4.0.6 zum Testen meiner Seiten,
               if ($_SERVER['REQUEST_METHOD'] == 'POST')

          Die Superglobalen Variablen gibt es erst ab PHP 4.1.0.

          echo "$verabschiedung $name";

          Danke für die schnelle Beantwortung meiner Fragen. Da werd ich mich wohl mal bemühen 4.1.0 zu bekommen

          Gruß Reno

          1. echo $begrüßung;

            Da werd ich mich wohl mal bemühen [PHP] 4.1.0 zu bekommen.

            Aktuell ist PHP in der 4er Reihe bei Version 4.4.2 angelangt. Ansonsten ist 5.1.2 aktuell. Eine weitere Möglichkeit wäre es, wenn du die beim Provider eingesetzte Version nimmst. Damit gehst du Versionsinkompatibilitäten aus dem Weg.

            echo "$verabschiedung $name";