WebWork Magazin - Design, Gestaltung, Online Medien, html

Webhosting Provider Domain

Home | Registrieren | Einloggen | Suchen | Aktuelles | Suleitec Webhosting
Reparatur- und Ersatzteile-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 Antworten
im Forum für Webhosting Homepage gefunden: login
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 "<h3>Geschützter Bereich</h3>";
//echo "<p> Hier stehen die geheimen Inhalte ... </p>";
//include 'Geschuetzt.html';
fopen("/Geschuetzt.html","r+");
}
else {
//echo "<p> Leider kennen Sie das Passwort nicht ... </p>";
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: 416

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:
<?php
echo"<h3>Wie lautet das Passwort?</h3>";
echo"<form action='passwort.php' method = 'POST'>";
echo"<input type='text' name='pass'/>";
echo"<input type='submit' value='Senden' />";
echo"</form>";
echo"<p><hr></p>";
?>
<?php
if(isset($_POST['pass'])){
if($_POST['pass']=="PETER"){
//echo "<h3>Geschützter Bereich</h3>";
//echo "<p> Hier stehen die geheimen Inhalte ... </p>";
//include 'Geschuetzt.html';
header("Location: /Geschuetzt.html");
}
else {
//echo "<p> Leider kennen Sie das Passwort nicht ... </p>";
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: 217

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:

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

if(isset($_POST['pass'])){
if($_POST['pass']=="PETER"){
//echo "<h3>Geschützter Bereich</h3>";
//echo "<p> Hier stehen die geheimen Inhalte ... </p>";
//include 'Geschuetzt.html';
ob_start("");
header("Location: http://$host$uri//Geschuetzt.html");
exit;
}
else {
//echo "<p> Leider kennen Sie das Passwort nicht ... </p>";
ob_start("");
header("Location: http://$host$uri//Gaeste.html");
exit;
}
}
else{
echo"<h3>Wie lautet das Passwort?</h3>";
echo"<form action='passwort2.php' method = 'POST'>";
echo"<input type='text' name='pass'/>";
echo"<input type='submit' value='Senden' />";
echo"</form>";
echo"<p><hr></p>";
}

?>

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
Array in MySql schreiben
in "PHP & MySQL"
5 02.09.2010 14:05 von Ori
Teile einer datei auslesen
in "PHP & MySQL"
3 27.08.2010 18:33 von Carsten
Möchte mir gerne ein PHP Forum auf meine Webseite instalieren und bräuchte Hilfe!
in "PHP & MySQL"
27 28.04.2010 15:44 von Paddy_3000
Wie baue ich ein smilie ein und lese den wieder aus aus der datenbank?
in "PHP & MySQL"
27 05.04.2010 21:47 von raiserle



Besucher : 50743    Heute : 431     Gestern : 2243     Online : 27     3.9.2010    9:52      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Die letzten 30 Referrer :

1 9:52 - google.de/search - button webmaster
2 9:49 - google.de/search - typo3 datensatz dupliziert selbe ID
3 9:48 - google.at/search - pdo sonderzeichen
4 9:47 - google.at/search - pdo sonderzeichen
5 9:46 - google.de/search - externe Speichermedien
6 9:44 - google.de/search - Webhosting mit reverse Proxy
7 9:43 - google.de/search - catchall-adresse einrichten telekom
8 9:42 - google.de/search - php ssh
9 9:40 - google.de/search - urlaubsanspruch 400 Euro
10 9:39 - google.com/search - crt monitor öffnen
11 9:39 - google.de/search - anrede groß schreiben neue rechtschreibung
12 9:37 - google.de/search - akkus für bartschneider
13 9:37 - google.de/search - indesign minikalender vorlage 2011
14 9:35 - google.de/search - foxmail Anzeige E-Mail Absender
15 9:33 - google.de/search - virtueller rundgang freeware
16 9:33 - lamb-da.appspot.com/google.de/search - Bandbattle blog
17 9:31 - lamb-da.appspot.com/google.de/search - Music Challenge blog
18 9:26 - google.ch/search - xampp htaccess
19 9:25 - google.de/search - sql zufall
20 9:24 - google.de/search - lauftext für hp
21 9:23 - google.de/search - PHP Allowed memory size
22 9:23 - google.com/search - schiffe versenken java
23 9:23 - google.de/search - counter php einbauen
24 9:19 - google.de/search - baustellenseite
25 9:18 - google.de/search - passwort verschlüsseln
26 9:16 - google.de/search - css vererbung
27 9:14 - google.de/search - PHP.ini debian
28 9:13 - google.de/search - rektalthermometer
29 9:13 - google.de/search - PHP.ini debian
30 9:08 - google.de/search - homepage button mit blink bei drüber fahren

Nach oben