ablauf zeit eines Accounts

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

  • ablauf zeit eines Accounts

    Hallo leute,

    wie das thema schon sagt es geht um Ablauf zeit von Accounts,

    ich möchte User Accounts erstellen die in einer Datenbank gespeichert werden und mit ein Ablauf Datum oder Zeitraum versehn und wenn dich der jenige einloggen will überprüffen ob seine Daten noch gelten .


    hat da jemand eine Ahnung ?

    gruss sascha
    Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

  • #2
    wo ist problem? bei anlegen des accounts:
    Code:
     insert into tabelle_user 
    set username='user',userablaufdatum=date_add(now(), interval 30 day)
    beim login:
    Code:
     delete from tabelle_user 
    where userablaufdatum < now()
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      hmm so sieht mein login aus ich weiß nicht recht wie ich das da einbau:


      PHP-Code:

      //Variablen aufbereiten
      $zeit     time();
      $username =$_POST['username'];
      $pwd      =$_POST['pwd'];
      $cuserid  $_COOKIE['puserid'];
      $cuserpwd $_COOKIE['puserpwd'];

      // ########### Login durchführen !
      if ($_POST['action'] =="Login" or $_COOKIE['puserid'] != "" or !isset($_SESSION['UIN'])) {
           if(
      $_POST['action'] != "Login") {
           
      $sqlbefehl"Select * from $tab_user
                        Where id='
      $cuserid' and pwd='$cuserpwd'";
               }
           else {
           
      $sqlbefehl"Select * from $tab_user where username='$username' and pwd=password('$pwd')";
               }
           
      $ergebnis  mysql_query($sqlbefehl$serverid);
           if (
      mysql_num_rows($ergebnis) == 1) {
              
      $user mysql_fetch_array ($ergebnis);
              
      srand((double)microtime()*1000000);
              
      $UIN md5(uniqid(rand()));
              
      $_SESSION['UIN'] = $UIN;
              
      $sqlbefehl"update $tab_user set uin='$UIN',logintime='$zeit' where id = $user[id]";
              @
      mysql_query($sqlbefehl$serverid);
              if (
      $_POST['savelogin'] == 1) {
                
      //Login Daten werden als Cookie gespeichert wenn erfolgreich
                
      setcookie ("puserid",  $user[id], time()+3600*24*60,"/");
                
      setcookie ("puserpwd"$user[pwd], time()+3600*24*60,"/");
              }
              unset(
      $_SESSION['s_boardright']);
            }

      }

      // Ende Login


      // ############ Login überprüfen
      $sqlbefehl"Select * from $tab_user where uin='".$_SESSION['UIN']."'
                                             And uin <> ''"
      ;
      $ergebnis  mysql_query($sqlbefehl$serverid);
      if (
      mysql_num_rows($ergebnis) != 1) {
              require (
      "../kopf.php");
              echo 
      "
                    <table border=\"0\" width=\"100%\" cellspacing=\"1\"><form action=\"
      $PHP_SELF\" method=\"post\">
                     <tr><th class=head colspan=2 bgcolor=\"
      $c_header\">Login</th></tr>
                     <tr><td class=\"left\" align=\"right\" bgcolor=\"
      $c_left\">User: </td>
                         <td class=\"right\" bgcolor=\"
      $c_right\"><input type=\"text\" name=\"username\"></td></tr>
                     <tr><td class=\"left\" align=\"right\" bgcolor=\"
      $c_left\">Passwort: </td>
                         <td class=\"right\" bgcolor=\"
      $c_right\"><input type=\"password\" name=\"pwd\"></td></tr>
                     <tr><td class=\"left\" align=\"right\" bgcolor=\"
      $c_left\">Login speichern: </td>
                         <td class=\"right\" bgcolor=\"
      $c_right\"><input type=\"checkbox\" name=\"savelogin\" value=\"1\"></td></tr>
                     <tr><td class=\"header\" align=\"center\" colspan=2 bgcolor=\"
      $c_left\"><input name=\"action\" type=\"submit\" value=\"Login\"></tr></form>
                     </table>
      $copyright";
              require (
      "../fuss.php");
              exit;
            }

      if (
      mysql_num_rows($ergebnis) == 1) {
        
      $user mysql_fetch_array ($ergebnis);
        
      $expire=$zeit+1800;
        
      $sqlbefehl"update $tab_user set expire='$expire' where id = $user[id]";
        @
      mysql_query($sqlbefehl$serverid);
        }

      ?> 
      Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

      Kommentar


      • #4
        hmm so sieht mein login aus ich weiß nicht recht wie ich das da einbau:
        sag doch einfach, dass das script nicht von dir ist
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          :-) hab ja nicht gesagt das es von mir ist .

          ist ein script von hier irgendwo aus dem script bereich gewesen.
          naja ich soll es halt umbauen bin aber nicht der php freak .


          gruss sascha
          Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

          Kommentar


          • #6
            mach vor
            $sqlbefehl= "Select * from $tab_user

            Where id='$cuserid' and pwd='$cuserpwd'"
            das delete-statement vonschmalle hin
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              PHP-Code:

                   $sqlbefehl
              "delete from $tab_user where userablaufdatum <now() 

              and Select * from 
              $tab_user where username='$username' and 

              pwd=password('
              $pwd')"


              so ?
              Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

              Kommentar


              • #8
                mysql_query('DELETE ...');
                $sqlbefehl='SELECT ...';

                so
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  lol, mach da mal 2 queries draus
                  EDIT:
                  @happy, bring mir mal dein system bei ( 5 threads auf einmal lesen, und mit 70 fingern, in drei davon auf einmal antworten )
                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    eine frage noch was mach ich mit den Accounts die bestehen bleiben sollen also wie Admin oder writer ?

                    die sollen ja immer gelten


                    so sieht meine erstellung der accounts aus :

                    PHP-Code:

                      
                    //################## Neuer Account ####################### 
                    $sqlbefehl "select * from $tab_user where username='$newusername'";  
                    $ergebnis  mysql_query($sqlbefehl$serverid);

                    if (
                    mysql_num_rows($ergebnis) == 0) { 
                      
                    $sqlbefehl  =  "Insert Into $tab_user
                                      (username,pwd,nickname,email,usernews,joined)
                                      VALUES ('
                    $newusername',password('$newpwd'),'$nickname','$email','$usertyp','$jetzt')";
                     
                      if (!
                    $ergebnis  mysql_query($sqlbefehl$serverid))
                          echo 
                    mysql_error($serverid);

                       echo 
                    "<center>Der Account wurde erstellt.<br>
                             <a href=\"admin.php\">Zurück</a></center>"
                    ;
                       require(
                    "fuss.php");
                       exit; 
                    Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                    Kommentar


                    • #11
                      m besten wäre wohl ne weitere spalte deletable die bei admin und writer auf 0 steht

                      delete from $tab_user where userablaufdatum <now() AND deletable=1

                      @schmalle
                      ich könnt's dir sagen, aber dann müsste ich dich töten

                      spaß beiseite: is ganz einfach: ich schreibe zu dritt; astralprojektion im büro, astralprojektion im internetcafe, astralprojektion im büro der chefin
                      ich selbst lieg im bett
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        setzte zunächst einmal wie beschreiben das ablaufatum rein. dann gibt es zwei möglichkeiten das löschen der admins zu verhindern. entweder "ablaufdatum" = NULL oder ablaufdatum += 100 jahre
                        h.a.n.d.
                        Schmalle

                        http://impressed.by
                        http://blog.schmalenberger.it



                        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                        ... nur ohne :-)

                        Kommentar


                        • #13
                          O.K. hab mir noch die Spalte eingefügt mit deletable

                          Danke.


                          nochmal zur account erstellung


                          PHP-Code:

                            
                          userablaufdatum
                          =date_add(now(), interval 30 day


                            
                          $sqlbefehl  =  "Insert Into $tab_user
                                            (username,pwd,nickname,email,usernews,joined)

                                            VALUES ('
                          $newusername',password

                          ('
                          $newpwd'),'$nickname','$email','$usertyp','$jetzt',)";
                           



                          muss ich das so machen: ?

                          $sqlbefehl  =  "Insert Into $tab_user
                                            (username,pwd,nickname,email,usernews,joined,userablaufdatum,interval )

                          VALUES ('
                          $newusername',password

                          ('
                          $newpwd'),'$nickname','$email','$usertyp','$jetzt','date_add((nov))',30 day)"
                          Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                          Kommentar


                          • #14
                            ne so nicht. ich denke das feld heisst "deletable"??? warum schreibst du dann wieder ablaufdatum rein???
                            h.a.n.d.
                            Schmalle

                            http://impressed.by
                            http://blog.schmalenberger.it



                            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                            ... nur ohne :-)

                            Kommentar


                            • #15
                              hab alle beiden spalten angelegt einmal ablauf datum

                              und dann deletable da ich ja auch noch einen Admin und einen writer hab und die sollen nicht gelöscht werden fand lösung ganz gut oder ist es besser die zeit auf 100 Jahre zu setzten ?
                              Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                              Kommentar

                              Lädt...
                              X