PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UserProfil



fruchti
14.05.2008, 02:19
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 :




<?
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&ouml;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 &auml;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&ouml;rter m&uuml;ssen min. 8 Zeichen haben!';
}
} else {
$change = 'Die Passw&ouml;rter stimmen nicht &uuml;berein!';
}
}
// Passwort ändern ende!

//Nickname ändern beginn !
if ($_POST['aendern'] == 'Jetzt &auml;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&ouml;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&auml;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 &auml;ndern!"><br>
<br>
<?=$change;?>
</td>
</tr>
</table>
</form>
<?foot();?>

<?head("$seitenname - Account l&ouml;schen");?>
Hier an dieser Stelle kannst Du deinen Account sofort selber l&ouml;schen wenn Du es w&uuml;nscht.
Bitte bedenke das alle Daten von Dir verloren gehen und bestehendes Guthaben dann auch
verloren geht, eine sp&auml;tere Forderung an <?=$waehrung;?> ist ausgeschlossen!
<div align="center">
<form action="" method="post"><br>
<?=$delchange;?>
Schnittstellen-Passwort:&nbsp;&nbsp;<input type="Password" name="del_passwort" value="">&nbsp;&nbsp;&nbsp;<input type="Submit" name="acc_del" value="Jetzt l&ouml;schen!">
</form>
<div align="center"><font color="#cc0000">Bei L&ouml;schung des Accounts bist Du f&uuml;r 30 Tage f&uuml;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 :rolleyes: 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

jpwfour
14.05.2008, 14:20
evtl. die stings in anführungszeichen setzen:



//statt
<? if ($info['vonu'] == DESC)
//folgendes
<? if ($info['vonu'] == 'DESC')
jedenfalls wäre es so korrekt.

wenn du die änderungen durchführst, sind diese dann aktiv (auch wenn dann was anderes im suerprofil angeezigt wird)?

Xenon
14.05.2008, 15:30
evtl. die stings in anführungszeichen setzen:



//statt
<? if ($info['vonu'] == DESC)
//folgendes
<? if ($info['vonu'] == 'DESC')jedenfalls wäre es so korrekt.

wenn du die änderungen durchführst, sind diese dann aktiv (auch wenn dann was anderes im suerprofil angeezigt wird)?


<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>wie maN hier sehn kann ist das auch ihne '' und auf meiner testpage hat es jedensfalls funkioniert ich schaue es mir kurz an und werde dann bescheid sagen






EDIT : http://www.adi.vms1.de/files/?content=/konto/userprofil loggt dich ma hier ein und schaus dir mal an kannste es testen bei mir funkioniert es , deswegen muss es eher daran liegen das du etwas falsch eingebuat hast
nick : adi
pw : adi










Edit 2 : hast du die mitgeliefteren sql tabbelle hinzurgefügt ?

fruchti
14.05.2008, 19:13
So ich habe mir nun eure beiden tipps zu herzen genommen aber leider geht da nix es wird nix rein garnix in die DB gepostet um die änderungen vorzunehmen alle einstellung fallen immer wieder auf den voreingestelten wert zurück.

Edit ja die Sql habe ich auch drauf bzw aufgespielt.

Xenon
14.05.2008, 19:23
Also an meinen addon kann es nicht liegen , habe mehrer leute beauftragt mein addon zu testen damit ich dir beweisen kann das es nicht am addon liegt , kannst gerne maddin fragen er hat es nochma auf herz und nieren getestet :knueppel:

wenn ich am mittwoch wieder zeithabe könnte ich es dir einbauen .


edit : poste ma deine sql was du ahst

fruchti
14.05.2008, 20:29
oky habe von jemanden die Userprofil.PHP bekommen und upgeloadet und so wie gott will es geht werde die tage mal schaun was da Falsch war.

@adi das es nicht an deinem ADDON lag ist mir auch klar es ging bei mir um das allgemeine das die Posts nicht in der DB für die User geändert wurden.

wie schön erwähnt nun Lüpt es

MFG

Xenon
14.05.2008, 20:37
oky habe von jemanden die Userprofil.PHP bekommen und upgeloadet und so wie gott will es geht werde die tage mal schaun was da Falsch war.

@adi das es nicht an deinem ADDON lag ist mir auch klar es ging bei mir um das allgemeine das die Posts nicht in der DB für die User geändert wurden.

wie schön erwähnt nun Lüpt es

MFG
Achso , ich dachte es würde um mein addon gehn weil jpwfour damit angenfangen hat :knueppel:

halk
14.05.2008, 21:05
<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>

Hallo

Sorry weil ich dies gerade gelesen habe, wollte ich mal fragen wo es dies gibt das sortieren im userprofil. da ich es schon lange suche .frage ich mal hier ob es dies gibt oder ob es einer machen könnte?

Xenon
14.05.2008, 21:09
@Halk : ich war ma so nett ich habe sowas programmiert , das findest du im dl bereich unter vms1.2 codeschnippzel oder unter neueste das erste , wenn du das ohne copy haben möchtest schreib mir ne pn , die sortierung liegt seit ca. 5-6 tagen im dl bereich :thumb: