Ankündigung

Einklappen
Keine Ankündigung bisher.

[Rohgerüst | PHP + MySQL] Loginscript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Rohgerüst | PHP + MySQL] Loginscript

    ALL-INKL.COM - Webhosting Server Hosting Domain Provider
    Anwendungsbereich:
    Passwort gesicherten Bereich. (Einfach erweiterbar z.B. mit Benutzerprofil)

    Benötigt:
    Eine MySQL Datenbank (angelegt z.B. mit phpMyAdmin):
    - Name der Datenbank: adminzone
    - Tabellenname: zugriff
    - Tabellenspalten: id (int/länge 5/auto_increment/PrimaryKey), name(varchar/länge 30), pass(varchar/länge 30), level (varchar/länge 30)

    Auserdem ist es Sinnvoll schon mal die erste Spalte mit Daten zu füttern.
    Beispiel: id = 1 / name = webmaster / pass = geheim / level = admin


    Folgende Dateien (alle in dem gleichen Ordner):
    - var.inc.php
    - login.html
    - verify.php
    - admin.php
    - logout.php

    Hinweiß: Es muß nur die Datei var.inc.php angepasst werden. Alle anderen Dateien bitte so übernehmen! Erweiterungen und Änderungen bitte erst nach testen dieser Version durchführen!

    Inhalt der Dateien:

    var.inc.php
    PHP-Code:
    <?php
          
    // Datenbank Variablen 
          
    $dbserver "localhost"// Datenbankserveradresse 
          
    $dbname "adminzone"// Name der Datenbank 
          
    $dbuser ""// Username des Datenbankbenutzers (muß angepasst werden!)
          
    $dbpass ""// Passwort des Datenbankbenutzers (muß angepasst werden!)
          
    ?>

    login.html
    HTML-Code:
    <html> 
          <head> 
          <title>login</title> 
          </head> 
          <body> 
          <form action="verify.php" method="post"> 
          Username : <br> 
          <input type="text" name="username" size="20" maxlength="20"><br> 
          Passwort : <br> 
          <input type="password" name="passwort" size="20" maxlength="20"><br> 
          <input type="submit" name="absenden" value="einloggen"> 
          </form> 
          </body> 
          </html>

    verify.php
    PHP-Code:
    <?php
          session_start
    ();
          include(
    'var.inc.php');
          if ((!isset(
    $username)) OR (!isset($passwort))) 
          { 
          die (
    "Sorry, aber ohne Name bzw. Passwort geht hier nichts !"); 
          }
          
    $conn = @ mysql_connect($dbserver,$dbuser,$dbpass); 
          if (!
    $conn
          { 
          die (
    "Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !"); 
          }
           
    mysql_select_db($dbname,$conn);
          
    $query "SELECT pass, level FROM zugriff WHERE name = '".$username."'"
          
    $result =  mysql_query($query,$conn);
          
    $zeileholen =  mysql_fetch_array($result,MYSQL_ASSOC); 
          
    mysql_close($conn);
          if (!
    $zeileholen
          { 
          die (
    "Sorry, aber dieser Name ist leider nicht bekannt !"); 
          }
          if (
    $zeileholen["pass"] <> $passwort
          { 
          die (
    "Sorry, aber dieses Passwort passt nicht zum Usernamen !"); 
          }
          
    $level $zeileholen["level"];
           
    session_register('username'); 
           
    session_register('level');
          
    header ("Location:admin.php");
          
    ?>

    admin.php
    PHP-Code:
    <?php session_start(); ?> 
       <html> 
          <head> 
          <title>Adminzone</title> 
          </head> 
          <body>
       <?php if (! session_is_registered('username')) 
          { 
          die (
    "Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?"); 
          }
          echo 
    "Hi ".$username." !"
          echo 
    "<br> Dein Userlevel ist ".$level?> 
       <br> 
          <input type="button" name="logout" value="logout" onClick="location.href='logout.php'"> 
          </body> 
          </html>

    logout.php
    PHP-Code:
    PHP-Code:
       <?php session_start(); 
       
    // Session da ? 
          
    session_destroy();
          
    header("Location:login.html");?>

    Link zum Script: http://www.php-resource.de/tutorials/read/3/1/

    Bitte beachtet, dass dieses Script eine Rohgerüst ist. Es ist nicht für den Einsatz in einem System gedacht!

    Doytype: Nicht angegeben
    Validität: Nein / unzureichend
    Sicherheitsstufe: gering
    Erstellt von: Jonas Hoffmann @ php-resource.de
    Gefunden von: diehappy
    Modifiziert von: FloB / diehappy
    Vielen Dank!
    Zuletzt geändert von FloB; 18.03.2006, 19:19.
    mfg happy

    +phpbb_arr WARNUNG: ANFÄNGER!

  • #2
    Frage

    Hallo,


    Beim erstellen dieser spalten fragt er mich wie lang die sein müssen ist das egal?
    habe da einfach ne 5 eingegeben

    - Tabellenspalten: id (int/auto_increment/PrimaryKey), name(varchar), pass(varchar), level (varchar)

    Kommentar


    • #3
      Fehler

      Ich kriege dann diesen Fehler


      Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /usr/export/www/vhosts/funnetwork/hosting/adminzone/var.inc.php on line 3

      Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /usr/export/www/vhosts/funnetwork/hosting/adminzone/var.inc.php on line 3

      Parse error: parse error, unexpected T_STRING in /usr/export/www/vhosts/funnetwork/hosting/adminzone/var.inc.php on line 3


      woran liegt das?

      Kommentar


      • #4
        Ich denke bei der Länge für ID: 5, name: 32, pass: 32-128, level: 2.

        Zeig mal die var.inc.php (User und PW unkenntlich machen)!
        Zuletzt geändert von FloB; 26.12.2005, 23:03.
        Spielerei
        Dokus: SelfHTML, CSS4you, PHP.net
        Validatoren: Validome xHTML / XML Validator, W3C CSS Validator, FeedValidator (RSS, ATOM)

        Kommentar


        • #5
          Hallo!

          Bei mir kommt die Meldung, dass ich kein Kennwort eingegeben hab, wobei ich es doch getan hab.


          Gruß

          Patrick

          Kommentar


          • #6
            Moin

            Dann zeig mal deinen login.html und verify.php Code.
            mfg happy

            +phpbb_arr WARNUNG: ANFÄNGER!

            Kommentar


            • #7
              verify:

              <?php
              session_start();
              include('var.inc.php');
              if ((!isset($username)) OR (!isset($passwort)))
              {
              die ("Bitte geben Sie Benutzernamen und Kennwort ein");
              }
              $conn = @ mysql_connect($dbserver,$bduser,$dbpass);
              if (!$conn)
              {
              die ("Verbindungsversuch zum Server fehlgeschlagen!");
              }
              mysql_select_db($dbname,$conn);
              $query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";
              $result = mysql_query($query,$conn);
              $zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
              mysql_close($conn);
              if (!$zeileholen)
              {
              die ("Dieser Benutzer ist nicht verhanden");
              }
              if ($zeileholen["pass"] <> $passwort)
              {
              die ("Sie haben ein falsches Kennwort eingegeben. Bitte versuchen Sie es erneut.");
              }
              $level = $zeileholen["level"];
              session_register('username');
              session_register('level');
              header ("Location:admin.php");
              ?>

              login:

              <html>
              <head>
              <title>Anmeldung</title>
              </head>
              <body>
              <form action="verify.php" method="post">
              <center><h2>Bitte melden Sie sich an</h2>
              <br>
              <br>
              <br>
              Benutzername : <br>
              <input type="text" name="username" size="20" maxlength="20"><br>
              Kennwort : <br>
              <input type="password" name="passwort" size="20" maxlength="20"><br>
              <input type="submit" name="absenden" value="einloggen">
              </form>
              </center>
              </body>
              </html>


              Gruß

              Patrick

              Kommentar


              • #8
                Moin

                Sorry, aber welche Meldung kommt dann?
                Wenn es "Bitte geben Sie Benutzernamen und Kennwort ein" ist kann ich mir das grad nich erklären.

                Wenn es
                "Dieser Benutzer ist nicht verhanden" oder
                "Sie haben ein falsches Kennwort eingegeben. Bitte versuchen Sie es erneut" ist überprüf mal deine MySQL Datenbank und die Eintragungen.

                Ich kann dir auch über ICQ helfen wenn du magst. Schreib mir einfach ein PM mit deiner Nummer.
                mfg happy

                +phpbb_arr WARNUNG: ANFÄNGER!

                Kommentar


                • #9
                  Moin

                  Ich hab das ganze nun nochmal nach der Vorlage durchgespielt. Einen kleinen Fehler hab ich gefunden (und unten behoben). Auserdem hab ich ein paar Erklärungen dazu geschrieben. Wäre schön wenn ein Mod Zeit hat das oben zu editieren.
                  Danke.


                  [[Änderungen oben eingetragen, aus Platzgründen hier gelöscht.]]
                  Zuletzt geändert von FloB; 18.10.2005, 14:08.
                  mfg happy

                  +phpbb_arr WARNUNG: ANFÄNGER!

                  Kommentar


                  • #10
                    Danke für deine Mühe, ich werde mich mal nachher drum kümmern!

                    Edit: Erledigt ^^. Aus Platzgründen habe ich deinen Beitrag mal verkürzt.
                    Zuletzt geändert von FloB; 18.10.2005, 14:06.
                    Spielerei
                    Dokus: SelfHTML, CSS4you, PHP.net
                    Validatoren: Validome xHTML / XML Validator, W3C CSS Validator, FeedValidator (RSS, ATOM)

                    Kommentar


                    • #11
                      so, dass obrige script hab ich fertig und jetzt würd ich es gerne so machen, dass eine seite nur von member angezeit wird, eine von nur member2 und der admin darf alles sehen, wie geht den das. ich keine ahnung von php.

                      hab ein bisschen rumprobiert, aber irgendwie hats net geklappt. ich denke mal es muss eine $level abfrage rein.
                      MfG Wiesel

                      Kommentar


                      • #12
                        Du hast die richtige Idee mit der Level-Abfrage. Die Variable für das Level lautet $_SESSION['level'].
                        Damit baust du jetzt eine kleine if-Abfrage (wenn du überhaupt keine Ahnugn von PHP hast,
                        dann solltest du es erstmal etwas lernen) und fertig ist die Level-gesteuerte Ausgabe...

                        fg Max
                        Mein Blog: Just Curious

                        Kommentar


                        • #13
                          Zitat von t-3k
                          wenn du überhaupt keine Ahnugn von PHP hast,
                          dann solltest du es erstmal etwas lernen

                          fg Max
                          ich weiß, aber wie lautet es? learning by doing

                          wenn ich halt kein ziel hab, weiß ich auch net was ich lernen soll. Danke für die info, werde es mal probieren

                          Edit:
                          hab mal was probiert und für mich gings, weiß aber net, obs wirklich richitg ist
                          <?php
                          if ($_SESSION['level']=='admin')
                          {
                          echo "ok";}
                          else
                          {
                          echo "no";}
                          ?>
                          Zuletzt geändert von Wiesel; 03.11.2005, 16:51.
                          MfG Wiesel

                          Kommentar


                          • #14
                            Learning by doing ist zwar richtig, aber nicht bei allen Leveln einer Sprache anwendbar, die Syntax und evtl auch das Typsystem muss man einfach erstmal lernen, um dann den Rest per Learning by Doing zu lernen.
                            Solche Sachen wie "Wie ändere ich den Programmfluss" dürfen imo in der Phase "Learning by Doing" keine Frage mehr sein, die man sich nicht selber irgendwie beantwortet, sei es per /dev/brain oder /mnt/manual.

                            MfG
                            Tell a looser how to make fire and show it to him once and he'll be warm for a night. Set a looser in fire and he'll be warm for the rest of his life.

                            Kommentar


                            • #15
                              ALL-INKL.COM - Webhosting Server Hosting Domain Provider
                              AW: [Rohgerüst | PHP + MySQL] Loginscript

                              ich hab mal eine frage: wie kann ich die Datenbank "füttern"?? ich benutze phpMyAdmin. ich hoste bei www.novatrend.ch !! vieleicht weiss jemand ie das geht??

                              liebe grüsse

                              Kommentar

                              homepage-forum.de - Hilfe für Webmaster! Statistiken

                              Einklappen

                              Themen: 56.567   Beiträge: 427.842   Mitglieder: 28.152   Aktive Mitglieder: 50
                              Willkommen an unser neuestes Mitglied, torty40.

                              Online-Benutzer

                              Einklappen

                              555 Benutzer sind jetzt online. Registrierte Benutzer: 6, Gäste: 549.

                              Mit 2.561 Benutzern waren am 13.01.2020 um 20:19 die meisten Benutzer gleichzeitig online.

                              Die neuesten Themen

                              Einklappen

                              Die neuesten Beiträge

                              Einklappen

                              Lädt...
                              X