passwortschutz mrhappiness

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

  • passwortschutz mrhappiness

    hallo zusammen

    Für mein Script habe ich das Loginscript von mrhappiness genommen.
    Ich habe das Problem, dass ich immer den Fehler bekomme "Ihre Anmeldedaten waren nicht korrekt".

    Hier mal die login.php und ein auszug der config.php:

    PHP-Code:
    <?
    //config.php:

    function connect()
    {
        $con= mysql_connect(localhost,web524,xxx) or die(mysql_error());
         mysql_select_db('usr_web524_1',$con) or die(mysql_error());
    }

    function check_user($name, $pass)
    {
        $sql="SELECT UserId
        FROM users
        WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
        LIMIT 1";
        $result= mysql_query($sql) or die(mysql_error());
        if ( mysql_num_rows($result)==1)
        {
            $user=mysql_fetch_assoc($result);
            return $user['UserId'];
        }
        else
            return false;
    }

    function login($userid)
    {
        $sql="UPDATE users
        SET UserSession='".session_id()."'
        WHERE UserId=".$userid;
         mysql_query($sql);
    }
    ?>
    <?
    //login.php:


    session_start();
    include ("config.php");
    if (isset($_POST['login']))
    {
        $userid=check_user($UserName, $UserPass);
        if ($UserID!=false)
            login($UserID);
        else
            echo 'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!logged_in())
        echo '<form method="post" action="login.php">
         <table border=0 cellpadding=0 cellspacing=0>
          <tr>
           <td>
            <label>Benutzername:</label>
           </td>
           <td>
            <input name="UserName" id="UserName" type="text">
           </td>
          </tr>
          <tr>
           <td>
            <label>Passwort: </label>
           </td>
           <td>
            <input name="UserPass" type="password" id="UserPass">
           </td>
          </tr>
         </table>
            <input name="login" type="submit" id="login" value="Einloggen">
        </form>';
    else
        echo "du bist eingeloggt, $username...<b><a href=\"logged_in.php\">hier</a></b> geht´s weiter !<br>";


    ?>
    http://team-uge.ckras.com/clan_cms/login.php

    Account 1:
    User: test
    Pass: test

    Account 2:
    User: e
    Pass: e
    damit könnt ihr es ausprobieren

    ich habe das gefühl das ich alles richtig gemacht habe, trozdem gehts net.
    Ich hoffe ihr könnt mir helfen

    mfg
    Zuletzt geändert von g0n; 06.03.2004, 15:10.

  • #2
    check_user($UserName, $UserPass);
    schon mal dran gedacht, dass den UN und das UP auch per Post übergibst?
    änder das mal ab.
    Dann fehlen noch die Klammern in der if-Anweisung...
    Zuletzt geändert von Damian1984; 06.03.2004, 18:41.
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      ok, hab ich alles gemacht, sieht jetzt so aus und geht trotzdem nicht:

      PHP-Code:

      <?
      session_start();
      include ("config.php");
      if (isset($_POST['login']))
      {
          $userid=check_user($_POST['UserName'], $_POST['UserPass']);
          if ($UserID!=false)
          {
              login($UserID);
          }
          else
              echo 'Ihre Anmeldedaten waren nicht korrekt!';
      }
      if (!logged_in())
       {
          echo '<form method="post" action="login.php">
           <table border=0 cellpadding=0 cellspacing=0>
            <tr>
             <td>
              <label>Benutzername:</label>
             </td>
             <td>
              <input name="UserName" id="UserName" type="text">
             </td>
            </tr>
            <tr>
             <td>
              <label>Passwort: </label>
             </td>
             <td>
              <input name="UserPass" type="password" id="UserPass">
             </td>
            </tr>
           </table>
              <input name="login" type="submit" id="login" value="Einloggen">
          </form>';
          }
      else
         {
          echo "du bist eingeloggt, $username...<b><a href=\"logged_in.php\">hier</a></b> geht´s weiter !<br>";
         }



      ?>

      Kommentar


      • #4
        kenne das script nicht, aber wenn es sich bei

        $userid=check_user($_POST['UserName'], $_POST['UserPass']);
        if ($UserID!=false)

        um ein und die selbe variable handeln soll, dann sollte auch ein und die selbe schreibweise verwendet werden - variablennamen sind case sensitive in PHP.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Mh geht immer noch nicht. Ich Poste jetzt vorsichtshalber nochmal die ganze login.php und config.php:

          PHP-Code:
          <?
          //login.php:

          session_start();
          include ("config.php");
          if (isset($_POST['login']))
          {
              $UserID=check_user($_POST['UserName'], $_POST['UserPass']);
              if ($UserID!=false)
              {
                  login($UserID);
              }
              else
              {
                  echo 'Ihre Anmeldedaten waren nicht korrekt!';
              }
          }
          if (!logged_in())
           {
              echo '<form method="post" action="login.php">
               <table border=0 cellpadding=0 cellspacing=0>
                <tr>
                 <td>
                  <label>Benutzername:</label>
                 </td>
                 <td>
                  <input name="UserName" id="UserName" type="text">
                 </td>
                </tr>
                <tr>
                 <td>
                  <label>Passwort: </label>
                 </td>
                 <td>
                  <input name="UserPass" type="password" id="UserPass">
                 </td>
                </tr>
               </table>
                  <input name="login" type="submit" id="login" value="Einloggen">
              </form>';
              }
          else
             {
              echo "du bist eingeloggt, $username...<b><a href=\"logged_in.php\">hier</a></b> geht´s weiter !<br>";
             }
          PHP-Code:
          <? 
          //config.php:

          function connect()
          {
              $con= mysql_connect(localhost,web524,xxx) or die(mysql_error());
               mysql_select_db('usr_web524_1',$con) or die(mysql_error());
          }

          function check_user($UserName, $UserPass)
          {
              $sql="SELECT UserID
              FROM users
              WHERE UserName='".$UserName."' AND UserPass=MD5('".$UserPass."')
              LIMIT 1";
              $result= mysql_query($sql) or die(mysql_error());
              if ( mysql_num_rows($result)==1)
              {
                  $user=mysql_fetch_assoc($result);
                  return $user['UserId'];
              }
              else
                  return false;
          }

          function login($UserID)
          {
              $sql="UPDATE users
              SET UserSession='".session_id()."'
              WHERE UserID=".$UserID;
               mysql_query($sql);
          }

          function logged_in()
          {
              $sql="SELECT UserId
              FROM users
              WHERE UserSession='".session_id()."'
              LIMIT 1";
              $result= mysql_query($sql);
                return ( mysql_num_rows($result)==1);
          }

          function logout()
          {
              $sql="UPDATE users
              SET UserSession=NULL
              WHERE UserSession='".session_id()."'";
               mysql_query($sql);
          }

          connect();

          Kommentar


          • #6
            kann mir denn keiner helfen ?

            Kommentar


            • #7
              also wenn dein link noch stimmt gibt es ja erstmal eine mysql fehlermeldung;

              was hat du schon alles zum debugen gemacht?
              setze mal in deine funktionen ein

              echo $sql;

              um den abfragestring auszugeben bzw. diesen dann in phpmyadmin zutesten.
              eventuell auch mal in den code kontrollstrukturen eingeben ala
              echo "funktion xy wurde aufgerufen";

              und wenn du dann nicht weiterkommst, dann poste bitte nochmals deinen modifizierten code und ein dump deiner datenbank. hört sich viel an, aber damit habe ich die meisten meiner scripte zum laufen gebracht.

              viel erfolg

              Kommentar

              Lädt...
              X