So sollte es eigentlich funktionieren wenn Du das Recht -9 hast aber nicht der Admin mit der ID 1 bist! Wie gesagt trotzdem bei so einer Datenbank eingreifenden Fuktion immer eine Sicherung machen!
<!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 ä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();
$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ä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ührt';
} else {echo mysql_error();}
echo '<hr />';
}
db_close();
echo 'Alle Änderungen durchgeführt';
} else {
echo 'Unzulässiger Adminaccount bzw. falsches Passwort';
}
} else { ?>
<h1>Beachte</h1>
Änderungen kö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ü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="ändern" />
</form>
</pre>
<? } ?>
</body>
</html>