Login plötzlich nicht mehr möglich

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

  • Login plötzlich nicht mehr möglich

    Hallo,

    hab mich die ganze Zeit über fehlerfrei mit folgendem script einloggen können.

    PHP-Code:
    <?php
     session_start 
    (); 
     require (
    "inc/connect.php");

    $sql "SELECT "
        
    "Id, Nickname, Nachname, Vorname "
      
    "FROM "
        
    "benutzerdaten "
      
    "WHERE "
        
    "(Nickname like '".$_REQUEST["name"]."') AND "
        
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"
    $result mysql_query ($sql); 

    if (
    mysql_num_rows ($result) > 0

       
      
    $data mysql_fetch_array ($result); 

     
      
    $_SESSION["user_id"] = $data["Id"]; 
      
    $_SESSION["user_nickname"] = $data["Nickname"]; 
      
    $_SESSION["user_nachname"] = $data["Nachname"]; 
      
    $_SESSION["user_vorname"] = $data["Vorname"]; 

      
    header ("Location: intern.php"); } 
    else 

      
    header ("Location: einloggfehler.php");
    }  
    ?>
    Seitdem ich die Tabelle angepasst habe und Vor-und Nachnamen sowohl aus der Tabelle als auch hier im script genommen habe, bekomme ich immerzu folgende Fehlermeldung:

    PHP-Code:
    Warningmysql_num_rows(): supplied argument is not a valid
     MySQL result resource in login
    .php on line 17 
    Würde mich über Hilfe freuen.
    Zuletzt geändert von asp2php; 01.10.2004, 21:38.

  • #2
    Re: Login plötzlich nicht mehr möglich

    wende mysql_error an, um die fehlermeldung der DB auszuwerten.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Danke für den Tip.

      Die Fehlermeldung bleibt leider die gleiche.

      Kommentar


      • #4
        Poste doch mal den aktuellen Code, denn wenn du vor und nachname rausgenommen hast, dann wäre das ja die alte variante...
        -> It`s good to be bad! <-

        http://de.php.net
        http://php-faq.de
        http://www.schattenbaum.net
        http://www.dreamcodes.com

        Kommentar


        • #5
          Original geschrieben von yellow
          Die Fehlermeldung bleibt leider die gleiche.
          die erste fehlermeldung bleibt natürlich erhalten - weil du auf ein abfrageergebnis zuzugreifen versuchst, welches auf grund eines fehlers in deiner query aber nicht existiert.

          aber wenn du mysql_error richtig anwendest, solltest du schon davor noch eine fehlermeldung erhalten, die dir mitteilt, was der DB an deiner abfrage nicht passte.
          wenn du die nicht bekommst, dann hast du's vermutlich noch nicht richtig eingesetzt.
          wie's richtig geht - das manual hält ein beispiel bereit ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Hab das mit mysql_error nochmal ausprobiert und diesmal folgende Fehlermeldung erhalten:
            PHP-Code:
            00Resource id #4 

            Das Script sieht übrigens inzwischen so aus:
            PHP-Code:
            <?php 

             session_start 
            (); 
             require (
            "inc/connect.php");

            $sql "SELECT "
                
            "Id, Nickname "
              
            "FROM "
                
            "benutzerdaten "
              
            "WHERE "
                
            "(Nickname like '".$_REQUEST["name"]."') AND "
                
            "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"
            $result mysql_query ($sql); 

            if (
            mysql_num_rows ($result) > 0

              
              
            $data mysql_fetch_array ($result); 

              
            $_SESSION["user_id"] = $data["Id"]; 
              
            $_SESSION["user_nickname"] = $data["Nickname"]; 
              
              
            header ("Location: intern.php"); 



            else 

            header ("Location: einloggfehler.php");

            }  
              
            ?>

            Kommentar


            • #7
              Original geschrieben von yellow
              Das Script sieht übrigens inzwischen so aus: [...]
              entweder willst du uns für doof verkaufen - oder bist es selber.

              in diesem script ist immer noch kein verdammtes mysql_error() drin.

              von mir gibt's jedenfalls jetzt erst mal keine weitere hilfe, da alles nötige gesagt wurde - erst dann, wenn du hier mit der fehlermeldung der DB wieder erscheinst, können wir das weiter diskutieren.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                wenn es dich glücklich macht zeige ich dir halt wie das script mit mysql_error(); aussieht. hatte ich übrigens lediglich wegen der besseren lesbarkeit weggelassen im posting. hoffe mal du wirst diesmal nicht auch wieder beleidigend!

                PHP-Code:
                <?php
                 session_start 
                (); 
                 require (
                "inc/connect.php");

                $sql "SELECT "
                    
                "Id, Nickname "
                  
                "FROM "
                    
                "benutzerdaten "
                  
                "WHERE "
                    
                "(Nickname like '".$_REQUEST["name"]."') AND "
                    
                "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"
                echo 
                mysql_error();
                $result mysql_query ($sql); 
                echo 
                mysql_error();
                if (
                mysql_num_rows ($result) > 0

                   
                  
                $data mysql_fetch_array ($result); 

                 
                  
                $_SESSION["user_id"] = $data["Id"]; 
                  
                $_SESSION["user_nickname"] = $data["Nickname"]; 


                  
                header ("Location: intern.php"); } 
                else 

                  
                header ("Location: einloggfehler.php");
                }  
                ?>
                eine fehlermeldung bekomme ich nicht mehr, seitdem der provider gestern abend den server vom netz genommen hat um ein paar arbeiten am webauftritt vor zu nehmen.
                im augenblick sieht es so aus das immerzu nur die else- bedingung durchlaufen wird in meinem script. die variable $result wird aus welchem grund auch immer nicht gefüllt??!

                Kommentar


                • #9
                  wenn du keine Fehlermeldung bekommst, dann mach unmittelbar unter der Zeile $sql = ... folgende Zeile rein:
                  PHP-Code:
                   echo $sql
                  schau dir die Ausgabe deiner Abfrage an und kommst vielleicht dahinter, was schief gelaufen ist

                  Kommentar


                  • #10
                    hab das script so abgeändert das $result .... in einer zeile steht
                    PHP-Code:
                    <?php 
                    session_start 
                    (); 
                    require (
                    "inc/connect.php"); 

                    $result mysql_query("SELECT Id, Nickname FROM benutzerdaten 
                    WHERE (Nickname = '"
                    .$_REQUEST['name']."') AND (Kennwort = 
                    '"
                    .md5 ($_REQUEST['pwd'])."')"); 
                    //$result = mysql_query("SELECT id, nickname FROM benutzer 
                    WHERE (nickname '".$_REQUEST['name']."') AND (passwort 
                    '".md5 ($_REQUEST['pwd'])."')"); 
                    echo 
                    $result;
                    if(mysql_num_rows(
                    $result) > 0) 

                      
                    $data = mysql_fetch_array ($result); 

                      
                    $_SESSION["user_id"] = $data["Id"]
                      
                    $_SESSION["user_nickname"] = $data["Nickname"]
                    echo mysql_error();
                      header ("
                    Locationintern.php"); } 
                    else 

                      header ("
                    Locationeinloggfehler.php"); 
                    }  
                     
                    ?>
                    und bekomme die Fehlermeldung:
                    Resource id #4
                    Warning: Cannot modify header information - headers already sent by (output started at /login.php:6) in /login.php on line 17
                    EDIT:
                    linebreak sponsored by asp2php. Bitte demnächst selbst dafür sorgen.
                    Zuletzt geändert von asp2php; 01.10.2004, 21:38.

                    Kommentar


                    • #11
                      und bekomme die Fehlermeldung: Resource id #4


                      versuch doch mal, die query auszugeben ...
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        Original geschrieben von yellow
                        hab das script so abgeändert das $result .... in einer zeile steht
                        was soll das? Du willst dein Problem los werden, warum machst du NIE das, worum man dich gebeten hat. Wie soll man dir denn helfen, wenn du immer eigenständig was ändert?
                        und bekomme die Fehlermeldung:
                        Resource id #4
                        Warning: Cannot modify header information - headers already sent by (output started at /login.php:6) in /login.php on line 17
                        dieser Fehler entsteht nur in Zusammenhang mit deinem echo.

                        Kommentar


                        • #13
                          sorry, wollte dich nicht verärgern. werde jetzt also brav warten bis ich mit deiner hilfe das problem behoben habe.

                          also, hier wieder der ursprüngliche zustand:
                          PHP-Code:
                          <?php
                           session_start 
                          (); 
                           require (
                          "inc/connect.php");

                          $sql "SELECT "
                              
                          "Id, Nickname "
                            
                          "FROM "
                              
                          "benutzerdaten "
                            
                          "WHERE "
                              
                          "(Nickname like '".$_REQUEST["name"]."') AND "
                              
                          "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"
                          echo 
                          mysql_error();
                          $result mysql_query ($sql); 
                          echo 
                          mysql_error();
                          if (
                          mysql_num_rows ($result) > 0

                             
                            
                          $data mysql_fetch_array ($result); 

                           
                            
                          $_SESSION["user_id"] = $data["Id"]; 
                            
                          $_SESSION["user_nickname"] = $data["Nickname"]; 


                            
                          header ("Location: intern.php"); } 
                          else 

                            
                          header ("Location: einloggfehler.php");
                          }  
                          ?>
                          bei dem folgende fehlermeldung angezeigt wurde:

                          SELECT Id, Nickname FROM benutzerdaten WHERE (Nickname like 'karl') AND (Kennwort = 'c420f6efccb409e1a287be027501a74c')
                          Warning: Cannot modify header information - headers already sent by (output started at /login.php:12) in /login.php on line 29

                          Kommentar


                          • #14
                            anstelle des ersten echo mysql_error(); befehls stand bei der fehlererzeugung echo $sql;

                            Kommentar


                            • #15
                              Hallo yellow,

                              hier will dich bestimmt keiner beleidigen oder verärgern, dennoch kannst du auch gleich sagen das es aus z.B. diesem Tutorial stammt:

                              http://www.tutorials.de/tutorials9684.html

                              dennoch wäre man bereit Dir zu helfen wenn du Dir mal ein bisl was selber angeeignet bzw. gesucht hättest...

                              Ich stand auch mal so da und verzweifel an manchen Sachen, aber du musst bedenken das man gerade was sowas angeht ein bisl Grundverständniss und Grundkenntnisse vorraussetzen kann und sollte.

                              asp ist nen ganz netter ! kann ich bezeugen, genau wie wahsaga oder happi, nur verstehen musst du auch das wir alle nicht arbeit übernehmen können und wollen...

                              http://www.schattenbaum.net/php/

                              wäre evtl. noch was für dich...

                              Oder du machst evtl. nen Session basierenden Login auf "PEAR" oder "ADODB" Basis wozu es auch zahlreiche Tutorials gibt.
                              Bei diesen beiden wäre evtl. auch für dich die Fehlersuche einfach, wenn du nur "debug = true;" setzen musst...

                              Ich schau mir morgen mal den code in Ruhe an !

                              Guts Nächtl
                              Und nicht verzweifeln !
                              -> It`s good to be bad! <-

                              http://de.php.net
                              http://php-faq.de
                              http://www.schattenbaum.net
                              http://www.dreamcodes.com

                              Kommentar

                              Lädt...
                              X