Brauche Hilfe --> PHP - Passwortschutz geht nicht

Hallo,

ich möchte meine Website per Passwort schützen. Hierzu habe ich folgendes PHP-Skript genutzt. Jedoch funktioniert die Weiterleitung einfach nicht und ich komm nicht darauf, was ich falsch mache. Ich hoffe hier auf Unterstützung.

Die Testseite:
coolesocke.bplaced.net/test/login.php
Passwort: test

Datei: config.php
In dieser Datei wird das Passwort gespeichert.

<?php
// Login - Passwort
  $Passwort = "test";
?>

Datei: login.php
Hier wird das Passwort eingegeben und überprüft.
Wenn das Passwort stimmt wird das Cookie gesetzt.
Haltbarkeit des Cookies = 3600 Sekunden

<?php
 include("config.php");
 if ($eingabe == $Passwort) {
  setcookie ("meinCookie", $eingabe, time()+3600, "/"); // Cookie setzen
  header ("Location: fehler.php" ); // Weiterleitung
 }
 else {
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>Login</title>
 </head>
<body>

<div align=center>
<h2>Login</h2>

<?php
 echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post" name="Form">';
 echo '<input type="password" name="eingabe" size="25"> ';
 echo '<input type="submit" value="ok"></form>';
 echo '<script type="text/javascript">document.Form.eingabe.focus();</script>';
}
?>

</div>
</body>
</html>

Datei: beispielseite.php
Hier wird das Passwort überprüft.
Wenn das Passwort stimmt wird die Webseite angezeigt,
andernfalls wird auf die Datei login.php weitergeleitet.

<?php
 include("config.php");
 if ($meinCookie != $Passwort) {
  header ("Location: login.php"); // Weiterleitung
 }
?>

<!-- Inhalt der Webseite -->
......

Quelle: homepage-total.de/php/webseitenschutz.php

du musst die überprüfung unter die Passwortabfrage machen, sonst kann es ja nichts überprüfen :stuck_out_tongue:

Wie meinst du das, ich soll die Überprüfung unter die Passwortabfrage machen? Kannst du das etwas genauer erklären?

Danke!!

Probiers mal so, wenn das nicht geht schreib einfach nochmal

[code]

Login

Login

<?php if(!isset($_GET['step'])) { echo ''; echo ' '; echo ''; echo ''; } if(($_GET['step']) = '2') {include("config.php"); if ($eingabe == $Passwort) { setcookie ("meinCookie", $eingabe, time()+3600, "/"); // Cookie setzen header ("Location: fehler.php" ); // Weiterleitung } ?>
[/code]

Ne, das funktioniert leider auch nicht. Es erscheint diese Fehlermeldung:
Parse error: syntax error, unexpected ‘}’ in /users/coolesocke/www/test/login.php on line 18

sry hab da was falsch gemacht…
code oben ist aktualisiert :wink:

Geht leider auch nicht. Jetzt erscheint diese Fehlermeldung:
Parse error: syntax error, unexpected ‘=’ in /users/coolesocke/www/test/login.php on line 22

ich schau mir das mal eben an moment

hö?
sollt das nicht:
[code]if($_GET['step']) == '2')[/code]

heissen?

hö?
sollt das nicht:

heissen?

Außerdem:

<?php include("config.php"); if ($eingabe == $Passwort) { ...

wo kommt denn $eingabe her?

So ich habe den Code jetzt entgültig fertig :stuck_out_tongue:
Bitteschön:

[code]<?php
if($_GET[‘step’] == ‘2’)
{
$eingabe = $_POST[“eingabe”];
$Passwort = ‘test’;
if ($eingabe == $Passwort) {
setcookie (“meinCookie”, $eingabe, time()+3600); // Cookie setzen
echo ‘Du wurdest erfolgreich eingeloggt!’;
}
else
{
echo ‘Fehler’;
}
}
?>

Login <?php if(!isset($_GET['step'])) { ?>

Login

<?php } ?>
[/code]

Danke, es funktioniert jetzt. Aber auf einem andern Wege.

okay
wie hast du es denn jetzt gelöst?

Es lag an der $_POST-Variable.