• Hallo,

    leider habe ich nur rudimentäre php Kenntnisse. Für meine Website will ich jetzt ein einfaches Login Script, dass aber in die Seite integriert werden kann (also nicht über .htaccess)

    Jetzt will ich für das eine kleine Problem nicht mit den kompletten Möglichkeiten von php beschäftigen, aber auch nicht ein fertiges Script nehmen. Mit Link zu Autor sieht das mMn etwas unprofessionell aus und diesen Link einfach zu entfernen ist ja meist nicht nur illegal sonder auch unfair.

    Also um Sicherheit geht es mir auch nicht groß - so wichtig ist das alles nicht :D

    Also folgendes soll das Script können:

    Einfach Username und Passwort abgleichen und dann auf eine festgelegte Seite weiterleiten, notfalls würd auch nur die Eingabe eines Passworts reichen. Der User soll sich selber keinen Account anlegen können, sondern zugelassene User samt Passwort sollen vorher von mir festgelegt werden können.

    Hat jemand vielleicht einen Link zu einem Tut das mir in dieser Hinsicht weiterhilft? Falls nicht, würde es mir auch schon mal helfen, wenn mir jemand grob die nötige Struktur aufzeigen könnte, damit ich dann die Details selber dirket zielgenau nachlesen kann. Ich lern nämlich besser an praktischen Sachen, die für mich auch einen relevanten Nutzen haben - php in kleinen Happen sozusagen :rolleyes:

    Vielen Dank!

  • Zitat


    Jetzt will ich für das eine kleine Problem nicht mit den kompletten Möglichkeiten von php beschäftigen, aber auch nicht ein fertiges Script nehmen.

    Also du willst es nicht lernen, aber auch kein fertiges Script nehmen? Also eher so zusammenochsen :D

    Naja du machst es dir nur unnötig schwer, weil im enteffekt hast du von diesem Weg am wenigsten.

    Dann probiers mal:
    http://tut.php-quake.net/de/

    Punkt 3,4,6,10,11,16,19,23,25,28-31,40

    Viel Spaß :megalacher:

    Der frühe Vogel fängt den Wurm,
    aber die zweite Maus bekommt den Käse.

  • okay, habe mich jetzt brav intensiver als geplant mit der Materie beschäftigt, brauche aber nochmal Hilfe, da ich ein Verständnisproblem habe.

    Also in einem Beispiel-Script sieht der HTML Code so aus

    HTML
    <form action="login.php" method="post">
    Password: 
    <input name="pw" size="10" type="password"><br>
    <input name="Send" type="submit" value="Login">
    </form>

    der fragliche Teil des entsprechenden Scripts lautete:

    PHP
    $setpw = "1111";
    
    
    if($_REQUEST['Send'] && $_REQUEST['pw'] == $setpw)

    So wie ich das verstehe wird hier ja das eingegebene PW mit dem gesetzten verglichen. Meine Frage: Warum brauche ich $_REQUEST['Send']? Würde $_REQUEST['pw'] allein nicht reichen? Was würde dann falsch laufen?

    Danke! - Genug php für heute -ab ins Bett! ;)

  • Das ist beides Mist!

    PHP
    <?php
    $setpw = "1111";
    
    
    if(isset($_POST['pw']) && $_POST['pw'] == $setpw)
    ?>
  • Meine Frage: Warum brauche ich $_REQUEST['Send']? Würde $_REQUEST['pw'] allein nicht reichen? Was würde dann falsch laufen?

    ich erkläre es dir an bandit's Code:

    PHP
    <?php
    $setpw = "1111";
    
    
    if(isset($_POST['pw']) && $_POST['pw'] == $setpw)
    ?>

    Theoretisch würde "$_POST['pw'] == $setpw" reichen, praktisch würde es auch funktionieren,
    allerdings ist es nicht sauber! PHP wird dir (wenn du error_reporting(E_ALL); einfügst) eine Notiz zeigen, sofern $_POST['pw'] nicht exisitert, dh, wenn du das Formulat noch nicht abgeschickt hat, würde er trotzdem versuchen $_POST['pw'] == $setpw zu prüfen und festellen "$_POST['pw'] 'existiert' ja gar nicht (is not defined). Und mit isset($_POST['pw']), prüft er ob die Variable existiert.

  • Kurz zur urspruenglichen Frage:

    Hier wird nachgefragt, ob das Formular abgesendet wurde, bevor der eigentliche Vergleich stattfindet. Das ist praktisch das selbe, als wuerdest du erst gucken, ob die Variable existiert (wie oben).

    Code
    [COLOR=#000000][COLOR=#006600]if([/COLOR][COLOR=#0000cc]$_REQUEST[/COLOR][COLOR=#006600][[/COLOR][COLOR=#cc0000]'Send'[/COLOR][COLOR=#006600]] && [/COLOR][COLOR=#0000cc]$_REQUEST[/COLOR][COLOR=#006600][[/COLOR][COLOR=#cc0000]'pw'[/COLOR][COLOR=#006600]] == [/COLOR][COLOR=#0000cc]$setpw[/COLOR][COLOR=#006600])


    MfG,
    [/COLOR][/COLOR]

  • Nächstes Problem - scheint doch komplizierter zu werden als gedacht.... :rolleyes:

    Also, damit sich der User nicht auf jeder gesicherten Seite extra einloggen muss und ein direkter Aufruf bei bekannter url nicht möglich ist, muss ich ja Sessions verwenden (wenn ich das richtig verstehe) - klappt aber nicht so wie ich will:

    Also hier das Script zur Auswertung der Eingabe:


    und jetzt meine Vorstellung wie ich eine "geschützte" Seite verwirklichen kann, die nicht dirket mit einer url-Eingabe aufgerufen werden kann:


    So, wie der ein oder andere erfahrene User bestimmt an dem Code schon gemerkt hat, läuft das Ding nicht. Ich kann zum einen die Seite direkt über die URL aufrufen und das mit dem "geschützten" Inhalt funktioniert auch nicht, weil die ganzen HTML Tags meinen PHP Interpreter verwirren.

    Kann mir da jemand villeicht einen heißen Tipp geben, wie ich das abstellen kann :confused:

    Danke!

  • Folgender Code ist das Problem:

    Code
    [COLOR=#000000][COLOR=#006600]{
      <[/COLOR][COLOR=#0000cc]h1[/COLOR][COLOR=#006600]>[/COLOR][COLOR=#0000cc]Geschützte Überschrift[/COLOR][COLOR=#006600]</[/COLOR][COLOR=#0000cc]h1[/COLOR][COLOR=#006600]>
    
    
    [/COLOR][COLOR=#0000cc]  Inhalt[/COLOR][COLOR=#006600]-[/COLOR][COLOR=#0000cc]Inhalt[/COLOR][COLOR=#006600]-[/COLOR][COLOR=#0000cc]Inhalt
    
    
    [/COLOR][COLOR=#006600]}[/COLOR][COLOR=#0000cc]
    [/COLOR][/COLOR]

    Du musst verstehen, was PHP ist. PHP ~ Hypertext Preprocessor.

    D.h. Die Sprache steht in dieser Datei auf deinem Server und wird dann von dir angegfordert.
    Wenn du das tust springt der PHP-Interpreter ein, ein programm, dass all die Befehle ausfuehrt, die du in die Datei geschrieben hast.

    Daraus folgt: Kein HTML innerhalb der <?php ?> - Tags ausser, du schreibst diesen HTML-Code in einen String, mit dem du dann rechnen bzw. ihn einfach ausgeben kannst.

    =>

    Ist wahrscheiblich nicht in deinem Sinne. Daher empfehle ich, dass du die Frage andersrum stellst:

    Du hattest ausserdem wie gesagt in der 2ten Datei das "session_start()" vergessen. Warum genau das so ist findeste schon noch raus ;)