Problem mit PHP Login

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

  • Problem mit PHP Login

    Hallo,
    ich habe euer Tutorial zum "Php Login" mal ausprobiert ( http://www.php-resource.de/tutorials/read/38/1/ ).
    aber auf der Login.php seite wird dieser fehler angezeigt:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/chaoslions/Login/sessionhelpers.inc.php on line 47.
    Zeile 47:
    PHP-Code:
    return ( mysql_num_rows($result)==1); 
    bitte um hilfe.
    Danke.

  • #2
    ändere mal die zeile darüber
    PHP-Code:
     $resultmysql_query($sql); 
    in
    PHP-Code:
     $resultmysql_query($sql) or die(mysql_error()); 
    wahrscheinlich hast du keinen connect zu DB bekommen.

    http://www.php-resource.de/tutorials/read/38/6/

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Danke hat mir sehr geholfen, doch jetzt bin ich beim nächsten problem und weiß nicht was ich tun soll:
      Unknown column 'UserSession' in 'where clause'

      Kommentar


      • #4
        hast du auch die tabellen 1:1 übernommen. case-sensitive versteht sich.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          ähm,... wie meinst du das (bin doofer anfänger)

          Kommentar


          • #6
            Ob du die Tabelle auch 1:1, d.h. original so, benutzt und auch Groß- und Kleinschreibung beachtet hast.
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              kann mir denn hier keiner helfen??

              Kommentar


              • #8
                lol das "kann mir denn hier keiner helfen kam zuspät .
                Ja ich denke schon.

                Kommentar


                • #9
                  Ich poste mal mein Login.php und mein sessionhelpers.inc.php hier rein:
                  Login.php:
                  PHP-Code:
                  <?
                  session_start();
                  include 'sessionhelpers.inc.php';
                  if (isset($_POST['users']))
                  {
                  $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>       
                  <tr>      
                  <td>Username:</td>      
                  <td><input name="username" type="text"></td>      
                  </tr>      
                  <tr>      
                  <td>Passwort:</td>      
                  <td><input name="userpass" type="password" id="userpass"></td>      
                  </tr>      
                  <tr>      
                  <td><input name="login" type="submit" id="login" value="Einloggen">
                  </td>      
                  </tr>  
                  </table>  
                  </form>';  
                   else       
                  echo '<a href="logout.php">Ausloggen</a>';
                  echo '<p /><a href="logged_in.php">Check</a>';
                  ?>
                  sessionhelpers.inc.php:
                  PHP-Code:
                  <?   function connect()
                  {
                  $con= mysql_connect('localhost','chaoslions','Passwort') or
                  die(mysql_error());
                  mysql_select_db('chaoslions',$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);   
                  }     
                  function logged_in()   
                  {
                  $sql="SELECT UserID       
                  FROM users       
                  WHERE UserSession='".session_id()."'      
                   LIMIT 1";  
                   $result= mysql_query($sql) or die(mysql_error());
                  return ( mysql_num_rows($result)==1);  
                  }
                  function logout()   
                  {       
                  $sql="UPDATE users
                  SET UserSession=NULL      
                   WHERE UserSession='".session_id()."'";       
                   mysql_query($sql);   
                  }     
                  connect();   
                  ?>
                  Zuletzt geändert von chaoslion; 25.04.2005, 19:43.

                  Kommentar


                  • #10
                    sorry das alles neben einander ist

                    Kommentar


                    • #11
                      waaaaahh!!!!

                      wie wärs mit code umbrechen???

                      EDIT:
                      da hilft auch ein sorry nichts. keiner wird dein code ankucken wenn du ihn nicht umbrichst!!!

                      Kommentar


                      • #12
                        bin ja schon dabei!!

                        Kommentar


                        • #13
                          Ok hab sie umbrochen.

                          Kommentar


                          • #14
                            hilft mir jetzt jemand??

                            Kommentar


                            • #15
                              Da du hier innerhalb von 6 Minuten 3x posten zu müssen meinst, hab ich keinen Bock dir zu helfen....
                              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                              var_dump(), print_r(), debug_backtrace und echo.
                              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                              Kommentar

                              Lädt...
                              X