ich schau mir das grad mal etwas genauer an.
*edit*
hast du mal probiert das Passwort zu ändern ?
weil das nämlich das ist was direkt nach dem Nickname geändert wird.
Also das Passwort lässt sich auch nicht verändern so wie ich das mitbekommen habe.
zumindest als ich das versucht habe.
Hi!
Ich habe mal den kompletten Code in eine Datei kopiert und die bei mir im Script mal aufgerufen. Es ließ sich alles ändern, ausser Name und Vorname. Wobei hierbei auch die Frage ist, ob man es zulassen soll, das der User das ändert, denn der Name ändert sich ja nicht ganz so oft im Leben.
Ausserdem wurde bei Passwort-Änderung zwar das Passwort neu gesetzt, aber man wurde nicht ausgeloggt. Alles andere wie eMail, Max.Banner ging einnwandfrei.
In dem Code ist das angepaßt, das man den Namen ändern kann und das Ausloggen klappt auch:
Woran es sonst noch liegen kann, keine Ahnung. Vielleicht an der Nickpage, wobei ich da keinen richtigen Zusammenhang sehe. Wie gesagt, der gepostete Code funktioniert bei mir einwandfrei. Wenn der Fehler immer noch besteht, einfach mal die Nickpage-Datei ausbauen und nochmal versuchen. Sollte ja dann eigentlich gehen. Ich hätt mich gerne probeweise mal angemeldet, aber deine Seite ist leider nicht erreichbar. Doch nicht etwa schon aufgegeben?PHP-Code:
<?
userstatus();
// Variabeln definieren
if (!isset($_POST['aendern'])) $_POST['aendern'] = "";
if (!isset($_POST['acc_del'])) $_POST['acc_del'] = "";
if (!isset($_POST['del_passwort'])) $_POST['del_passwort'] = "";
if (!isset($_POST['pwd'])) $_POST['pwd'] = "";
if (!isset($_POST['pwd2'])) $_POST['pwd2'] = "";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "";
if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "";
if (!isset($change)) $change = "";
if (!isset($mailstatus)) $mailstatus = "";
if (!isset($delchange)) $delchange = "";
if ($_POST['acc_del'] == 'Jetzt löschen!' && $_POST['del_passwort']) {
$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
@require_once ("lib/schittstellen/".$schnittstelle['schnittstelle'].".php");
@uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['del_passwort']);
if ($error) {
$delchange = $trans_ausgabe.'<br>';
} else {
$sperrzeit = time()+(86400*30);
db_query("INSERT INTO ".$db_prefix."_userblacklist (uid,zeit) VALUES ('".$_SESSION['uid']."','".$sperrzeit."')");
db_query("DELETE FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_werberdaten WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_werberdaten SET werber = 0 WHERE werber=".$_SESSION['uid']."");
echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">';
}
}
if ($_POST['aendern'] == 'Jetzt ändern!') {
// Passwort ändern beginn!
if ($_POST['pwd'] && $_POST['pwd2']) {
if ($_POST['pwd'] == $_POST['pwd2']) {
if (strlen($_POST['pwd']) >= 8) {
db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '".md5($_POST['pwd'])."' WHERE uid=".$_SESSION['uid']."");
echo '<meta http-equiv="refresh" content="0; URL='.$domain.'/?content=/intern/startseite&logout=true">';
//$change .= 'Das Passwort wurde geändert!<br><b><font color="#FF0000">Bitte logge Dich jetzt aus und wieder neu ein!</font></b><br>';
} else {
$change = 'Passwörter müssen min. 8 Zeichen haben!';
}
} else {
$change = 'Die Passwörter stimmen nicht überein!';
}
}
// Passwort ändern ende!
//Nickname ändern beginn !
if ($_POST['aendern'] == 'Jetzt ändern!')
{
if (isset ($_POST['nickname'])) {
$nickname = ucfirst($_POST['nickname']);
$nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'");
$nickname_check2 =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'AND uid=".$_SESSION['uid']."");
if (mysql_num_rows($nickname_check))
if (mysql_num_rows($nickname_check2)) {
}else{
$change = 'Dieser Nickname ist schon vergeben!<br>';
}
else
{
db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '".$nickname."' WHERE uid=".$_SESSION['uid']."");
}
}
}
//Nickname ändern ende!
// Emailadresse & Mailvarianten ändern!
// SecVMS change begin
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
}
else
{
$_POST['vorname'] = addslashes($_POST['vorname']);
$_POST['nachname'] = addslashes($_POST['nachname']);
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_userdaten SET vorname = '".$_POST['vorname']."', nachname = '".$_POST['nachname']."', max_forced = '".$_POST['max_forced']."' WHERE uid=".$_SESSION['uid']."");
$change .= 'Deine Daten wurden aktualisiert!<br>';
}
// SecVMS change end
}
$userdaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid'].""));
$emaildaten = mysql_fetch_array(db_query("SELECT `emailadresse`,`freigabe_fuer` FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid'].""));
if ($emaildaten['freigabe_fuer'] == 0) {$newsletter = 0; $paidmails = 0;}
if ($emaildaten['freigabe_fuer'] == 1) {$newsletter = 1; $paidmails = 0;}
if ($emaildaten['freigabe_fuer'] == 2) {$newsletter = 0; $paidmails = 1;}
if ($emaildaten['freigabe_fuer'] == 3) {$newsletter = 1; $paidmails = 1;}
?>
<?head("$seitenname - Userprofil");?>
Hier findest Du deine Profildaten, bitte passe diese Daten immer an so das diese aktuell sind. Deaktiviere bitte
die Paidmails wenn Du keine habe möchtest!<br>
<?foot();?>
<?head("$seitenname - Profildaten");?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<form action="" method="post">
<tr>
<td>Nickname:</td>
<td><input type="text" name="nickname" value="<?=$userdaten['nickname'];?>"></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="nachname" value="<?=$userdaten['nachname'];?>"></td>
</tr>
<tr>
<td>Vorname:</td>
<td><input type="text" name="vorname" value="<?=$userdaten['vorname'];?>"></td>
</tr>
<tr>
<td>Emailadresse:</td>
<td><input type="text" name="emailadresse" value="<?=$emaildaten['emailadresse'];?>"></td>
</tr>
<tr>
<td>Klamm-Id:</td>
<td><?=$_SESSION['uid'];?></td>
</tr>
<tr>
<td>Neues Passwort:</td>
<td><input type="password" name="pwd"></td>
</tr>
<tr>
<td>Neues Passwortbestätigung:</td>
<td><input type="password" name="pwd2"></td>
</tr>
<tr>
<td>Newsletter:</td>
<td>
<select name="newsletter">
<option value="1" <? if ($newsletter == 1) echo 'selected';?>>Ja</option>
<option value="0" <? if ($newsletter == 0) echo 'selected';?>>Nein</option>
</select>
</td>
</tr>
<tr>
<td>Paidmails:</td>
<td>
<select name="paidmails">
<option value="1" <? if ($paidmails == 1) echo 'selected';?>>Ja</option>
<option value="0" <? if ($paidmails == 0) echo 'selected';?>>Nein</option>
</select>
</td>
</tr>
<tr>
<td>Max. anzeigbare Forcedbanner:</td>
<td>
<select name="max_forced">
<option value="3" <? if ($userdaten['max_forced'] == 3) echo 'selected';?>>3</option>
<option value="5" <? if ($userdaten['max_forced'] == 5) echo 'selected';?>>5</option>
<option value="10" <? if ($userdaten['max_forced'] == 10) echo 'selected';?>>10</option>
<option value="20" <? if ($userdaten['max_forced'] == 20) echo 'selected';?>>20</option>
<option value="30" <? if ($userdaten['max_forced'] == 30) echo 'selected';?>>30</option>
<option value="40" <? if ($userdaten['max_forced'] == 40) echo 'selected';?>>40</option>
<option value="50" <? if ($userdaten['max_forced'] == 50) echo 'selected';?>>50</option>
</select>
</td>
</tr>
<tr>
<td align="center" colspan="2"><br>
<input type="submit" name="aendern" value="Jetzt ändern!"><br>
<br>
<?=$change;?>
</td>
</tr>
</form>
</table>
<?foot();?>
<?head("$seitenname - Account löschen");?>
Hier an dieser Stelle kannst Du deinen Account sofort selber löschen wenn Du es wünscht.
Bitte bedenke das alle Daten von Dir verloren gehen und etweiliges Guthaben dann auch
verloren geht, eine spätere Forderung an Klammlosen ist ausgeschlossen!
<div align="center">
<form action="" method="post"><br>
<?=$delchange;?>
Lose-Passwort <input type="Password" name="del_passwort" value=""> <input type="Submit" name="acc_del" value="Jetzt löschen!">
</form>
<font color="#cc0000"><div align="center">Bei Löschung des Accounts bist Du für 30 Tage für eine Neuanmeldung gesperrt!</div><br></font>
</div>
<?foot();?>
Gruß
Marco.
Computer-Logik pur:
Keyboard not found
Press <F1> to continue...
Hi erstmal Danke für den Code.
Sobald die Seite wieder geht werde ich ihn mal Testen und dann nochmal bescheitgeben.
Habe heute Früh um 8 uhr schon mal versucht war die Seite auch Down.
Auch die MyaQL und Confixx Seiten des anbieters ist zur zeit nicht zu erreichen vermutlich daher ein Technisches Problem.
Wobei ich bis jetzt sowohl mit Leistung als auch mit dem Support sehr zufrieden war.
Bin bei X-Future Media.
Naja jeder kann mal Probleme haben.
Gruß
Joachim
Edit: Habe Antwort vom Support bekommen Stromausfall im Rechenzentrum sie Arbeiten dran.
Seite ist wieder Online.
Und deine Userprofil geht TOP.
Danke.
Ich muss den alten Trade nochmal rausholen da ich wieder ein Problem mit dem Userprofil habe.
Die Anzahl der Forced Banner lässt sich nicht verändern.
Ich stelle eine andere Zahl ein und Klicke auf Update und dann steht wieder die alte zahl im kästchen.
Hat jemand eine Idee an was das Liegt?
Hier die uderprofil.php im aktuellem stand:
PHP-Code:
<?
userstatus();
// Variabeln definieren
if (!isset($_POST['aendern'])) $_POST['aendern'] = "";
if (!isset($_POST['acc_del'])) $_POST['acc_del'] = "";
if (!isset($_POST['del_passwort'])) $_POST['del_passwort'] = "";
if (!isset($_POST['pwd'])) $_POST['pwd'] = "";
if (!isset($_POST['pwd2'])) $_POST['pwd2'] = "";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "";
if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "";
if (!isset($change)) $change = "";
if (!isset($mailstatus)) $mailstatus = "";
if (!isset($delchange)) $delchange = "";
if ($_POST['acc_del'] == 'Jetzt löschen!' && $_POST['del_passwort']) {
$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
@require_once ("lib/schittstellen/".$schnittstelle['schnittstelle'].".php");
@uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['del_passwort']);
if ($error) {
$delchange = $trans_ausgabe.'<br>';
} else {
$sperrzeit = time()+(86400*30);
db_query("INSERT INTO ".$db_prefix."_userblacklist (uid,zeit) VALUES ('".$_SESSION['uid']."','".$sperrzeit."')");
db_query("DELETE FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_werberdaten WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_werberdaten SET werber = 0 WHERE werber=".$_SESSION['uid']."");
echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">';
}
}
if ($_POST['aendern'] == 'Jetzt ändern!') {
// Passwort ändern beginn!
if ($_POST['pwd'] && $_POST['pwd2']) {
if ($_POST['pwd'] == $_POST['pwd2']) {
if (strlen($_POST['pwd']) >= 8) {
db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '".md5($_POST['pwd'])."' WHERE uid=".$_SESSION['uid']."");
echo '<meta http-equiv="refresh" content="0; URL='.$domain.'/?content=/intern/startseite&logout=true">';
//$change .= 'Das Passwort wurde geändert!<br><b><font color="#FF0000">Bitte logge Dich jetzt aus und wieder neu ein!</font></b><br>';
} else {
$change = 'Passwörter müssen min. 8 Zeichen haben!';
}
} else {
$change = 'Die Passwörter stimmen nicht überein!';
}
}
// Passwort ändern ende!
//Nickname ändern beginn !
if ($_POST['aendern'] == 'Jetzt ändern!')
{
if (isset ($_POST['nickname'])) {
$nickname = mysql_real_escape_string(ucfirst($_POST['nickname']));
$nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'");
$nickname_check2 =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'AND uid=".$_SESSION['uid']."");
if (mysql_num_rows($nickname_check))
if (mysql_num_rows($nickname_check2)) {
}else{
$change = 'Dieser Nickname ist schon vergeben!<br>';
}
else
{
db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '".$nickname."' WHERE uid=".$_SESSION['uid']."");
}
}
}
//Nickname ändern ende!
// Emailadresse & Mailvarianten ändern!
// SecVMS change begin
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
}
else
{
$_POST['vorname'] = addslashes($_POST['vorname']);
$_POST['nachname'] = addslashes($_POST['nachname']);
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");
$_POST['max_forced'] = (int)$_POST['max_forced'];
$change .= 'Deine Daten wurden aktualisiert!<br>';
}
// SecVMS change end
}
$userdaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid'].""));
$emaildaten = mysql_fetch_array(db_query("SELECT `emailadresse`,`freigabe_fuer` FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid'].""));
if ($emaildaten['freigabe_fuer'] == 0) {$newsletter = 0; $paidmails = 0;}
if ($emaildaten['freigabe_fuer'] == 1) {$newsletter = 1; $paidmails = 0;}
if ($emaildaten['freigabe_fuer'] == 2) {$newsletter = 0; $paidmails = 1;}
if ($emaildaten['freigabe_fuer'] == 3) {$newsletter = 1; $paidmails = 1;}
?>
<?head("$seitenname - Userprofil");?>
Hier findest Du deine Profildaten, bitte passe diese Daten immer an so das diese aktuell sind. Name und Vorname sind nur vom Webmaster änderbar !!!<br>
<?foot();?>
<?head("$seitenname - Profildaten");?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<form action="" method="post">
<tr>
<td>Nickname:</td>
<td><input type="text" name="nickname" value="<?=$userdaten['nickname'];?>"></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="nachname" value="<?=$userdaten['nachname'];?>" readonly="readonly"></td>
</tr>
<tr>
<td>Vorname:</td>
<td><input type="text" name="vorname" value="<?=$userdaten['vorname'];?>" readonly="readonly"></td>
</tr>
<tr>
<td>Emailadresse:</td>
<td><input type="text" name="emailadresse" value="<?=$emaildaten['emailadresse'];?>"></td>
</tr>
<tr>
<td>Klamm-Id:</td>
<td><?=$_SESSION['uid'];?></td>
</tr>
<tr>
<td>Neues Passwort:</td>
<td><input type="password" name="pwd"></td>
</tr>
<tr>
<td>Neues Passwortbestätigung:</td>
<td><input type="password" name="pwd2"></td>
</tr>
<tr>
<td>Newsletter:</td>
<td>
<select name="newsletter">
<option value="1" <? if ($newsletter == 1) echo 'selected';?>>Ja</option>
<option value="0" <? if ($newsletter == 0) echo 'selected';?>>Nein</option>
</select>
</td>
</tr>
<tr>
<tr>
<td>Max. anzeigbare Forcedbanner:</td>
<td>
<select name="max_forced">
<option value="5" <? if ($userdaten['max_forced'] == 5) echo 'selected';?>>5</option>
<option value="10" <? if ($userdaten['max_forced'] == 10) echo 'selected';?>>10</option>
<option value="15" <? if ($userdaten['max_forced'] == 15) echo 'selected';?>>15</option>
<option value="20" <? if ($userdaten['max_forced'] == 20) echo 'selected';?>>20</option>
</select>
</td>
</tr>
<tr>
<td align="center" colspan="2"><br>
<input type="submit" name="aendern" value="Jetzt ändern!"><br>
<br>
<?=$change;?>
</td>
</tr>
</form>
</table>
<?foot();?>
<?head("$seitenname - Account löschen");?>
Hier an dieser Stelle kannst Du deinen Account sofort selber löschen wenn Du es wünscht.
Bitte bedenke das alle Daten von Dir verloren gehen und etweiliges Guthaben dann auch
verloren geht, eine spätere Forderung an Sundayklick bezüglich Klammlose oder sonstiges ist ausgeschlossen!
<div align="center">
<form action="" method="post"><br>
<?=$delchange;?>
Lose-Passwort <input type="Password" name="del_passwort" value=""> <input type="Submit" name="acc_del" value="Jetzt löschen!">
</form>
<font color="#cc0000"><div align="center">Bei Löschung des Accounts bist Du für 30 Tage für eine Neuanmeldung gesperrt!</div><br></font>
</div>
<?foot();?>
Hi!
Da hast du wohl irgendwie eine Zeile verschluckt.
Nach Zeile 93 :
Code:$_POST['max_forced'] = (int)$_POST['max_forced'];
noch diese Zeile einfügen:
Code:db_query("UPDATE ".$db_prefix."_userdaten SET max_forced = '".$_POST['max_forced']."' WHERE uid=".$_SESSION['uid']."");
Gruß
Marco
Computer-Logik pur:
Keyboard not found
Press <F1> to continue...
Jetzt geht es danke.
Ja die habe ich bestimmt mal beim Basteln und Probieren weggelöscht und vergessen wieder rein zu machen.
@ vms1 was muss ich aus deinem Code rausnehmen, damit Name, Vorname und e-mailadresse nicht geändert werden können?
Danke
um welche vms version handelt es sich etwa vms1? bei vms1.2 funktioniert es leider nicht, kann mir hier einer weiterhelfen?