Seite in neuem Fenster öffnen
Reno
- programmiertechnik
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
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
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ö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
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
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";
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
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";