Probleme mit login/memberbereich -Tutorial

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

  • Probleme mit login/memberbereich -Tutorial

    hallo...
    hab versucht das login-script zum laufen zu bringen. leider bekomme ich nicht die richtigen meldungen. bei nicht ausgefüllten eingabefeldern müsste folgende meldung kommen: "Bitte tragen Sie Ihr Namen bzw.Passwort ein!" .es kommt aber "Der Name ist nicht gültig!". vielleicht es jemand schon installiert und kann mir helfen.
    hier noch mal der code von verify.php:
    <?php
    session_start();
    include("var.inc.php");
    if((!isset($username)) OR (!isset($passwort)))
    {
    die("Bitte tragen Sie Ihr Namen bzw.Passwort ein!");
    }
    $conn=@mysql_connect($dbsever,$dbuser,$dbpass);
    if(!$conn)
    {
    die("Verbindung zur Datenbank ist fehlgeschlagen");
    }
    mysql_select_db($dbname,$conn);
    $query="SELECT pass,level FROM zugriff WHERE name='username.'";
    $result=mysql_query($query,$conn);
    $result=mysql_query("SELECT pass,level FROM zugriff WHERE name='username'",$conn);
    $zeileholen=mysql_fetch_array($result,MYSQL_ASOC);
    mysql_close($conn);
    if(!$zeileholen)
    {
    die("Der Name ist nicht gültig!");
    }
    if(!$zeileholen["pass"]<>$passwort)
    {
    die("Das Passwort ist nicht gültig!");
    }
    $level=$zeileholen["level"];
    session_register('username');
    session_register('level');
    header("Location:admin.php");
    ?>
    Danke im voraus.
    MfG Ralf

  • #2
    $zeileholen=mysql_fetch_array($result,MYSQL_ASSOC);

    Kommentar


    • #3
      danke für deine antwort.
      funktioniert aber auch nicht. was kann ich noch machen?
      mfg ralf

      Kommentar


      • #4
        Code:
        ...
        $conn=@mysql_connect($dbsever,$dbuser,$dbpass); 
        if(!$conn) { 
           die("Verbindung zur Datenbank ist fehlgeschlagen"); 
        } 
        $seldb = mysql_select_db($dbname,$conn);
        if(!$seldb) {
           die("Datenbankauswahl ist fehlgeschlagen"); 
        } 
        
        $query="SELECT pass,level FROM zugriff WHERE name='username.'";  [b]// kann man sicher entfernen [/b]
        $result=mysql_query($query,$conn); [b]// kann man sicher entfernen [/b]
        $result=mysql_query("SELECT pass,level FROM zugriff WHERE name='username'",$conn); [b] // müßte hier nicht
        // '$username' stehen, oder wird fix auf 'username' abgefrag?[/b]
        $zeileholen=mysql_fetch_array($result,MYSQL_ASSOC); 
        ...

        Kommentar


        • #5
          hab alles geändert, geht aber noch nicht. müsste ich nicht bei nicht ausgefüllten eingabefeldern, als erstes die meldung "Bitte tragen Sie Ihr Namen bzw.Passwort ein!" bekommen?

          Kommentar


          • #6
            $conn=@mysql_connect($dbsever,$dbuser,$dbpass);
            der schreibfehler bei $dbserver ist schon geändert. ist auch nicht der grund. müßte doch eigentlich ganz einfach sein.

            Kommentar


            • #7
              Probiers mit
              if((!isset($username)) AND (!isset($passwort)))

              Kommentar


              • #8
                so sieht das script jetzt aus:
                <?php
                session_start();
                include("var.inc.php");
                if((!isset($username)) AND (!isset($passwort)))
                {
                die("Bitte tragen Sie Ihr Namen bzw.Passwort ein!");
                }
                $conn=@mysql_connect($dbserver,$dbuser,$dbpass);
                if(!$conn)
                {
                die("Verbindung zur Datenbank ist fehlgeschlagen");
                }
                mysql_select_db($dbname,$conn);
                $result=mysql_query("SELECT pass,level FROM zugriff WHERE name='username'",$conn);
                $zeileholen=mysql_fetch_array($result,MYSQL_ASSOC);
                mysql_close($conn);
                if(!$zeileholen)
                {
                die("Der Name ist nicht gültig!");
                }
                if(!$zeileholen["pass"]<>$passwort)
                {
                die("Das Passwort ist nicht gültig!");
                }
                $level=$zeileholen["level"];
                session_register('username');
                session_register('level');
                header("Location:admin.php");
                ?>

                geht aber immer noch nicht.
                so sieht der orignal code aus:

                <?php
                session_start();
                include('var.inc.php');
                if((!isset($username)) OR (!isset($passwort)))
                {
                die("Bitte tragen Sie Ihr Namen bzw.Passwort ein!");
                }
                $conn=@mysql_connect($dbserver,$dbuser,$dbpass);
                if(!$conn)
                {
                die("Verbindung zur Datenbank ist fehlgeschlagen");
                }
                mysql_select_db($dbname,$conn);
                $query="SELECT pass,level FROM zugriff WHERE name='username.'";
                $result=mysql_query($query,$conn);
                $result=mysql_query("SELECT pass,level FROM zugriff WHERE name='username'",$conn);
                $zeileholen=mysql_fetch_array($result,MYSQL_ASOC);
                mysql_close($conn);
                if(!$zeileholen)
                {
                die("Der Name ist nicht gültig!");
                }
                if(!$zeileholen["pass"]<>$passwort)
                {
                die("Das Passwort ist nicht gültig!");
                }
                $level=$zeileholen["level"];
                session_register('username');
                session_register('level');
                header("Location:admin.php");
                ?>

                Der orignal code ist unter
                http://www.php-resource.de/tutorials...bereich_p1.php zu finden und auch die anderen dateien.

                Danke für deine Hilfe. Weiß nicht mehr was ich ändern kann bzw. muss damit er läuft.

                mfg Ralf

                Kommentar


                • #9
                  Das mit dem OR hat schon gepasst, wollte nur sehen, ob sich was ändert.

                  Code:
                  <?php 
                  session_start(); 
                  include("var.inc.php"); 
                  if((!isset($username)) OR (!isset($passwort))) { 
                  	die("Bitte tragen Sie Ihr Namen bzw.Passwort ein!"); 
                  } 
                  
                  $conn=@mysql_connect($dbserver,$dbuser,$dbpass); 
                  if(!$conn) { 
                  	die("Verbindung zur Datenbank ist fehlgeschlagen"); 
                  } 
                  
                  mysql_select_db($dbname,$conn); 
                  
                  $result=mysql_query("SELECT pass,level FROM zugriff WHERE name='username'",$conn); 
                  $zeileholen=mysql_fetch_array($result,MYSQL_ASSOC); 
                  
                  mysql_close($conn); 
                  if(!$zeileholen) { 
                  	die("Der Name ist nicht gültig!"); 
                  } 
                  [b]if($zeileholen["pass"]<>$passwort) {[/b] // Da war ein ! zuviel 
                  	die("Das Passwort ist nicht gültig!"); 
                  } 
                  
                  $level=$zeileholen["level"]; 
                  session_register('username'); 
                  session_register('level'); 
                  header("Location:admin.php"); 
                  ?>

                  Kommentar


                  • #10
                    Bei mir funzt es auch nicht richtig!

                    Ich hab auch das Tuturoial gelesen und mir gleich selbst was programmiert:

                    <?

                    session_start();

                    include("config.php");

                    if ((!isset($loginreguser)) OR (!isset($loginregpassw))) {
                    die (" Ohne Passwort bzw. Username kein Zutritt möglich ! ");
                    }


                    if (!$db) {
                    die (" Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
                    }

                    mysql_select_db($datab,$db);

                    $result = mysql_query(" SELECT reguser,regpassw FROM registertusers WHERE reguser='$loginreguser'",$db);

                    $getrow = mysql_fetch_array($result,MYSQL_ASSOC);
                    mysql_close($db);

                    if(!$getrow) {
                    echo (" Username existiert nicht! ");
                    }

                    if($getrow["regpassw"] <> $loginregpassw) {
                    die (" Passwort und Usernamen passen nicht zueinander! ");
                    }

                    session_register('reguser');

                    header("Location:administration.php");

                    ?>

                    Allerdings bekomme ich folgende Fehlermeldungen:


                    Warning: open(/tmp\sess_e60ef469cbe94201508891e773b3297d, O_RDWR) failed: m (2) in c:\phpweb/new ac community/admin/verifyusernpw.php on line 3

                    Warning: Cannot add header information - headers already sent by (output started at c:\phpweb/new ac community/admin/verifyusernpw.php:3) in c:\phpweb/new ac community/admin/verifyusernpw.php on line 33

                    Warning: open(/tmp\sess_e60ef469cbe94201508891e773b3297d, O_RDWR) failed: m (2) in Unknown on line 0

                    Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


                    WAS IST DA BITTE FALSCH ??? HEEEEEELP !!

                    ZUm Code: $loginreguser und $loginregpassw sind die Eingabe Felder in der index.php. Sie werden dann halt über das formular übergeben...

                    Kommentar


                    • #11
                      Hi!

                      Habs wie sTr33n (?) gemacht. Also vom Code her wahrscheinlich etwas anders, aber auch nach dem Lesen selbst etwas programmiert.

                      Das hat den Vorteil, dass in deinem Code nur der Kram drinsteht, den du brauchst. Und du hast das ganze Verstanden und findest deine eigenen Fehler schneller. Außerdem hat ja nicht jeder Programmer den gleichen Style.

                      Kommentar

                      Lädt...
                      X