passwortgeschützte seite

wessve

Grünschnabel
hallo,
ich habe da ein problem mit dem aufruf einer passwort geschützten seite.
also es gibt auch nur einen user der darauf zugreifen soll. der code dazu sieht so aus
(nur das wo der Fehler ist) und da soll es dann die { über dem else sein, vielleicht tun sich ja noch mehr fehler auf aber ich hoffe nicht.
Parse error: syntax error, unexpected '{' in C:\Programme\xampp\htdocs\KaiHp\adminhaupt.php on line 96



Code:
<?php
           $username = $_POST["username"];
           $passwort = $_POST["passwort"];

           $pass = md5($passwort);

           if($username=="kai" and $pass=="5647800f96429d6a3621b61c6bc36a11")
                               {
                               header ("Location: adminhaupt.php")
                               {
           else
                            header ("Location: adminpasswort.php")
                                }
      ?>
kann mir da bitte mal jemand behilflich sein.
Danke
mfg wessve
 
Das Skript enthält sogar einige Fehler, unter anderem die bereits erwähnten Klammern und fehlende Semikolons. Probier mal Folgendes:
PHP:
if( isset($_POST['username']) && isset($_POST['passwort']) && $_POST['username']=="kai" && md5($_POST['passwort'])=="5647800f96429d6a3621b61c6bc36a11" ) {
	header("Location: adminhaupt.php");
} else {
	header("Location: adminpasswort.php");
}
Ich hoffe aber, dass in der „adminhaupt.php“ ebenfalls eine Authentifizierung stattfindet.
 
danke für die schnelle antwort,

jetzt komme ich mit falschen benutzerangaben auf die seite wo keiner hinkommen soll und auch mit den richtigen

bekomme dann diese fehlermeldung

Warning: Cannot modify header information - headers already sent by (output started at C:\Programme\xampp\htdocs\KaiHp\adminhaupt.php:16) in C:\Programme\xampp\htdocs\KaiHp\adminhaupt.php on line 96

in der zeile steht dann also zeile 96:
header("Location: adminpasswort.php");

hatte die simikolons auch schon mal hingemacht, hatte aber nichts geändert also habe ich sie wieder weggemacht.
soweit war ich aber auch schonmal, das ich immer auf die adminseite gekommen bin aber da hatte ich so eine fehlermeldung noch nicht.

hmmm....
wieso geht das nicht.?

Danke!
mfg wessve
 
Vor der Benutzung von [phpf]header[/phpf] darf keine Ausgabe an den Browser geschehen.

Wenn dies unumgänglich ist, musst du dir die Funktionen zur Ausgabesteuerung angucken.

Ansonsten benutze einmal die Suchfunktion hier im Forum, für die Fehlermeldung, da findest du genug Treffer.
 
habe gerade den satz gesehen " ich hoffe aber das in der adminhaupt.php ebenfalls eine autentifizierung stattfindet"

ja eigentlich ja nur da und dann soll die adminhaupt seite geladen werden. da dort dann noch buttons sind die so nicht da sind und dann ja auch erst betätigt werden können.
in der adminpasswort.php ist nur ein formular was mit post das passwort an die adminhauptseite zum prüfen übergibt.
wenn eingaben richtig dann adminhaupt.php laden sont adminpasswort wieder laden.

Das kann man doch so machen oder?
Danke.!
mfg wessve
 
Was sollte jemanden davon abhalten direkt „adminhaupt.php“ aufzurufen? Im Moment nichts. Denn nur wenn die Wache („adminpasswort.php“-Skriptdatei) direkt angesprochen wird, möchte sie Namen und Passwort wissen und verwährt bei Nichtübereinstimmung den Zugang. Man kann sich aber auch durch einen Direktaufruf einfach an der Wache vorbeischleichen. Das musst du unbedingt noch ändern, dass daran kein Weg vorbei geht.
 
sorry war bisher sehr beschäftigt und konnte nicht an der seite weiterarbeiten. ja aber wie ändern, ausserdem wie sollte mann die seite aufrufen ohne zu wissen das es sie gibt? im moment kommt ja sowieso noch jeder drauf egal was er eingibt und ich habe immer noch nicht raus warum. bin eben nur ein php neuling, wollte vor einiger zeit schonmal was mit php machen und hab mal so ein wenig rumprobiert. nun habe ich auch noch mein php buch verborgt und komme selbst kein stück weiter. hatte damal dann die passworteingabe einfach mit java gemacht, aber das will ich diesmal nicht.
Danke
Mfg wessve
 
Du könntest mit Sessions arbeiten -.-
Sollte sich jemand einloggen, wird dieser Session-Cookie gesetzt

PHP:
<?php
session_start();
$_SESSION['logged'] = true;
?>

Dann lässt du zu deiner anderen Seite weiterleiten -.-
Da prüfst du nun ganz einfach, ob der Session-Cookie true ist ...

PHP:
<?php
session_start();
if(isset($_SESSION['logged']) AND ($_SESSION['logged'] == "true"))
{
//Admin Seite zeigen

//Auslogen
// --> machste link      "index.php?logged=logout"
if(isset($_GET['logged']) AND ($_GET['logged'] == "logout"))
{
unset($_SESSION['logged']);
}

}else{
// header Refresh back to the roots ^^
}
?>
 
Zuletzt bearbeitet:
Zurück