Ankündigung

Einklappen
Keine Ankündigung bisher.

Login Seite Verbessern

Einklappen

Neue Werbung 2019

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

  • Login Seite Verbessern

    So ich hab mal eine Login Seite nach einem Tutorial gemacht.
    Da ist aber noch kein Mysql dabei, um zu testen ob es den user überhaupt gibt. Das möchte ich aber. Außerdem wäre eine Registrierungsseite sehr gut.

    Ich poste mal den quellcode:

    login.php:
    PHP-Code:
    <?php
         
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
          
    session_start();

          
    $username $_POST['username'];
          
    $passwort $_POST['passwort'];

          
    $hostname $_SERVER['HTTP_HOST'];
          
    $path dirname($_SERVER['PHP_SELF']);

          
    // Benutzername und Passwort werden überprüft
          
    if ($username == 'benjamin' && $passwort == 'geheim') {
           
    $_SESSION['angemeldet'] = true;

           
    // Weiterleitung zur geschützten Startseite
           
    if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
            if (
    php_sapi_name() == 'cgi') {
             
    header('Status: 303 See Other');
             }
            else {
             
    header('HTTP/1.1 303 See Other');
             }
            }

           
    header('Location: http://'.$hostname.($path == '/' '' $path).'/index.php');
           exit;
           }
          }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
     <head>
      <title>Geschützter Bereich</title>
     </head>
     <body>
      <form action="login.php" method="post">
       Username: <input type="text" name="username" /><br />
       Passwort: <input type="password" name="passwort" /><br />
       <input type="submit" value="Anmelden" />
      </form>
     </body>
    </html>
    logout.php:
    PHP-Code:
    <?php
         session_start
    ();
         
    session_destroy();

         
    $hostname $_SERVER['HTTP_HOST'];
         
    $path dirname($_SERVER['PHP_SELF']);

         
    header('Location: http://'.$hostname.($path == '/' '' $path).'/login.php');
    ?>
    auth.php:
    PHP-Code:
    <?php
         session_start
    ();

         
    $hostname $_SERVER['HTTP_HOST'];
         
    $path dirname($_SERVER['PHP_SELF']);

         if (!isset(
    $_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
          
    header('Location: http://'.$hostname.($path == '/' '' $path).'/login.php');
          exit;
          }
    ?>
    index.php:
    PHP-Code:
    <?php include('auth.php'); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
     <head>
      <title>Geschützter Bereich</title>
     </head>
     <body>
      <h1>Herzlichen Glückwunsch!</h1>
      <p>Sie sind nun angemeldet.</p>
      <p>Sie können sich auch wieder <a href="logout.php">abmelden</a>.</p>
     </body>
    </html>


    Ich hab mir gedacht, dass ich eine config.php mache, wo die Verbindungsdaten zur datenbank reinkommen sollen.
    Dann die Tabelle:
    Code:
    CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,
      UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL
      default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default
      '', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )
    Jetzt meine Fragen:

    Wie muss ich den Punkt bei "// Benutzername und Passwort werden überprüft" verändern, damit sich alle user in der datenbank einloggen können?
    Und wie muss die config.php aussehen?

    Ich kenne mich zwar mit mysql aus, aber nicht zusammen mit php...
    Wäre nett, wenn jemand ein bisschen Zeit inwestieren würde und mir helfen könnte.
    Bitte bitte bitte! XD

    Phille


  • #2
    zuerst die verlinkung auf verschiedene tut's zum thema:
    #php/QuakeNet Tutorial - MySQL / Mit PHP aus MySQL lesen allgemein mysql+php
    PHP-Einfach.de - Tutorial - Loginscript mit MySQL und Sessions loginscript mysql+php


    falls du keine lust auf tut's hast, schau dir im handbuch kurz die verwendung von mysql_query(), mysql_fetch_array() an. und für den verbindungsaufbau: mysql_connect(), mysql_select_db().
    PHP-Code:
    $result mysql_query(SQL_STATEMENT);
    $array mysql_fetch_array($result);
    //$array['spaltenname'] entspricht dem spaltenname aus der tabelle/aus dem sql_statement 
    bei dem if dann die konstante durch den arrayinhalt ersetzen, der username entfällt auf die suche nach dem pw.
    Karteikasten
    "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

    Kommentar

    Lädt...
    X