Seite 1 von 2

Automatisches löschen nicht aktivierter Zugänge

Verfasst: 25.09.2006 17:28
von Ecronika
Guten Tag.

Ich nutze in meinem Forum die Aktivierung per Email (Aktivierungs-Adresse) und möchte diese insofern erweitern, daß Zugänge, die nicht innerhalb von z.B. 24 Stunden aktiviert werden automatisch wieder gelöscht werden.

Habe ich eine entsprechende Funktion übersehen oder gibt es einen geeigneten MOD hierfür?

Gruß, Ecronika (Tobias Paul)

Verfasst: 25.09.2006 18:30
von Miriam
Baue das in deiner index.php ein....

Code: Alles auswählen

$sql="delete FROM " . USERS_TABLE . " WHERE user_active=0 AND user_id > 2 AND ((" . time()-intval(user_regdate) . ") > 86400)";
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not delete inactive users', '', __LINE__, __FILE__, $sql);
}
Müsste so passen.... :grin:

Verfasst: 25.09.2006 22:14
von Ecronika
Could not delete inactive users

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '0) > 86400)' at line 1

0) > 86400)

Line : 54
File : index.php

Verfasst: 25.09.2006 22:26
von Miriam
Na gut, dann ändern wir das etwas....

Code: Alles auswählen

$akt_zeit = time();
$sql="delete FROM " . USERS_TABLE . " WHERE user_active=0 AND user_id > 2 AND ((" . $akt_zeit-intval(user_regdate) . ") > 86400)";
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not delete inactive users', '', __LINE__, __FILE__, $sql);
}
Geht's?

Verfasst: 26.09.2006 22:04
von Ecronika
Erzeugt den selben Fehler mal abgesehn von der Zeilenzahl (nun 55)...

Verfasst: 26.09.2006 23:23
von Vatex

Code: Alles auswählen

$akt_zeit = time();
$sql="DELETE FROM " . USERS_TABLE . " WHERE user_active=0 AND user_id > 2 AND user_regdate < " . ($akt_zeit - 86400);
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not delete inactive users', '', __LINE__, __FILE__, $sql);
}

Verfasst: 27.09.2006 11:21
von kleiner Drache
Hi ich hätte ne ähnliche Frage wie Ecronika.
Und zwar, gibt es etwas das Benutzer automatisch löscht, wenn sie z.b. ein halbes jahr nicht mehr angemeldet waren.

Verfasst: 27.09.2006 11:23
von Valerie Raghnall
Hi,

also automatik kann ich dir nicht sagen, aber such mal den DB-Maintainance Mod... der kann das und noch viel mehr auf Knopfdruck.

Verfasst: 27.09.2006 11:27
von kleiner Drache
Danke auf knopfdruck reicht mir auch :grin:

Verfasst: 27.09.2006 17:12
von Ecronika
Vatex hat geschrieben:

Code: Alles auswählen

$akt_zeit = time();
$sql="DELETE FROM " . USERS_TABLE . " WHERE user_active=0 AND user_id > 2 AND user_regdate < " . ($akt_zeit - 86400);
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not delete inactive users', '', __LINE__, __FILE__, $sql);
}
Das hat funktioniert - Danke.