Passwortabfrage in CSS-Design?

tr00per

Registered +
Registriert
März 2008
Beiträge
163
Hi,

ich hab mir eine Website mit einem reinen CSS-Design gebastelt. Jetzt will ich einen Bereich davon mit einem Passwort schützen, wenn man also auf den Link klickt kommt das im div-container (werde ich wohl mit include+php machen, aber das ist ja erstmal egal)

Code:
[HEADING=1]Bitte Passwort eingeben![/HEADING]

und mein Login.php:
Code:
if($HTTP_POST_VARS[pw] == "Geheim") {
echo "Richtig! Du bist drin!";
echo "Der geheime Inhalt (...)";
} else {
die("Falsches Passwort!");
}
?>

Wenn ich das mache komme ich auf eine leere Seite mit "Richtig! Du bist drin!", "Der geheime Inhalt (...)"...
Ich will aber das dieses in meiner Seite in dem gleichen div-container erscheint wie auch die passwortabfrage...
wie mach ich das am besten?
 
Hi,
was meinst du denn jetzt genau?
Willst du also wenn man kein Passwort eingegeben hat, die Passwortabfrage erscheint und wenn, dann halt richtig oder falsch?
Das machst du am besten, indem deinem Submit-Button einen namen gibst und prüfst, ob der Index des Post-Arrays (ab PHP4 brauchst du nicht mehr HTTP vor _POST setzen) belegt ist.
Beispiel:
PHP:
 error_reporting(E_ALL);
if(isset($_POST['submit'])) {
if($_POST['pw'] == 'Geheim') {
/*Hier beginnt richtig*/
}
else {
/*Hier beginnt falsch*/
}
}
else {
/*Hier begint login mit */
}
?>

Nochwas:
Wenn man auf Arrays via Indexies zugreifen will, sollte man die Indexies in Hochkommata oder Anführungsstriche verwenden, weil sonst ein Notice-Error entsteht. (Wird zwar standard-mäßig ausgeblendet, aber mit error_reporting(E_ALL); angezeigt)

Gruß
Broken Sword
 
ähm das muss dann meine login.php sein oder?

und wie mach ich das das es in der hauptseite in dem div erscheint, in dem auch schon die passwortabfrage erscheint?
 
Das ist dir überlassen, wie du das nennst.

Aber ich weiß nicht genau, was du mit dem div meinst.
Meinst du vielleicht sowas:
PHP:
 error_reporting(E_ALL);
echo '
';
if(isset($_POST['submit'])) {
if($_POST['pw'] == 'Geheim') {
/*Hier beginnt richtig*/
}
else {
/*Hier beginnt falsch*/
}
}
else {
/*Hier begint login mit */
}
echo '
';
?>

Gruß
Broken Sword
 
danke dir erstmal, aber nein ich hab ne website, als beispiel:

Code:
[HEADING=1]Bitte Passwort eingeben![/HEADING]














[HEADING=1]Kategorie1[/HEADING]

Link1

Link2


[HEADING=1]Kategorie2[/HEADING]

Link3

Link4

und da im im div-inhalt soll dann der Bereich erscheinen, der nur nach eingabe des passworts sichtbar ist, also z.b. "geschuetzter_bereich.php",

der freie teil der seite ist ja dann mit switch gestalltet, also ich will mit den divs virtuelle frames erzeugen, hoffe das ist jetzt verständlich...
 
Na das ist doch so, wie ich meinte:
Code:
 error_reporting(E_ALL); 
if(isset($_POST['submit'])) { 
if($_POST['pw'] == 'Geheim') { 
/*Hier beginnt richtig*/ 
} 
else { 
/*Hier beginnt falsch*/ 
} 
} 
else { 
/*Hier begint login mit */ 
} 
?>






[HEADING=1]Kategorie1[/HEADING]

Link1

Link2


[HEADING=1]Kategorie2[/HEADING]

Link3

Link4

Gruß
Broken Sword
 
da kann dann niemand etwas aus dem quelltext herauslesen oder?
 
danke dir Broken Sword...

leider ist das nicht ganz was ich wollte, werde mir wohl ein richtiges Login basteln, mit Cookies usw...muss mich da aber erst mal richtig einlesen...
 
hm das is ja nur für einen adminbereich...

ich will das wenn man die seite aufruft, das man da USER u& PW eingibt und erst dann auf die eigentliche Seite kommt...

hab jetzt ein andres (kleines) Prob und zwar hab ich mein layout jetzt in php gemacht, leider schaut der quellcode nicht aus wie das php-script, warum?

index.php
PHP:
echo "DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
echo "\n";
echo " \n";
echo " \n";
echo " \n";
echo "\n";
echo "\n";
echo "
\n";
echo "
\n";
echo "
\n";
echo "
\n";
echo "
\n";
include "main.php";
echo "
\n";
echo "
\n";
include "navi.php";
echo "
\n";
echo " 
\n";
echo "
\n";
echo "
";
echo "";
echo "";

?>

und der Quellcode:
Code:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">












[HEADING=1]Hallo =)[/HEADING]


bla bla bla




[HEADING=1]Kategorie1[/HEADING]

Link1

Link2


[HEADING=1]Kategorie2[/HEADING]

Link3

Link4

also das mit der navi usw ist ja klar, da muss ich dann die navi.php auch einrücken, aber die
s passen nicht...
 
Die einrückungen der Div's haben doch keinen Einfluss auf die Funktionalität und das Layout der Seite. Díes dient nur für die Überschaubarkeit des Quellcodes.
 
ja ist mir schon klar, hätte es trotzdem gern übersichtlich ;)

also ich kram das nochmal raus...

ich hab mir das so vorgestellt:

man ruft die url auf und kommt auf "index.php", dort wird ein passwort abgefragt und falls richtig kommt man auf "index2.php"...soweit so gut...

aber da kann ja jeder gleich index2.php aufrufen und ist ohne passwort auf der seite, wie kann ich das verhindern?
 
Einfach in der index.php
Code:
$this_is_locked_file = 1;
include 'index2.php';
und am Anfang der index2.php
Code:
if(!isset($this_is_locked_file)) die('You are not allowed to view this file!');

Gruß
Broken Sword
 
index2.php soll nicht includet werden, sondern ist eine ganz eigenständige seite (die selbst den inhalt includet)...
 
danke dir nochmal...

das hab ich mir klar angeschaut, ich dachte nur es gäbe da eine einfachere Lösung, werde es dann wohl mit Sessions machen....

wie kann ich den, wenn die seite geschlossen wird den wert der variablen wieder auf 0 setzen?
 
Zurück
Oben Unten