Passwortabfrage in CSS-Design?


  • tr00per
  • 1360 Aufrufe 16 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Passwortabfrage in CSS-Design?

    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)

    Quellcode

    1. <center>
    2. <h1>Bitte Passwort eingeben!</h1>
    3. <br /><br />
    4. <form action="login.php" method="post">
    5. <input type="password" name="pw">
    6. <input type="submit" value="submit">
    7. </form>


    und mein Login.php:

    PHP-Quellcode

    1. <?php
    2. if($HTTP_POST_VARS[pw] == "Geheim") {
    3. echo "Richtig! Du bist drin!";
    4. echo "Der geheime Inhalt (...)";
    5. } else {
    6. die("Falsches Passwort!");
    7. }
    8. ?>


    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-Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. if(isset($_POST['submit'])) {
    4. if($_POST['pw'] == 'Geheim') {
    5. /*Hier beginnt richtig*/
    6. }
    7. else {
    8. /*Hier beginnt falsch*/
    9. }
    10. }
    11. else {
    12. /*Hier begint login mit <input type="submit" name="submit" value="Senden" />*/
    13. }
    14. ?>
    Alles anzeigen


    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
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Das ist dir überlassen, wie du das nennst.

    Aber ich weiß nicht genau, was du mit dem div meinst.
    Meinst du vielleicht sowas:

    PHP-Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. echo '<blablabla><div id="the_div">';
    4. if(isset($_POST['submit'])) {
    5. if($_POST['pw'] == 'Geheim') {
    6. /*Hier beginnt richtig*/
    7. }
    8. else {
    9. /*Hier beginnt falsch*/
    10. }
    11. }
    12. else {
    13. /*Hier begint login mit <input type="submit" name="submit" value="Senden" />*/
    14. }
    15. echo '</div><blablabla>';
    16. ?>
    Alles anzeigen


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • danke dir erstmal, aber nein ich hab ne website, als beispiel:

    HTML-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3. <html>
    4. <head>
    5. <title>TEST</title>
    6. <link rel="stylesheet" type="text/css" href="style_start.css">
    7. </head>
    8. <body>
    9. <div id="container">
    10. <div id="banner">
    11. </div>
    12. <div id=main>
    13. <!--INHALT_ANFANG-->
    14. <div id="inhalt">
    15. <center>
    16. <h1>Bitte Passwort eingeben!</h1>
    17. <br /><br />
    18. <form action="login.php" method="post">
    19. <input type="password" name="pw">
    20. <input type="submit" value="submit">
    21. </form>
    22. </div>
    23. <!--INHALT_ENDE-->
    24. <!--LINKS_ANFANG-->
    25. <div id="navi">
    26. <h1>Kategorie1</h1>
    27. <a href="">Link1</a><br />
    28. <a href="">Link2</a><br />
    29. <h1>Kategorie2</h1>
    30. <a href="">Link3</a><br />
    31. <a href="">Link4</a><br />
    32. </div>
    33. <!--LINKS_ENDE-->
    34. <br class="clearer" />
    35. </div>
    36. </div>
    37. </body>
    38. </html>
    Alles anzeigen


    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:

    PHP-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3. <html>
    4. <head>
    5. <title>TEST</title>
    6. <link rel="stylesheet" type="text/css" href="style_start.css">
    7. </head>
    8. <body>
    9. <div id="container">
    10. <div id="banner">
    11. </div>
    12. <div id=main>
    13. <!--INHALT_ANFANG-->
    14. <div id="inhalt">
    15. <?php
    16. error_reporting(E_ALL);
    17. if(isset($_POST['submit'])) {
    18. if($_POST['pw'] == 'Geheim') {
    19. /*Hier beginnt richtig*/
    20. }
    21. else {
    22. /*Hier beginnt falsch*/
    23. }
    24. }
    25. else {
    26. /*Hier begint login mit <input type="submit" name="submit" value="Senden" />*/
    27. }
    28. ?>
    29. </div>
    30. <!--INHALT_ENDE-->
    31. <!--LINKS_ANFANG-->
    32. <div id="navi">
    33. <h1>Kategorie1</h1>
    34. <a href="">Link1</a><br />
    35. <a href="">Link2</a><br />
    36. <h1>Kategorie2</h1>
    37. <a href="">Link3</a><br />
    38. <a href="">Link4</a><br />
    39. </div>
    40. <!--LINKS_ENDE-->
    41. <br class="clearer" />
    42. </div>
    43. </div>
    44. </body>
    45. </html>
    Alles anzeigen


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Tut mir leid, mehr konnte ich aus deiner Beschreibung zum Problem nicht raus holen.
    Ich empfehle dir das TUT: #php/QuakeNet Tutorial - Eigenes Loginsystem
    (Deine Coding-habbits schließen auf ein veraltes Tutorial)

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • 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-Quellcode

    1. echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
    2. echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
    3. echo "<html>\n";
    4. echo " <head>\n";
    5. echo " <title>.::TEST::.</title>\n";
    6. echo " <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">\n";
    7. echo "</head>\n";
    8. echo "<body>\n";
    9. echo " <div id=\"container\">\n";
    10. echo " <div id=\"banner\">\n";
    11. echo " </div>\n";
    12. echo " <div id=main>\n";
    13. echo " <div id=\"inhalt\">\n";
    14. include "main.php";
    15. echo " </div>\n";
    16. echo " <div id=\"navi\">\n";
    17. include "navi.php";
    18. echo " </div>\n";
    19. echo " <br class=\"clearer\" />\n";
    20. echo " </div>\n";
    21. echo " </div>";
    22. echo "</body>";
    23. echo "</html>";
    24. ?>
    Alles anzeigen


    und der Quellcode:

    HTML-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3. <html>
    4. <head>
    5. <title>.::TEST::.</title>
    6. <link rel="stylesheet" type="text/css" href="style.css">
    7. </head>
    8. <body>
    9. <div id="container">
    10. <div id="banner">
    11. </div>
    12. <div id=main>
    13. <div id="inhalt">
    14. <h1>Hallo =)</h1>
    15. <p>bla bla bla</p>
    16. </div>
    17. <div id="navi">
    18. <h1>Kategorie1</h1>
    19. <a href="">Link1</a><br />
    20. <a href="">Link2</a><br />
    21. <h1>Kategorie2</h1>
    22. <a href="">Link3</a><br />
    23. <a href="">Link4</a><br />
    24. </div>
    25. <br class="clearer" />
    26. </div>
    27. </div><script type=text/javascript src=http://www7.kilu.net/extra/a1/remote_changes.js.php?kilu_account=XXXXXX></script></body></html>
    Alles anzeigen


    also das mit der navi usw ist ja klar, da muss ich dann die navi.php auch einrücken, aber die <div>s passen nicht...
  • 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

    Quellcode

    1. $this_is_locked_file = 1;
    2. include 'index2.php';

    und am Anfang der index2.php

    Quellcode

    1. if(!isset($this_is_locked_file)) die('You are not allowed to view this file!');


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.