Dieser Benutzer existiert nicht!

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

  • Dieser Benutzer existiert nicht!

    Hi leute! Ich schon wieder!

    Habe jetzt alle Anweisungen meines letzten Threats befolgt und das LogIn in die Index, vor der ersten HTMLausgabe verschoben!
    Dies war aich gleich Anlass genug, den ganzen logIn überprüfungscode neu zu schreiben, was ich schon 4x getan hab.

    Jedoch komme ich irgendiwe nicht über die Funktion "Check if User is @DB" hinaus und es folgt immer ein Fehler!

    Webpage: hier
    EDIT: zum testen: test / test

    Das ganze ist so aufgebaut: Ein HTML-Form sendet User, PW UND "logg" an die Index.

    Bekommt die Index den Wert lgg=true, soll die Prüfungsprozedur ablaufen. Ist Logg nicht gleich "true" überspringt er die Prüfung und liest die Sessionvariablen aus. Daraus sollte sich dann ergeben ob ein User verfügbar ist oder eben (siehe ganz unten im Code) $seas = "Anonymus".


    PHP-Code:
    <?php 
    include('config.php');
    include(
    'security/lng/lng_german.php');

    // POST Variablen globalisieren
    $username $HTTP_POST_VARS['entered_login'];
    $password $HTTP_POST_VARS['entered_password'];
    $entered_values $HTTP_GET_VARS['logg'];
    $bye $HTTP_GET_VARS['logout'];

    if(
    $bye == "true") {
    include(
    'security/logout.php');
    }

    if (
    $entered_values == "true" || $useDatabase == "true") {
        
    // Verbinden mit DB
        
    if ( empty($cfgServerPort) ) {
            
    mysql_connect($cfgServerHost$cfgServerUser$cfgServerPassword)
            or die(
    $strNoConnection);
        } else {
            
    mysql_connect($cfgServerHost ":" $cfgServerPort$cfgServerUser$cfgServerPassword)
            or die(
    $strNoConnection);
        }
        
    $userQuery mysql($cfgDbDatabase"SELECT * FROM $cfgDbTableUsers WHERE $cfgDbLoginfield = '$login'")
            or die(
    $strNoDatabase);

            if (
    $username == $userArray[$cfgDbLoginfield] || $password == stripslashes($userArray["$cfgDbPasswordfield"])) {
                
    // User & PW richtig -> WEITER
                
    session_start();
                
    $HTTP_SESSION_VARS['login'] = $login;
                
    $HTTP_SESSION_VARS['password'] = $password;
            } else {
            if (
    $username != $userArray[$cfgDbLoginfield]) {
                
    // Angegebener User nicht in DB
                
    $message $strUserNotExist;
    //            include($cfgProgDir . "logout.php");
    //            include($cfgProgDir . "interface1.php");
    //            exit;

                
    } else {

                if (
    stripslashes($userArray["$cfgDbPasswordfield"]) != $password) {
                    
    // Password FALSCH
                    
    $message $strPwFalse;
    //                include($cfgProgDir . "logout.php");
    //                include($cfgProgDir . "interface1.php");
    //                exit;
                    
    }
                }
            }

    }
    if (
    $username "") {
    $seas "Anonymus";
    } else {
    $seas $username;
    }
    ?>
    Danke schonmal vorab an die PHP-profis!
    Zuletzt geändert von nichtsooft; 28.04.2006, 10:20.
    WHILE (!$asleep) { $sheep++; }

  • #2
    Müsst mich täuschen - aber meiner Meinung nach ist es von Haus aus völliger Nonsens beim action-Attribut eines forms Parameter per GET übergeben zu wollen wenn das Form als Method Post benutzt.

    Verwende also lieber einen HiddenInput um logg=true usw. zu übergeben und greif im Script dann mit den POST-Array drauf zu.

    Und weil wir schon dabei sind -> verwende besser $_POST anstelle von $HTTP_POST_VARS.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Original geschrieben von Quetschi
      ...Verwende also lieber einen HiddenInput um logg=true usw. zu übergeben und greif im Script dann mit den POST-Array drauf zu.

      Und weil wir schon dabei sind -> verwende besser $_POST anstelle von $HTTP_POST_VARS.
      Done! Soll ich den Code Wieder Posten?

      Edit:Fehler jetzt:

      Bekomme keine FehlerMeldungen mehr, weil das Überprüfungsscript anscheinend nicht abläuft!
      Zuletzt geändert von nichtsooft; 28.04.2006, 10:42.
      WHILE (!$asleep) { $sheep++; }

      Kommentar


      • #4
        Original geschrieben von nichtsooft
        Done! [/B]
        Und wieso steht dann in deinem Quelltext noch immer
        PHP-Code:
        <form action='index.php?display=home&adition=login&logg=true' METHOD="post" 
        und weit und breit kein HiddenInput?
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Original geschrieben von Quetschi
          Und wieso steht dann in deinem Quelltext noch immer
          PHP-Code:
          <form action='index.php?display=home&adition=login&logg=true' METHOD="post" 
          und weit und breit kein HiddenInput?
          *löl* Weil ich nicht damit gerechnet hab, dass du schneller als mein FTP-upload bist! *w00t*
          WHILE (!$asleep) { $sheep++; }

          Kommentar


          • #6
            Wieso postest du dann erst dass der Fehler immer noch der gleiche wäre, wenn du es selbst noch gar nicht testen konntest?
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Nich steinigen pls!

              Hab's ja auch zeitgleich mit deinem Post editiert!

              Also um auf aktuellen Stand zu kommen:

              Index:
              PHP-Code:
              <?php 
              include('config.php');
              include(
              'security/lng/lng_german.php');

              // POST Variablen globalisieren
              $username $POST_VARS['entered_login'];
              $password $POST_VARS['entered_password'];
              $logg $POST_VARS['logg'];
              $bye $GET_VARS['logout'];

              if(
              $bye == "true") {
              include(
              'security/logout.php');
              }
              Überprüfungscode ist der selbe (siehe oben).

              FORM-Daten könnt ihr ja wie Quetschi aus dem Quellcode ersehen.
              WHILE (!$asleep) { $sheep++; }

              Kommentar


              • #8


                Steinigen? Vierteilen sollte man dich

                1. Das Array heißt '$_POST' und nicht '$POST_VARS' - gleiches gilt für GET
                2. versuchst du im action-Attribut immer noch den einen oder anderen Parameter per GET zu übergeben
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  Ok! Hab ich geändert! (sorry, kannte das nur mit $HTML_GET )

                  Das andere Atribut das ich per URL übergebe ist lediglich die LogOut-Funktion. die will ich ohne Form von überall aus ausführen können, darum ist sie in der URL drinne und nicht in nem input!

                  Lg. Berny

                  Edit: Um nciht zu vergessen was der aktuelle Fehler ist...:

                  -> Dieser Benutzer existiert nicht!

                  Ich glaub ich erhänge mich bald!
                  Zuletzt geändert von nichtsooft; 28.04.2006, 11:25.
                  WHILE (!$asleep) { $sheep++; }

                  Kommentar


                  • #10
                    Original geschrieben von nichtsooft
                    Ok! Hab ich geändert! (sorry, kannte das nur mit $HTML_GET )
                    $HTML_GET? Wo hast du das her?

                    Poste mal den aktuellen kompletten Code.
                    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                    Schön - etwas Geschichte kann ja nicht schaden.
                    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                    Kommentar


                    • #11
                      "$HTTP_POST_VARS['variable']" ? Kannte das wie gesagt nur so! Woher? kA Hab immer so damit gearbeitet und es hat auch bislang keine troubles gegeben!

                      Der code:
                      PHP-Code:
                      <?php 
                      include('config.php');
                      include(
                      'security/lng/lng_german.php');

                      // POST Variablen globalisieren
                      $username $_POST['entered_login'];
                      $password $_POST['entered_password'];
                      $logg $_POST['logg'];
                      $bye $_GET['logout'];

                      if(
                      $bye == "true") {
                      include(
                      'security/logout.php');
                      }

                      if (
                      $logg == "true" || $useDatabase == "true") {
                          
                      // Verbinden mit DB
                          
                      if ( empty($cfgServerPort) ) {
                              
                      mysql_connect($cfgServerHost$cfgServerUser$cfgServerPassword)
                              or die(
                      $strNoConnection);
                          } else {
                              
                      mysql_connect($cfgServerHost ":" $cfgServerPort$cfgServerUser$cfgServerPassword)
                              or die(
                      $strNoConnection);
                          }
                          
                      $userQuery mysql($cfgDbDatabase"SELECT * FROM $cfgDbTableUsers WHERE $cfgDbLoginfield = '$login'")
                              or die(
                      $strNoDatabase);

                              if (
                      $username == $userArray[$cfgDbLoginfield] || $password == stripslashes($userArray["$cfgDbPasswordfield"])) {
                                  
                      // User & PW richtig -> WEITER
                                  
                      session_start();
                                  
                      $HTTP_SESSION_VARS['login'] = $login;
                                  
                      $HTTP_SESSION_VARS['password'] = $password;
                              } else {
                              if (
                      $username != $userArray[$cfgDbLoginfield]) {
                                  
                      // Angegebener User nicht in DB
                                  
                      $message $strUserNotExist;
                      //            include($cfgProgDir . "logout.php");
                      //            include($cfgProgDir . "interface1.php");
                      //            exit;

                                  
                      } else {

                                  if (
                      stripslashes($userArray["$cfgDbPasswordfield"]) != $password) {
                                      
                      // Password FALSCH
                                      
                      $message $strPwFalse;
                      //                include($cfgProgDir . "logout.php");
                      //                include($cfgProgDir . "interface1.php");
                      //                exit;
                                      
                      }
                                  }
                              }

                      }




                      $seas $HTTP_SESSION_VARS['login'];
                      ?>

                      <html>
                      <head> ..........
                      Lg. Und danke das du deine Zeit für mich opferst Quetschi!
                      WHILE (!$asleep) { $sheep++; }

                      Kommentar


                      • #12
                        Stichwort 'Debugging'

                        mach testausgaben - prüf nach ob deine if-Abfragen wie erwartet abgearbeitet werden usw. - du musst lernen dir bei solchen Problemen selbst zu helfen.

                        wo kommt z.B. $userArray her? schonmal vor der If-Abfrage var_dump($userArray); gemacht um zu sehen was überhaupt in $userArray steht usw.?
                        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                        Schön - etwas Geschichte kann ja nicht schaden.
                        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                        Kommentar


                        • #13
                          ich experimentiere die ganze Zeit damit rum, diverse Variablen anzuzeigen; Eben zu Debuggen!

                          PHP-Code:
                          $userArray mysql_fetch_array($userQuery); 
                          muss mir irgendwo "abhanden gekommen sein" als ich die Funktion neu geschrieben hab!

                          Jedenfalls ist $userArray = bool(false).
                          WHILE (!$asleep) { $sheep++; }

                          Kommentar


                          • #14
                            Also weißt jetzt was zu machen ist!
                            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                            Schön - etwas Geschichte kann ja nicht schaden.
                            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                            Kommentar


                            • #15
                              Got it working... (glaub ich)!

                              Ich voltr*** hab die ganze Zeit || mit && verwechselt! Klar dass das Funktion dann abgearbeitet wird!

                              PLS me!
                              WHILE (!$asleep) { $sheep++; }

                              Kommentar

                              Lädt...
                              X