Autologin (Cookies)

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

  • Autologin (Cookies)

    Hab ein Problem mit meinem Autologin, ich poste erstmal meinen Aufbau und dann das Problem.

    index.php
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ob_start();
    session_start (); 
    include(
    "conn.php");  //baut verbindung zur DB auf
    include("login1.php");
    ?>
    <html>
    <head>
    <title>Unbenanntes Dokument</title>
    ....
    login1.php
    PHP-Code:
    <?php 
    //wenn cookie gesetzt ist     
    if(isset($_COOKIE['log_username']))

        
    //$pw=$_COOKIE['log_userpwd'];
        
    $sql "SELECT Id, Nickname, Kennwort, LEVEL FROM v2_player 
    WHERE (Nickname like '"
    .$_COOKIE['log_username']."') 
        AND (Kennwort = '"
    .$_COOKIE['log_userpwd']."')" or die(mysql_error()); 
        
    $result mysql_query($sql) or die(mysql_error());

        if ( 
    mysql_num_rows($result) > )
            {
              
    // Benutzerdaten in ein Array auslesen.
              
    $data mysql_fetch_array ($result);

              
    // Sessionvariablen erstellen und registrieren
              
    $_SESSION["user_id"] = $data["Id"];
              
    $_SESSION["user_nickname"] = $data["Nickname"];
              
    $_SESSION["level"] = $data["LEVEL"]; 
            } 


    //login wurde gesendet
    if (isset($_POST['submit'])){
        if (
    $savelogin == 'ja'){
        
    setcookie('savelogin'$savelogintime()+60*60*365);
        
    setcookie('log_username'$nametime()+60*60*365);
        
    setcookie('log_userpwd'md5($pwd), time()+60*60*365);
        }
        
        
    $sql "SELECT Id, Nickname, Kennwort, LEVEL FROM v2_player 
    WHERE (Nickname like '"
    .$_REQUEST['name']."') 
        
    AND (Kennwort = '"
    .md5($_REQUEST['pwd'])."')" or die(mysql_error()); 
        
    $result mysql_query($sql) or die(mysql_error());    

        if ( 
    mysql_num_rows($result) > )
            {
              
    // Benutzerdaten in ein Array auslesen.
              
    $data mysql_fetch_array ($result);

              
    // Sessionvariablen erstellen und registrieren
              
    $_SESSION["user_id"] = $data["Id"];
              
    $_SESSION["user_nickname"] = $data["Nickname"];
              
    $_SESSION["level"] = $data["LEVEL"];

              
    //header ("Location: index.php");
            


    ?>
    Ok jetzt zu meinem Problem.
    Wenn ich mich versuche einzulogen, dann kommt folgende Fehlermeldung:
    Warning: mysql_query(): Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/htdocs/web32/html/v3/login1.php on line 8

    Warning: mysql_query(): A link to the server could not be established in /srv/www/htdocs/web32/html/v3/login1.php on line 8
    Access denied for user: 'wwwrun@localhost' (Using password: NO)

    Ich versteh nicht warum diese Fehlermeldung kommt, wenn ich die conn.php im Browser aufmache, dann verbindet er zur MySql Datenbank

    Der Autologin an sich funktioniert. Hab mal Cookies gesetzt und dann wir man autotisch eingelogt, aber wenn ich es übers Formular mache, dann kommt der Fehler.

    Kann mir einer sagen warum?
    Zuletzt geändert von DER*PATE; 14.06.2005, 16:11.
    jeder mensch macht fehler

  • #2
    http://www.php-resource.de/forum/sho...threadid=50454

    Gelesen? Dann befolgen!

    Kommentar


    • #3
      Sorry für den überflüssigen Code und den Scrollbalken.

      Da soll der wurm drin sein:
      PHP-Code:
          $sql "SELECT Id, Nickname, Kennwort, LEVEL FROM v2_player 
      WHERE (Nickname like '"
      .$_COOKIE['log_username']."') 
          AND (Kennwort = '"
      .$_COOKIE['log_userpwd']."')" or die(mysql_error()); 
          
      $result mysql_query($sql) or die(mysql_error()); 
      jeder mensch macht fehler

      Kommentar


      • #4
        ich denke der fehler liegt in der conn.php, zeig uns mal den code.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Ich glaub nicht das es daran liegt, wenn ich sie Ausführe, dann kommt kein fehler.
          PHP-Code:
          <?
          $Host = "localhost";
          $User = "user";
          $Pass = "pw";
          //global $Host, $User, $Pass;
              $db = mysql_connect($Host,$User,$Pass) 
          or die ("Verbindung mit MySQL-Server fehlgechlagen!");
              mysql_select_db("usr_web32_1",$db) 
          or die ("Verbindung zur Datenbank fehlgeschlagen!");
          ?>
          jeder mensch macht fehler

          Kommentar


          • #6
            Re: Autologin (Cookies)

            Warning: mysql_query(): Access denied for user: 'wwwrun@localhost' (Using password: NO) in /srv/www/htdocs/web32/html/v3/login1.php on line 8
            Also da muss ich Kropff recht geben. Die Fehlermeldung sagt eindeutig das die Verbindung zur Datenbank fehlschlägt. Du hast (sicherlich geänderte User- Passwortdaten) $user=user angegeben jedoch versucht das script per wwwrun (Apache UID?) die Verbindung aufzubauen also (MÖÖP Fehler)
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              $User ist etwas anderes, hab ich vor dem post geändert und $Pass ist auch nicht pw.

              Wenn ich die conn.php im Browser öffne, dann kommt keine Fehlermeldung, also klapt die Verbindung.

              Ich dachte am Anfang auch, dass es an der conn.php liegt aber hab getestet und getesten und es hat sich als Ok erwiesen.

              Ich versuche schon über 3 Tage rauszufinden warum die Fehlermeldung kommt.
              jeder mensch macht fehler

              Kommentar


              • #8
                Schreib mal in deiner conn.php ein

                PHP-Code:
                echo $db
                drunter. Führ die nochmal im Browser aus.
                Steht da nen Integer Wert ?
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Bekomme folgendes:

                  Resource id #2
                  jeder mensch macht fehler

                  Kommentar


                  • #10
                    und wenn du echo $db; jetzt noch mal genau vor der zeile machst, wo du mysql_query ausführst?

                    ich hab irgendwie den verdacht, dass du dir $db irgendwo selber wieder mit was anderem überschreibst, wodurch dann evtl. auch gleich die hergestellte verbindung ins nirwana geschossen wird ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Das kann natürlich auch noch sein.. Weil so
                      Code:
                      Resource id #2
                      sollte es aussehen.
                      gruss Chris

                      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                      Kommentar


                      • #12
                        Original geschrieben von wahsaga
                        und wenn du echo $db; jetzt noch mal genau vor der zeile machst, wo du mysql_query ausführst?
                        Hab ich gemacht und es kommt noch immer der selbe Fehler der immer kommt.

                        Hab jetzt mal die conn.php nicht mehr in die index.php includet und hab den Code einfach in die login1.php reingepostet und hab versucht mich einzulogen.
                        Es kommt keine Fehlermeldung aber richtig eingelogt werde ich auch nicht.
                        Ich hab einfach eine Seite (login1.php) ohne Inhalt.
                        jeder mensch macht fehler

                        Kommentar


                        • #13
                          Na dann fehlt dir wohl ein ob_end_flush().
                          Warum pufferst du die Seite überhaupt?

                          Kommentar


                          • #14
                            @onemorenerd
                            Brauche ich für andere Scripte (header...)

                            Ich versteh die Welt nicht mehr

                            Wenn ich jetzt versuche mich einzulogen, dann kommt die selbe Fehlermeldung nur eine andere Zeile, der fehler kommt jetzt bei der zweiten abfrage.

                            PHP-Code:
                            $result mysql_query("SELECT Id, Nickname, Kennwort, LEVEL FROM v2_player 
                            WHERE (Nickname like '"
                            .$_REQUEST['name']."') 
                            AND (Kennwort = '"
                            .md5($_REQUEST['pwd'])."')"
                            or die(
                            mysql_error()); 
                            jeder mensch macht fehler

                            Kommentar


                            • #15
                              Original geschrieben von DER*PATE
                              Brauche ich für andere Scripte (header...)
                              dafür "braucht" man output buffering nur, wenn man sein script nicht oredntlich strukturiert.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X