» Forum » Clanscript » Kritik und Verbesserungen » User ID ändern
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

User ID ändern
bofh4adm
Mitglied
0 Beitragspunkte
Posts: 16

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 27.04.2007 - 09:46:35     Zitieren
Moin,

ist evtl. absehbar, dass es ein Update gibt, in welchem man dann danach als Admin im Admin-Bereich die User-ID von Usern ändern kann?

Das Script sollte dann natürlich auch so mächtig sein, dass es über all in allen DB-Tabellen die vorige ID mit der neuen ändert?

Grüsse Holger


verwendete ilchClan Version: 1.1


Orale Diarrhoe ist nichts anderes als verbale Inkontinenz
BobGrey
Mitglied
1 Beitragspunkte
Posts: 423

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 27.04.2007 - 11:20:02     Zitieren
Die User ID ist nicht änderbar da sie in der Datenbank = auto_increment eingertagen ist.

Ausserdem soll die UserID eine eideutige NUR einmal vorhandene ID sein, da daran eine Eindeutige Identifizierung möglich ist.

Ändern könnte man das evtl. aber Sinn macht das nicht.


Bob

Das ist jedenfalls meine Meinung.


Lieber einen guten Freund verlieren, als einen guten Spruch nicht gebracht zu haben.
bofh4adm
Mitglied
0 Beitragspunkte
Posts: 16

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 27.04.2007 - 11:50:49     Zitieren
Der Sinn für mich ist folgender:

Wenn ein User versehentlich gelöscht wurde und man ihn wieder einrichtet, hat man zu vorigen Posts des Users (durch andere ID) keinen richtigen Bezug mehr (Avatar, Link zu dem Profil, ...).

Klar sollte die ID unikativ sein. Da geb ich dir vollkommen recht, BobGrey.


Orale Diarrhoe ist nichts anderes als verbale Inkontinenz
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 27.04.2007 - 11:55:42     Zitieren
LOL, also dann änderst du einfach wieder die ID, vom neuangelegten zur alten ID und alles ist wie vorher.

Aber da ich das Script schon vorher geschrieben habe, poste ich es natürlich trotzdem. Das wird aber nicht in mehr in eine Ilchversion einfließen.

changeuserid.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Userid &auml;ndern</title>
</head>
<body>

<?php
if (isset($_POST['submit'])) {

  define('main',true);
  require_once('include/includes/config.php');
  require_once('include/includes/loader.php');
  
  $ouid = escape($_POST['ouid'],'integer');
  $nuid = escape($_POST['nuid'],'integer');
  $login = escape($_POST['login'],'string');
  $pw = md5(escape($_POST['pw'],'string'));
  
  db_connect();
  
  if (db_count_query("SELECT COUNT(id) FROM `prefix_user` WHERE id = 1") == 1) {
   $admin = db_count_query("SELECT IF(IF(name = '$login',1,0)+IF(pass = '$pw',1,0)=2,1,0) FROM `prefix_user` WHERE id = 1");
  } else {
   $admin = db_count_query("SELECT IF(pass = '$pw',1,0) FROM `prefix_user` WHERE recht = -9 AND name = BINARY '$login'"); 
  }
  
  if ($admin == 1) {
    $dbchanges = array (
      array ('user', 'id'),
      array ('awaycal', 'uid'),
      array ('forummods', 'uid'),
      array ('groups', 'mod1'),
      array ('groups', 'mod2'),
      array ('groups', 'mod3'),
      array ('groups', 'mod4'),
      array ('groupusers', 'uid'),
      array ('koms', 'uid'),
      array ('modulerights', 'uid'),
      array ('news', 'user_id'),
      array ('online', 'uid'),
      array ('pm', 'sid'),
      array ('pm', 'eid'),
      array ('posts', 'erstid'),
      array ('topic_alerts', 'uid'),
      array ('userfields', 'uid'),
      array ('usergallery', 'uid'),
      array ('warmember', 'uid')
    );
    echo "<h2>Tabellen werden ge&auml;ndert</h2>User $ouid --> $nuid <hr />";
    foreach ($dbchanges as $table) {
      $abf = "UPDATE `prefix_{$table[0]}` SET `{$table[1]}` = $nuid WHERE `{$table[1]}` = $ouid";
      echo "<b>SQL:</b> <i>$abf;</i><br />";
      if (db_query($abf)) {
        echo 'ohne Fehler durchgef&uuml;hrt';
      } else {echo mysql_error();} 
      echo '<hr />';
    }
    
    db_close();
    
    echo 'Alle &Auml;nderungen durchgef&uuml;hrt';
  
  } else {
    echo 'Unzulässiger Adminaccount bzw. falsches Passwort';
  }

} else { ?>
<h1>Beachte</h1>
&Auml;nderungen k&ouml;nnen nur vom Admin mit der ID 1 vorgenommen werden, es sei denn es existiert kein Admin mit ID 1.<br />
Es werden <b>KEINE</b> Fehlerkontrollen durchgef&uuml;hrt, bei Fehlangaben kann es zu schwerwiegenden Fehlern kommen, also am besten ein Backup vorher machen ;)<br />
<pre>
<form action="changeuserid.php" method="post">
Alte ID des Users:   <input type="text" name="ouid" /><br />
Neue ID des Users:    <input type="text" name="nuid" /><br />
Username des Admin:   <input type="text" name="login" /><br />
Passwort des Admin:   <input type="password" name="pw" /><br />
<input type="submit" name="submit" value="&auml;ndern" />
</form>
</pre>

<? } ?>
</body>
</html>


*Update: Fehler behoben - 12:20Uhr 27.04.2007


Zuletzt modifiziert von Mairu am 27.04.2007 - 12:20:51


Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
bofh4adm
Mitglied
0 Beitragspunkte
Posts: 16

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 27.04.2007 - 12:10:58     Zitieren
wow, sehr genial, ich muss dabei bleiben du bist und bleibst mein persönlicher Held! Vielen Dank!

PS: Warum wird dies nicht mehr in eine ilch-Version einfliessen? Wenn man fragen darf? Ich kenne das Ilch CMS nur seit 1.1e.


Orale Diarrhoe ist nichts anderes als verbale Inkontinenz
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 27.04.2007 - 12:22:38     Zitieren
So also da war noch ein dummer Fehler in meiner Denkweise drin, hab das jetzt behoben.
Nunja jeder der das braucht, kann das Script hier finden, ansonsten, wird damit vielleicht nur fälschlicherweise was verändert und wirklich brauchen tut man es ja nicht, ich hab den Thread auch in der FAQ verlinkt.


Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
Ithron
Hall Of Fame
24 Beitragspunkte
Posts: 2658

0 Mitglieder finden den Beitrag gut.

Merkliste 01.05.2007 - 09:54:28     Zitieren
du lässt ja da das pw des admins ausgeben.. wird das dann aber nich im md5 hash ausgegeben?


Zitat geschrieben von loW

Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?


Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 01.05.2007 - 10:16:48     Zitieren
Wo wird da bitte ein Passwort ausgegeben?
Passwörter sind nur als Hash gespeichert, können also auch nur als Hash verglichen werden, aber ich verstehe deinen Einwand ehrlich gesagt überhaupt nicht.


Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
Ithron
Hall Of Fame
24 Beitragspunkte
Posts: 2658

0 Mitglieder finden den Beitrag gut.

Merkliste 01.05.2007 - 10:54:28     Zitieren
ach das kommt wenn man früh morgens den code nur überfliegt Lachen

man gibt ja ein neues pw an.. dachte es wird ausgegeben.. hat sich erledigt^^


Zitat geschrieben von loW

Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?


Tibirius
Mitglied
0 Beitragspunkte
Posts: 8

0 Mitglieder finden den Beitrag gut.

Merkliste 12.08.2007 - 15:07:25     Zitieren
hi
könnte mir evt noch jemand kurz erleutern was ich mit dem code machen soll?
den code in ne vorhandene datei einfügen oder ne neue erstellen evt?
steh irgendwie auf dem schlauch meine ID1 is weg admin is nur ID2.


Zuletzt modifiziert von Tibirius am 12.08.2007 - 15:08:47
SLJ
Hall Of Fame
0 Beitragspunkte
Posts: 15485

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 12.08.2007 - 15:10:53     Zitieren
In eine neue datei rein,... und dann ausführen,...Zwinker


www.zocker-eppingen.de (ZE 1.6.8 next ZE 2.1)
Mal schauen ob noch was neues kommt,... 2012!
MrWhoo
Mitglied
0 Beitragspunkte
Posts: 30

0 Mitglieder finden den Beitrag gut.

Merkliste 10.10.2008 - 14:50:34     Zitieren
Sorry leutz aber ich blick das grad net.
In welchem Ordner wird die Datei ausgeführt ?
Bitte steinigt mich nicht.
Mairu
Coder
128 Beitragspunkte
Posts: 12770

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 10.10.2008 - 17:12:06     Zitieren
In den Hauptordner, also da wo index.php admin.php und include liegen.


Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite

[ Anmelden zum schreiben ]