WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Nach Login entweder 1 Seite oder eine andere Seite laden

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Nach Login entweder 1 Seite oder eine andere Seite laden - 15 Dez 2025 Antworten
im Forum für Webhosting Homepage gefunden:
Nach Login entweder 1 Seite oder eine andere Seite laden
theotoffel
Pixelschubser
Threadstarter




Beiträge: 3

Hallo zusammen,

als Neuling bei PHP möchte ich nach einem Login per if-Abfrage (ist Passwort ok?) bei ok eine Seite laden, wenn nicht ok, dann eine andere. Es soll aber eine vollkommen neue Seite geladen werden, mit include könnte ich ja was unterschiedliches ausgeben. Das will ich aber nicht.

if(isset($_POST['pass'])){
if($_POST['pass']=="PETER"){
//echo "

Geschützter Bereich

";
//echo "

Hier stehen die geheimen Inhalte ...

";
//include 'Geschuetzt.html';
fopen("/Geschuetzt.html","r+");
}
else {
//echo "

Leider kennen Sie das Passwort nicht ...

";
fopen("/Gaeste.html","r+");
}
}

ich erhalte aber folgende Fehlermeldung beim ersten Laden der Seite:

Warning: fopen(/Gaeste.html) [function.fopen]: failed to open stream: No such file or directory in D:\Server\htdocs\PHP_Kurs\passwort.php on line 33

Selbstredend: beide html-Dateien liegen im gleichen Verzeichnis wie die Login-Datei, also das ist der Fehler nicht. Der Dateinamen ist auch korrekt.

Kann mir da jemand sagen, was ich machen muss? mit "header" komm ich nicht klar
Vielen Dank und Gruß
Reinhard

Diese Nachricht wurde geändert von: theotoffel
  Profil   E-Mail   Editieren   Zitieren
chip
Foren-Team




Beiträge: 419

Mit header() kannst du das relativ einfach lösen.

1:
header("Location: /Gaeste.html");


leitet einfach auf die Seite Gaeste.html weiter, die hier relativ zum Wurzelverzeichnis angegeben wurde (deshalb der /). Sie muss sich also hier direkt im Wurzelverzeichnis befinden.

---

  Profil   Website   Editieren   Zitieren
theotoffel
Pixelschubser
Threadstarter




Beiträge: 3

Hallo chip,

erst einmal danke für den Tipp, ich habs ausprobiert und prompt ärgert mich mein skript mit einer neuen Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at D:\Server\htdocs\PHP_Kurs\passwort.php:2) in D:\Server\htdocs\PHP_Kurs\passwort.php on line 19

hier nochmal die ganze phpdatei, die ich starte:
echo"

Wie lautet das Passwort?

";
echo"
";
echo"";
echo"";
echo"
";
echo"


";
?>
if(isset($_POST['pass'])){
if($_POST['pass']=="PETER"){
//echo "

Geschützter Bereich

";
//echo "

Hier stehen die geheimen Inhalte ...

";
//include 'Geschuetzt.html';
header("Location: /Geschuetzt.html");
}
else {
//echo "

Leider kennen Sie das Passwort nicht ...

";
header("Location: /Gaeste.html");
}
}
?>

ist ganz schön umgewöhnungsbedürftig zu vb oder vba

außer in den html-Dateien ist kein "head" getaggt, da hab ich noch ein grundsätzliches Verständnisproblem.

Kannst nochmal helfen? Vielen dank!

Reinhard

  Profil   E-Mail   Editieren   Zitieren
Baldur
Foren-Team





Beiträge: 235

Das Problem ist : Vor header () darf keinerlei Ausgabe erfolgen.
Mal als erste Zeile ob_start(""); einfügen.
Dann wird die Ausgabe vorab in einen Puffer geladen und der header immer zuerst gesendet.



---
Viele Grüße aus Heilbronn
Baldur
Elektronik Forum natülich suleitec.de
Versand von Ersatzteilen Elektroforum

  Profil   E-Mail   Website   Editieren   Zitieren
theotoffel
Pixelschubser
Threadstarter




Beiträge: 3

Hi Baldur,

Dein Tipp war Gold wert, so klappt es nun:

ob_start("");
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');

if(isset($_POST['pass'])){
if($_POST['pass']=="PETER"){
//echo "

Geschützter Bereich

";
//echo "

Hier stehen die geheimen Inhalte ...

";
//include 'Geschuetzt.html';
ob_start("");
header("Location: http://$host$uri//Geschuetzt.html");
exit;
}
else {
//echo "

Leider kennen Sie das Passwort nicht ...

";
ob_start("");
header("Location: http://$host$uri//Gaeste.html");
exit;
}
}
else{
echo"

Wie lautet das Passwort?

";
echo"
";
echo"";
echo"";
echo"
";
echo"


";
}

?>

Vielen herzlichen Dank, Das ist jetzt klasse!

  Profil   E-Mail   Editieren   Zitieren
admin-cb
Foren-Team




Beiträge: 4

Jetzt musst du nur aufpassen, dass niemand die URL des geschützten Bereiches erfährt, sofern dort keine zusätzliche Absicherung drin ist.
Dein ursprüngliches Problem lag darin, dass du die Datei im Wurzelverzeichnis des Servers öffnen wolltest, wo sie sicherlich nicht liegt. Du musst bei include oder fopen die Serverpfade angeben, also entweder relativ (ohne führenden /) oder absolut im Filesystem (je nach Provider z.B. /var/www/kunde/e/example.com/geschuetzt.html).
Der absolute Pfad der aktuellen Datei steht in $_SERVER["SCRIPT_FILENAME"]

Das ob_start() wäre auch nur einmal erforderlich gewesen. Beendet wird das per ob_end_flush() oder ob_end_clean(). php.net weiß mehr.

  Profil   E-Mail   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Nach Login entweder 1 Seite oder eine andere Seite laden

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Nach Login entweder 1 Seite oder eine andere Seite laden im Forum Homepage Hosting AntwortenLetztes Posting
Flotsam: Build, Survive, and Explore the Oceanic Wasteland
in "PHP & MySQL"
0 08.01.2025 10:11 von rodeoneerer
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973



Besucher : 8608654    Heute : 1005     Gestern : 723     Online : 28     15.12.2025    21:15      2 Besucher in den letzten 60 Sekunden        
alle 30.00 Sekunden ein neuer Besucher
Nach oben