<tr>
<td>Dein Nickname:</td>
<td><?= $userdaten['nickname'];?> </td>
</tr>
glaube bei Euch heisst das
<td><?= $info['nickname'];?> </td>
<tr>
<td>Dein Nickname:</td>
<td><?= $userdaten['nickname'];?> </td>
</tr>
glaube bei Euch heisst das
<td><?= $info['nickname'];?> </td>
So wie du es geschrieben hast hatte ich es schon probiert, Nickname wird auf "nichts" gesetzt bei ändern z. B. des Passwortes.
Desweiteren musste ich gerade feststellen das sich der Nachname nicht ändern lässt... wenn man auf ändern klickt aktualisiert er zwar die Seite aber weder in der Datenbank noch im Userprofil steht dann der geänderte Nachname.
Naja das mit dem Nachnamen ist glaube ich eher unwichtig, da erscheint mir das Problem mit dem nicknamen als wichtiger.
Ich poste euch jetzt mal meine Userprofil.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/schnittstellen/".$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=http://'.$_SERVER['HTTP_HOST'].'/?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'].""); } } } if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) { $change .= 'Der Emailsyntax ist falsch!<br>'; } else { 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; $_POST['max_forced'] = (int)$_POST['max_forced']; db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid'].""); db_query("UPDATE ".$db_prefix."_userdaten SET max_forced = '".$_POST['max_forced']."', pnmail = ".intval($_POST['pnmail'])." WHERE uid=".$_SESSION['uid'].""); db_query("UPDATE ".$db_prefix."_userdaten SET max_forcedt = '".$_POST['max_forced']."' WHERE uid=".$_SESSION['uid'].""); $change .= 'Deine Daten wurden aktualisiert!<br>'; } } $info = mysql_fetch_array(db_query("SELECT u.*,e.emailadresse,e.freigabe_fuer FROM ".$db_prefix."_userdaten AS u LEFT JOIN ".$db_prefix."_emaildaten AS e ON e.uid=u.uid WHERE u.uid=".$_SESSION['uid']." LIMIT 1")); if ($info['freigabe_fuer'] == 0) {$newsletter = 0; $paidmails = 0;} if ($info['freigabe_fuer'] == 1) {$newsletter = 1; $paidmails = 0;} if ($info['freigabe_fuer'] == 2) {$newsletter = 0; $paidmails = 1;} if ($info['freigabe_fuer'] == 3) {$newsletter = 1; $paidmails = 1;} ?> <div class="content_head"><?=$seitenname;?> - Profildaten</div> <div class="content_bg"> <form action="" method="post"> <table width="100%" border="0" cellpadding="1" cellspacing="0"> <tr> <td>Nickname:</td> <td><input type="text" name="nickname" value="<?=$info['nickname'];?>"></td> </tr> <tr> <td>Name:</td> <td><input type="text" value="<?=$info['nachname'];?>"></td> </tr> <tr> <td>Vorname:</td> <td><input type="text" value="<?=$info['vorname'];?>"></td> </tr> <tr> <td>Klamm-Id:</td> <td><?=$_SESSION['uid'];?></td> </tr> <tr> <td>Emailadresse:</td> <td><input type="text" name="emailadresse" value="<?=$info['emailadresse'];?>"></td> </tr> <tr> <td>Neues Passwort:</td> <td><input type="password" name="pwd"></td> </tr> <tr> <td>Neues Passwort bestätigen:</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>eMail bei neuer PN?:</td> <td> <select name="pnmail"> <option value="1" <? if ($info['pnmail'] == 1) echo 'selected';?>>Ja</option> <option value="0" <? if ($info['pnmail'] == 0) echo 'selected';?>>Nein</option> </select> </td> </tr> <tr> <td>Angezeigte Banner/Mails/Textlinks:</td> <td> <select name="max_forced"> <option value="5" <? if ($info['max_forced'] == 5) echo 'selected';?>>5</option> <option value="10" <? if ($info['max_forced'] == 10) echo 'selected';?>>10</option> <option value="20" <? if ($info['max_forced'] == 20) echo 'selected';?>>20</option> <option value="30" <? if ($info['max_forced'] == 30) echo 'selected';?>>30</option> <option value="40" <? if ($info['max_forced'] == 40) echo 'selected';?>>40</option> <option value="50" <? if ($info['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> </table> </form> </div> <div class="content_foot"></div> <div class="content_head"><?=$seitenname;?> - Account löschen</div> <div class="content_bg"> 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 bestehendes Guthaben dann auch verloren geht, eine spätere Forderung an <?=$waehrung;?> ist ausgeschlossen! <div align="center"> <form action="" method="post"><br> <?=$delchange;?> Schnittstellen-Passwort: <input type="Password" name="del_passwort" value=""> <input type="Submit" name="acc_del" value="Jetzt löschen!"> </form> <div align="center"><font color="#cc0000">Bei Löschung des Accounts bist Du für 30 Tage für eine Neuanmeldung gesperrt!</font></div><br> </div> </div> <div class="content_foot"></div>
ein /* davor und ein */ dahinterPHP-Code:
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']."");
}
}
}
SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting
mmh funktioniert nicht... kommt dann Syntax error :/
pecvh mehr kann ich dir nicht helfen bei mir gehts
und ohne fehlermeldung keine idee worans bei dir schaitert
SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting
Kein Problem habe mir selbst geholfen und einfach den Nick Ändern teil im Userprofil komplett gelöscht ... soll ja eh nicht Möglich sein
Für alle User die es Ändern wollen.
Das hier:
Ausschneiden und an die stelle davor einfügen:PHP-Code:
if ($_POST['aendern'] == 'Jetzt ändern!')
{
Sieht dann so aus:PHP-Code:
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
Suche das und mach eine Klammer weg:PHP-Code:
if ($_POST['aendern'] == 'Jetzt ändern!')
{
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
Sieht dann so aus:PHP-Code:
db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '".$nickname."' WHERE uid=".$_SESSION['uid']."");
}
}
}
Suche das hier.PHP-Code:
db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '".$nickname."' WHERE uid=".$_SESSION['uid']."");
}
}
Und ersetzte das mit denn hier:PHP-Code:
$change .= 'Deine Daten wurden aktualisiert!<br>';
}
}
Suche das hier:PHP-Code:
$change .= 'Deine Daten wurden aktualisiert!<br>';
}
}
}
Und ersetzte es mit dem hier.PHP-Code:
<td><input type="text" name="nickname" value="<?=$info['nickname'];?>"></td>
Das war es schon jetzt wird beim ändern des Profils der Nickname nicht mehr geändert oder oder ausversehen gelöscht.PHP-Code:
<td><?=$info['nickname'];?></td>
Ich hoffe ich konnte helfen.
LG Sascha2703