So sollte es funktionieren:
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['shout'])) $_POST['shout'] = "";
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']) >= 4) {
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. 4 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 = htmlentities($nickname);
$nickname = substr($nickname,0,13);
$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 bereits 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) $mailstatus = 0;
if ($_POST['newsletter'] == 1) $mailstatus = 1;
if ($_POST['newsletter'] == 0) $mailstatus = 2;
if ($_POST['newsletter'] == 1) $mailstatus = 3;
if ($_POST['shout'] == 1){ $shout = 1;}else{ $shout = 0;}
db_query("UPDATE ".$db_prefix."_kontodaten SET shout = ".((int)$shout)." WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' 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;}
if ($info['freigabe_fuer'] == 1) {$newsletter = 1;}
if ($info['freigabe_fuer'] == 2) {$newsletter = 0;}
if ($info['freigabe_fuer'] == 3) {$newsletter = 1;}
$shoutbox = mysql_fetch_array(db_query("SELECT shout FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
$shout = $shoutbox['shout'];
?>
<?head("$seitenname - Userprofil");?>
Hier findest Du deine Profildaten, bitte passe diese Daten immer an so das diese aktuell sind.<br>
<?foot();?>
<?head("$seitenname - Profildaten");?>
<form action="" method="post">
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td>Nickname:</td>
<td><input type="text" name="nickname" value="<?=$info['nickname'];?>"></td>
</tr>
<tr>
<td>Emailadresse:</td>
<td><input type="text" name="emailadresse" value="<?=$info['emailadresse'];?>"></td>
</tr>
<tr>
<td>Klamm-Id:</td>
<td><input type="text" value="<?=$_SESSION['uid'];?>" readonly></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 empfangen:</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>Shouts empfangen:</td>
<td>
<select name="shout">
<option value="1" <? if ($shout == 1) echo 'selected';?>>Ja</option>
<option value="0" <? if ($shout == 0) echo 'selected';?>>Nein</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>
<?foot();?>
<?head("$seitenname - Account löschen");?>
Hier an dieser Stelle kannst Du deinen Account sofort selbstständig löschen.
Bitte bedenke das alle Daten von Dir verloren gehen und bestehendes Guthaben dann auch
verloren geht, eine spätere Forderung an Lose ist ausgeschlossen!
<div align="center">
<form action="" method="post"><br>
<?=$delchange;?>
Losepasswort: <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>
<?foot();?>
Einmal waren die Variablennamen falsch, eben mit $shout -> $shoutbox, und in der Abfrage stand u.uid (aber der Alias u war nicht definiert).