Ankündigung

Einklappen
Keine Ankündigung bisher.

wie speichere ich eine ip beim login?

Einklappen

Neue Werbung 2019

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

  • wie speichere ich eine ip beim login?

    hallo forum. freue mich hier zu sein und hoffe auf eine nette gemeinschaft hier

    folgende frage. wie kann ich bei einem login die ip und den usernamen eines users speichern??

    es sollte eine extra datei angelegt werden, aus der jeder login mit ip und username hervorgeht.

    folgender code ist für das login:

    PHP-Code:
    <?php
    <?php
    if($login){
    require(
    'config/config.php');
    $db mysql_connect($dbhost$dbuser$dbpass) or die(mysql_error());
    mysql_select_db($dbname,$db) or die(mysql_error());
    $daten=mysql_query("select * from mt_user where user='$user'");
    if(
    mysql_num_rows($daten)>0){
    $uname=mysql_result($daten,0,"user");
    $free=mysql_result($daten,0,"free");
    $sperre=mysql_result($daten,0,"sperre");
    $upass=mysql_result($daten,0,"pwd");
    $sponsor=mysql_result($daten,0,"sponsor");
    }
    if(
    $user==""){
    $update="<center>Bitte einen Benutzername eingeben.</center>";
    }else{
    if(
    $pwd==""){
    $update="<center>Bitte ein Passwort eingeben.</center>";
    }else{
    if(
    $user!="$uname"){
    $update="<center>Benutzername wurde nicht gefunden.</center>";
    }else{
    if(
    $pwd!="$upass"){
    $update="<center>Passwort falsch.</center>";
    }else{
    if(
    $sperre==1){
    if(
    $free==1){
    if(
    $upass==$pwd){
    $ltime=time();
    mt_srand((double)microtime()*1000000);
    $randval mt_rand();
    $sessionid=md5($randval);
    $expire time() + 60*15;
    mysql_query("update mt_user set session='$sessionid',expire='$expire' where user='$user'");
    $lastaction time();
    mysql_query("UPDATE mt_user SET lastaction = '$lastaction' WHERE user = '$user'");
    if(
    $sponsor==0){
    header ("Location: ./members/loginbereich.php?sessionid=$sessionid");
    die;
    }else{
    header ("Location: ./sponsoren/loginbereich.php?sessionid=$sessionid");
    die;
    }
    }else{
    $update="Falscher Benutzername oder Passwort.";
    }}else{
    $update="Account ist noch nicht Freigeschaltet. In der Mail die Sie nach der Anmeldung bekommen haben, befindet sich ein Link, um den Account freizuschalten.";
    }}else{
    $update="Account wurde vom Admin gesperrt.";
    }}}}}}
    ?>
    <?php 
    include("header.php"); ?> 
        <html> 
        <head> 
        <title>Login</title> 
        </head> 
        <body> 
        <form method="POST" action="login.php">
        
     
        <p align="center">[b]<font color="#003399" size="3" face="Verdana">Member Login</font><font size="2" face="Verdana">
     
          
     
          
     
          <?php echo"$update"?></font>[/b]</p> 
        <div align="center"> 
          <center> 
            <table style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="3"> 
              <tr> 
                <td width="100"><div align="right"><font size="2" face="Verdana">Benutzername: </font></div></td> 
                <td width="100"><input class="inputfeld2" name="user" maxlenght="20" size="20"></td> 
              </tr> 
              <tr> 
                <td width="100"><div align="right"><font size="2" face="Verdana">Passwort: </font></div></td> 
                <td width="100"><input class="inputfeld2" type="password" name="pwd" maxlenght="20" size="20"> </td> 
              </tr> 
              <tr> 
                <td colspan="2"> <p align="center">
     
                    <input type="submit" class="inputfeld2" value="Login" name="login"> </td> 
              </tr> 
            </table> 
          </center> 
        </div> 
        
     
        <p align="center">[url="passwort.php"]Benutzerdaten vergessen?[/url]</p> 
        <p align="center">[url="aktivlink.php"]Aktivierungslink erneut zuschicken[/url]</p> 
        
     
    </body>
    </html>
    <? include("footer.php"); ?>


    ?>
    hoffe es weiß jemand rat. bin in sachen php noch anfänger aber lerne ständig was neues.

    hoffe ihr könnt mir dabei helfen.

    gruß anna

  • #2
    Die IP des User bekommst du mit folgender Variable :

    PHP-Code:
    <?php
     $ip 
    $_SERVER['REMOTE_ADDR'];
    ?>
    Diese legste dann entweder in einer Session-Var oder in der DB ab...
    http://www.fun2stay.de

    Kommentar


    • #3
      hab mir den quellcode noch nicht angeschaut, aber was meinst du mit:
      "wie kann ich bei einem login die ip und den usernamen eines users speichern?? " ??

      Der Username muss ja in der Datenbank vorhanden sein, ansonsten würde der login ja nicht funktionieren..?!
      http://forum.developers-guide.net

      Klick dich REICH:
      http://www.klick-reich.de/index2.php...lden&ref=Niedi

      Kommentar


      • #4
        der username ist vorhanden.da hast recht.

        hab vergessen zu schreiben, das der username und die ip nochmal extra gespeichert werden sollen. undzwar für jesdes login.

        zum schluß möcht ich ne zb. textdatei oder so in der jeder login eines users mit namen und ip vorhanden ist.


        Zitat von Niedi
        hab mir den quellcode noch nicht angeschaut, aber was meinst du mit:
        "wie kann ich bei einem login die ip und den usernamen eines users speichern?? " ??

        Der Username muss ja in der Datenbank vorhanden sein, ansonsten würde der login ja nicht funktionieren..?!

        Kommentar


        • #5
          session-var klingt wie ein fremdwort für mich habe nicht so die ahnung von diesen "fremdwörtern"

          gebe mir große mühe.

          habe im ersten thread noch etwas wichtiges hinzugefügt.

          sollte dieser code an eine bestimmte stelle eingefügt werden oder ist das relativ?



          Zitat von d-jango
          Die IP des User bekommst du mit folgender Variable :

          PHP-Code:
          <?php
           $ip 
          $_SERVER['REMOTE_ADDR'];
          ?>
          Diese legste dann entweder in einer Session-Var oder in der DB ab...

          Kommentar


          • #6
            nach kurzer Analyse des Codes würde ich sagen, dass du die Tabelle "mt_user" um das ein Feld "user_ip" und speicherst das ganze darin. Diese Aktualisierst du dann bei jedem neuen Login!
            http://www.fun2stay.de

            Kommentar


            • #7
              PHP-Code:
              <?php
              $ip 
              $_SERVER['REMOTE_ADDR']; 
               
              $sql2 "insert into logg (id,datum,user,ip,password,erfolg,uhrzeit,bereich)
                       values
                       ('','"
              .$date."','".$user."','".$ip.
                       
              "','".$passw.
                       
              "','".$erfolg.
                       
              "','".$uhr."','Tippspiel')";
                     
              $res mysql_db_query($database$sql2);
              ?>
              so sieht das beispielsweise bei mir aus...

              denke das müsstes du schaffen abzuändern, oder?

              Kommentar


              • #8
                ich geh mal davon aus das bei der variante die ip bei jedem login aktualisiert wird??

                genau das möcht ich aber nciht. für mich soll nachvollziehbar sein, wer sich mit welcher ip geloggt hat.

                Zitat von havok
                PHP-Code:
                <?php
                $ip 
                $_SERVER['REMOTE_ADDR']; 
                 
                $sql2 "insert into logg (id,datum,user,ip,password,erfolg,uhrzeit,bereich)
                         values
                         ('','"
                .$date."','".$user."','".$ip.
                         
                "','".$passw.
                         
                "','".$erfolg.
                         
                "','".$uhr."','Tippspiel')";
                       
                $res mysql_db_query($database$sql2);
                ?>
                so sieht das beispielsweise bei mir aus...

                denke das müsstes du schaffen abzuändern, oder?

                Kommentar


                • #9
                  ok... durch deinen neuen Satz wird mir einiges klarer

                  PHP-Code:
                  <?php
                  //Dein Code
                  $expire time() + 60*15;
                  mysql_query("update mt_user set session='$sessionid',expire='$expire' where user='$user'");
                  $lastaction time();
                  mysql_query("UPDATE mt_user SET lastaction = '$lastaction' WHERE user = '$user'"); 

                  //Neuer Code
                  $user_name $uname;
                  $user_ip $_SERVER['REMOTE_ADDR'];


                  //ACHTUNG: hier fehlt jegliche Fehlerbehandlung
                  // Zieldatei öffnen
                  $fp fopen("logs/login_history.log""a+");
                  //Neuen String mit User-Name und IP in die Datei schreiben
                  fwrite($fp,"".$user_name.";".$user_ip."\r\n");
                  // Datei schließen
                  fclose($fp);


                  ?>
                  http://www.fun2stay.de

                  Kommentar


                  • #10
                    ein insert befehl erzeugt einen neuen Datensatz....
                    lediglich ein update befehl würde das aktualisieren.
                    Du bekommst eine fortlaufende Liste wer sich wann mit welcher IP eingeloggt hat.

                    ok?

                    create table logg(
                    id int(10) not null auto_increment primary key,
                    datum date,
                    uhrzeit varchar(10),
                    user varchar(250),
                    ip varchar(20),
                    password varchar(200),
                    erfolg int(1)
                    bereich varchar(25));

                    Kommentar


                    • #11
                      stimmt. jetzt wo du es sagst.

                      ich werde das jetzt mal probieren umzusetzen. lieben dank dir für die verständliche erklärung

                      Lg anna

                      Zitat von havok
                      ein insert befehl erzeugt einen neuen Datensatz....
                      lediglich ein update befehl würde das aktualisieren.
                      Du bekommst eine fortlaufende Liste wer sich wann mit welcher IP eingeloggt hat.

                      ok?

                      create table logg(
                      id int(10) not null auto_increment primary key,
                      datum date,
                      uhrzeit varchar(10),
                      user varchar(250),
                      ip varchar(20),
                      password varchar(200),
                      erfolg int(1)
                      bereich varchar(25));

                      Kommentar


                      • #12
                        hmm.. glaube ich stehe etwas auf dem schlauch. hab es mal versucht so einzubinden:
                        PHP-Code:
                        <?php
                        $user_name 
                        $uname;
                        $user_ip $_SERVER['REMOTE_ADDR']; 
                        $fp fopen("logs/login_history.log""a+");
                        fwrite($fp,"".$user_name.";".$user_ip."\r\n");
                        close($fp);
                        ?>
                        hab dazu auch den ordner logs mit dem inhalt login_history.log erstellt


                        aber ich geh mal davon aus(da es nicht funktioniert) das ich es vollkommen falsch gemacht habe




                        Zitat von d-jango
                        ok... durch deinen neuen Satz wird mir einiges klarer

                        PHP-Code:
                        <?php
                        //Dein Code
                        $expire time() + 60*15;
                        mysql_query("update mt_user set session='$sessionid',expire='$expire' where user='$user'");
                        $lastaction time();
                        mysql_query("UPDATE mt_user SET lastaction = '$lastaction' WHERE user = '$user'"); 

                        //Neuer Code
                        $user_name $uname;
                        $user_ip $_SERVER['REMOTE_ADDR'];


                        //ACHTUNG: hier fehlt jegliche Fehlerbehandlung
                        // Zieldatei öffnen
                        $fp fopen("logs/login_history.log""a+");
                        //Neuen String mit User-Name und IP in die Datei schreiben
                        fwrite($fp,"".$user_name.";".$user_ip."\r\n");
                        // Datei schließen
                        fclose($fp);


                        ?>

                        Kommentar


                        • #13
                          hier auch hmm...

                          frage, wofür steht bei dir 'tippspiel'??
                          mir reicht das speichern von datum,ip,username,zeit.

                          aber leider schaffe ich es auch hier nicht es so abzuändern damits klappt.
                          bin wohl doch etwas zu unerfahren für solche sachen.

                          vielleicht kannst du mir noch einen kleinen tipp geben.

                          lieben dank dir für das was du schon geschrieben hast.

                          Lg anna


                          Zitat von havok
                          PHP-Code:
                          <?php
                          $ip 
                          $_SERVER['REMOTE_ADDR']; 
                           
                          $sql2 "insert into logg (id,datum,user,ip,password,erfolg,uhrzeit,bereich)
                                   values
                                   ('','"
                          .$date."','".$user."','".$ip.
                                   
                          "','".$passw.
                                   
                          "','".$erfolg.
                                   
                          "','".$uhr."','Tippspiel')";
                                 
                          $res mysql_db_query($database$sql2);
                          ?>
                          so sieht das beispielsweise bei mir aus...

                          denke das müsstes du schaffen abzuändern, oder?

                          Kommentar


                          • #14
                            create table logg(
                            id int(10) not null auto_increment primary key,
                            datum date,
                            uhrzeit varchar(10),
                            user varchar(250),
                            ip varchar(20));

                            PHP-Code:
                            <?php

                             $date 
                            date("Y-m-d");
                                    
                            $ip $_SERVER['REMOTE_ADDR'];
                                    
                            $uhr date("H:i:s");
                                   
                            $user= ---> hier musst du dir halt den User aus deinem Formular holen 
                                   z
                            .B$user=$_POST['user']

                            $sql2 "insert into logg (id,datum,user,ip,uhrzeit) 
                                     values 
                                     ('','"
                            .$date."','".$user."','".$ip"','".$uhr."')"
                                   
                            $res mysql_db_query($database$sql2); 



                            ?>
                            Gruß
                            HaVoK

                            Kommentar


                            • #15
                              wo genau muß der code plaziert werden??

                              wird dieser dazwischen geschrieben oder einzeln in <?php .. ?> gesetzt??


                              was genau bedeutet $_POST['user']?


                              ich merk schon, das ist komplizierter als ich dachte. jedenfalls für mich.

                              Kommentar

                              Lädt...
                              X