Habe hier folgendes Problem alle Daten ,die ich im Userprofil ändern will , wie z.b. Paidmailempfang,ode Forcedbanner anzeige max oder Paidbanner reinfolge etc werden nach der eingabe und dem Submit nicht Übernommen alle einstellungen werden Automatisch wieder in die Ur zustandseinstellungen Zurückgestelt.
Die Userprofil.php sieht so aus :
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'];
//Klickprüfung
if(!in_array($_POST['vonu'], array(ASC, DESC))) $_POST['vonu']=DESC;
if(!in_array($_POST['var'], array(verdienst, reload, aufendhalt))) $_POST['var']=verdienst;
//Ende
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");
//Klick prüfung2
db_query("UPDATE ".$db_prefix."_userdaten SET vonu = '".$_POST['vonu']."' WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_userdaten SET var = '".$_POST['var']."' WHERE uid=".$_SESSION['uid']."");
//Ende2
db_query("UPDATE ".$db_prefix."_userdaten SET max_forced = '".$_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;}
?>
<?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");?>
<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>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>Emailadresse:</td>
<td><input type="text" name="emailadresse" value="<?=$info['emailadresse'];?>"></td>
</tr>
<tr>
<td>User-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 ($info['max_forced'] == 3) echo 'selected';?>>3</option>
<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>Wie soll es sortiert wird ? :</td>
<td>
<select name="vonu">
<option value="DESC" <? if ($info['vonu'] == DESC) echo 'selected';?>>Absteigend</option>
<option value="ASC" <? if ($info['vonu'] == ASC) echo 'selected';?>>Aufsteigend</option>
</select>
</td>
</tr>
<tr>
<td>Sortieren nach :</td>
<td>
<select name="var">
<option value="reload" <? if ($info['var'] == reload) echo 'selected';?>>Reload</option>
<option value="verdienst" <? if ($info['var'] == verdienst) echo 'selected';?>>Verdienst</option>
<option value="aufendhalt" <? if ($info['var'] == aufendhalt) echo 'selected';?>>Aufendhalt</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 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>
<?foot();?>
Es handelt sich dabei um das vms 1.2 ohne Klammanbindung.
Bei dem mit Klamm anbindung geht es einwandfrei.
Ich habe beide Codes nunmal geprüft aber keine wirklichen fehler gefunden.
Wer kann mir helfen?
Achja und mein Anmeldebonus läuft auch nicht mehr korreckt seit nem DB-Fehler
wie kann ich in der DB einen Autoindex dafür eintragen ? der sich mit den anderen Tabelleneinträgen Abgleicht ? wie z.b. Kontodaten,Userdaten etc...?
es geht um vms_start_praemie (Startguthaben & Werberguthaben)
MFG