Author Topic: [Mod] User can delete his own account / User kann seinen Account löschen  (Read 39852 times)

0 Members and 1 Guest are viewing this topic.

Offline ivan

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.279
    • View Profile
    • Bilder Gallery
hallo zusammen,
bei mir funktioniert das script einwandfrei. doch ich habe es ein bisschen umprogrammiert und die
restlichen texte in die main.php geschrieben. wie kann ich folgendes ändern:

-in der member_deleteaccount nochmals ein zweites mal das passwort abgefragt/eingegeben werden

sobald ich auf löschen drücke, muss in der deleteaccount nochmals das passwort eingegeben werden
so quasi als bestätigung!! (gestern hat sich ein user versehentlich gelöscht)

-momenten wird bei der fehlermeldung eine tabelle angezeigt, wie kann ich die löschen oder unterdrücken??
siehe bild > foto member_deleteaccount



member.php

Code: [Select]
//-----------------------------------------------------
//--- Delete Account ----------------------------------
//-----------------------------------------------------
if ($action == "deleteaccount"){
  $passwort=$HTTP_POST_VARS[passwort];
  $progress=$HTTP_POST_VARS[progress];
  $user_id=$user_info['user_id'];
  $user_name=$user_info['user_name'];
  if ($progress == 1){
    if(md5($passwort) == $user_info['user_password']){
      // Group Sachen
      $sql = "DELETE FROM ".GROUP_MATCH_TABLE."
              WHERE user_id = $user_id";
      $site_db->query($sql);
      $sql = "SELECT group_id
              FROM ".GROUPS_TABLE."
              WHERE group_name = '$user_name' AND group_type = ".GROUPTYPE_SINGLE;
      if ($groups_row = $site_db->query_firstrow($sql)) {
        $sql = "DELETE FROM ".GROUPS_TABLE."
                WHERE group_id = ".$groups_row['group_id']." AND group_type = ".GROUPTYPE_SINGLE;
        $site_db->query($sql);

        $sql = "DELETE FROM ".GROUP_ACCESS_TABLE."
                WHERE group_id = ".$groups_row['group_id'];
        $site_db->query($sql);
      }
      //Lightbox
      $sql = "DELETE FROM ".LIGHTBOXES_TABLE."
              WHERE user_id = $user_id";
      $site_db->query($sql);
      //Update Images
      $sql = "UPDATE ".IMAGES_TABLE."
              SET user_id = ".GUEST."
              WHERE user_id = $user_id";
      $site_db->query($sql);
      //Update Comments
      $sql = "UPDATE ".COMMENTS_TABLE."
              SET user_id = ".GUEST.", user_name = '$user_name'
              WHERE user_id = $user_id";
      $site_db->query($sql);
      //Delete User
      $sql = "DELETE FROM ".USERS_TABLE."
              WHERE user_id = ".$user_id."";
      if($site_db->query($sql)) {
        $msg = "<b>".$user_name.$lang['account_name'].$user_id.$lang['account_id']."</b>";
        $site_sess->logout($user_info['user_id']);
        header("Refresh: 10; url=".$site_sess->url($url, "&"));
    }else{
      $msg= $lang['account_passwort_error_admin'];



      }
    }else{
      $msg= $lang['account_passwort_error'];
    }
    $content = $site_template->parse_template("member_deleteaccount");
    }else{
    $content = $site_template->parse_template("member_deleteaccount");
  }
}

member_editprofil.html

Code: [Select]
<form method="post" action="{url_member}" enctype="multipart/form-data" onsubmit="submit.disabled=true;">
  <table width="100%" border="0" cellspacing="0" cellpadding="1">
    <tr>
      <td valign="top" class="head1"><table width="100%" border="0" cellpadding="4" cellspacing="0">
          <tr>
            <td colspan="2" valign="top" class="head1"><strong>{lang_account_titel}</strong></td>
          </tr>
          <tr>
            <td colspan="2" valign="top">{lang_account_text}</td>
          </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td width="50%" class="row1">{lang_account_password}</td>
            <td width="50%" class="row1"><input type="password" name="passwort" class="input" size="30"></td>
          </tr>
      </table></td>
    </tr>
  </table>
  <input type="hidden" name="action" value="deleteaccount">
  <input type="hidden" name="progress" value="1">
  <p align="center">
  <input type="submit" value="{lang_account_yes}" class="button" / style="background-color:white; border-width:1px; border-color:rgb(204,204,204); border-style:solid;">
  <input type="reset" value="{lang_account_no}" class="button" / style="background-color:white; border-width:1px; border-color:rgb(204,204,204); border-style:solid;" onClick="window.open('{url_home}', '_top');">
  </p>
</form>


member_deleteaccount

Code: [Select]
{msg}

danke für die hilfe
gruss ivan
greetings / grüsse
ivan

Facebook Fan Page | Follow Twitter

Blog: Reisen Blog
Bilder Gallery: Bilder Gallery

Offline IWS_steffen

  • Full Member
  • ***
  • Posts: 128
    • View Profile
    • Kreuzfahrtschiffe gestern und heute
Hallo,


das Skript läuft bei mir auch soweit stabil. Super....

Die Idee mit der Bestätigung finde ich auch gut, um ein versehendliches Löschen auszuschließen.

Gruß Steffen

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Werden denn jetzt mittlerweile alle Daten gelöscht (User Bild, PMS etc.) ??? Oder verschwindet nur der User???

Coll wäre auch noch wenn man im ACP einstellen kann ob Bilder und Komentare mit gelöscht werden sollen oder nicht. Der Admin sagt also Bilder mit löschen oder nicht!
Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-

Offline Chicco

  • Full Member
  • ***
  • Posts: 211
    • View Profile
    • The Picture World
Also ich finde, das der User selbst entscheiden sollte, ob seine Bilder sowie Kommentare weiterhin bestehen bleiben dürfen oder ebenfalls gelöscht werden sollen. Schließlich hat auch nur er die Rechte auf seine Bilder bzw. sind es seine Bilder. Wenn er also nicht möchte, das seine Bilder noch bestehen obwohl er selbst kein Mitglied mehr ist, so sollten die Bilder auch gelöscht werden können! 8O

Ich habe mir mittlerweile eine Löschfunktion eingebaut, bei dem der User ein einfaches Formular ausfüllen muss. Dabei muss er sein Usernamen, sein momentanes Passwort sowie seine Mailadresse mit angeben. Darunter kann er per Radio-Buttons noch entscheiden, ob seine Bilder und Kommentare ebenfalls gelöscht werden sollen oder bleiben dürfen.

Ich bekomme als Admin dann diese Mail, checke kurz ob das Passwort stimmt indem ich mich als dieser User einlogge und lösche dann im ACP den User mit oder ohne Bilder und Kommentare.

So behalte ich als Admin auch den Überblick, WER seine Mitgliedschaft beendet hat und ob die Bilder noch bestehen oder nicht. Bei einer vollautomatischen Kündigung hat man nach einer Weile doch kein Plan mehr, wer wann gekündigt hatte. Oder? :?

Der User bekommt automatisch eine Antwortmail zugeschickt, das ich seine Kundigung bekommen habe. Ein zusätzliches Bemerkungsfeld, bei dem der User noch angeben kann, warum er seine Mitgliedschaft kündigt, kommt noch nachträglich rein.


Wissen ist MACHT! Nix zu wissen macht aber auch nix! ;-)

Gruß
Ch¿cco

Offline Alonso

  • Newbie
  • *
  • Posts: 17
    • View Profile
    • Haustierpics.de
@Chicco

Diese Variante würde mir auch gut gefallen haste das schon fertig ?
Dumm ist nur der der Dummes tut

Offline komsho24

  • Newbie
  • *
  • Posts: 24
    • View Profile
Hi,

  I use this mode a long time.. and now i see i have a little problem...

I register a test user.. and all its fine.. but when i remove account with this mode... i can use again same username "test" but email, i can't...


Actualy, i have message, that email alredy use.. but i get email about registration on mail...


How i can fix this ?


Thank you !

Offline moto1985

  • Newbie
  • *
  • Posts: 21
    • View Profile
Wie muss ich es anstellen das ich ein Button angezeigt bekomme anstatt nur den Text "Account löschen"

habe es so gemacht und der Butten wird angezeigt nur tut sich nichts wenn ich diesen klicke

<center><input type="submit" href="./member.php?action=deleteaccount" value="Account löschen" class="button" /></center>

Offline KurtW

  • 4images Guru
  • *******
  • Posts: 2.778
    • View Profile
    • Malediven-Bilder ~~Dreams~~
Hallo,

Code: [Select]
<form method="post" action="{url_member}">
  <input type="hidden" name="action" value="deleteaccount">
  <input type="hidden" name="progress" value="1">
  <center><input type="submit" value="Account löschen" class="button" /></center>
</form>


Ist aber auch im Mod Thread beschrieben  8O


Gruss
Kurt

Offline moto1985

  • Newbie
  • *
  • Posts: 21
    • View Profile
danke dir

Offline tutoko

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: [Mod] User can delete his own account / User kann seinen Account löschen
« Reply #24 on: October 26, 2012, 06:03:21 AM »
I cant get this one to work with using passwort as the input field to match the stored password in the database. If I change the matching input from the passwort field to username and delete the md5 encryption then the code works fine. So, my error is somewhere in matching the entered password (passwort) with the stored password in the database. Any ideas on what is going wrong with that match - Im using 4images 7.11.

THanking in advance for any solutions provided.

Offline FairyCosmo

  • Pre-Newbie
  • Posts: 9
  • ...for the lulz
    • View Profile
Re: [Mod] User can delete his own account / User kann seinen Account löschen
« Reply #25 on: September 15, 2014, 08:11:02 PM »
Same problem here... 1.7.11. Btw the author should fix the grammar in that mod and remove that stupid smilies and expclamation marks. Would be much better when its more serious!

 

Post your comments here