Logo - MyWebsolution.de
User gesamt  :  2326274
User online  :  1
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » PHP und MYSQL » "Passwort vergessen" Funktion

Seite: <  1 2 3 4 5  > Posts pro Seite: 5 10 20
Autor Thread
26.05.2007 14:22 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Danke!

Sollte eigentlich klappen. Mal sehen ob es in 24h es auch wirklich wieder zurückstellt.
Profil ansehen
31.05.2007 19:08 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
So hab das jetzt mal getestet, aber irgendwo scheint sich wieder ein Fehler in meinem Skript zu verstecken. Das heisst, es gibt zwar keine Fehlermeldung oder so etwas, aber PW_ID und Zeit werden nicht auf Null zurückgestellt, wenn die 24h vorbei sind, sondern den im anderen Skript generierten timestamp bleibt.

Hier mein Code:
PHP:
<? $sql ="SELECT
          Zeit
       FROM
          user
       WHERE
          PW_ID != NULL
      "
;
      
$result mysql_query($sql);
      
$row mysql_fetch_assoc($result);
      
$aktuelle_Zeit = ($row['Zeit'] + 86400);
      if (
$row['Zeit'] > $aktuelle_Zeit) {
      
      
$sql "UPDATE
                      user
               SET
                       PW_ID = NULL,
                    Zeit = NULL
               WHERE
                       Zeit = '"
.db_security($row['Zeit'])."'
                       
                "
;
      
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
      } 
?>
Profil ansehen
01.06.2007 11:48 Uhr
Negura
Forenposter
 
registriert 06.12.2006
wohnt in
Beiträge 57
ich hab mir dein code nicht genau angeguckt, aber das macht kein sinn oder? :oO:
PHP:
<?
if ($row['Zeit'] > $aktuelle_Zeit)
?>


vielleicht so...
PHP:
<?
if (time() > $aktuelle_Zeit)
?>


anderseits speicherst du ja scheinbar nur den normalen, nicht bearbeiteten timestamp, dann übersehe einfach mal oben stehenden code.

prüfe einfach mal ob bei
PHP:
<?
$aktuelle_Zeit 
= ($row['Zeit'] + 86400);
?>

$aktuelle_Zeit auch wirklich das richtige berechnet wird, kann sein das du es so schreiben musst.
PHP:
<?
$aktuelle_Zeit 
$row['Zeit'];
$aktuelle_Zeit += 86400;
?>



Sorry, wie gesagt, code nicht richtig angeguckt.
Gruß Negura
Profil ansehen
01.06.2007 15:28 Uhr RE:
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Zitat:
Negura
ich hab mir dein code nicht genau angeguckt, aber das macht kein sinn oder? :oO:
PHP:
<?
if ($row['Zeit'] > $aktuelle_Zeit)
?>


vielleicht so...
PHP:
<?
if (time() > $aktuelle_Zeit)
?>



Hab jetzt das mit $aktuelle_Zeit geändert, ändert aber immernoch nichts...
Den Code von mir ist schon logisch den in $row['Zeit'] steht der timestamp drin, bei dem der User ein neues Passwort angefordert hat. Mit der if Abfrage prüfts ja dann ob der grösser ist als den nach 24h und wenn ja, dann sollte es ja auf Null zurückstellen.

Was könnt es sonst noch sein?
Profil ansehen
01.06.2007 19:41 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Hey, ich finde du gehst da eh zu kompliziert ran, ein einfaches update reicht doch:

PHP:
<?php
    $sql 
"UPDATE
                user
            SET
                PW_ID = NULL,
                Zeit = NULL
            WHERE
                Zeit + "
.(60*60*24)." < ".time()."
           "
;
      
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
?>


Dadurch wird jede PW_ID auf NULL gesetzt, die vor mehr als einem Tag (60*60*24 Sekunden) erstellt wurde.


Profil ansehen Mail senden
Seite: <  1 2 3 4 5  > no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik