Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| Datei profil_edit.php ändern | |||
|---|---|---|---|
| Tommy67 Mitglied
Posts: 14 |
Hallo Leute,
ich habe hier im Forum schon 2 Anläufe unternommen, doch ich komme nicht mehr weiter und BITTE dringend um Eure Hilfe. Ich habe Dateien profil_edit.php und profil_edit.htm verändert. Soweit funktioniert das auch wunderbar bis auf 2 Sachen die ich nicht hinbekomme. Hier die geänderten Bereiche aus der profil_edit.php GANZ OBEN $abf = 'SELECT email,wohnort,homepage,aim,msn,icq,yahoo,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank,gilde,lev,alf,fen,gla,hel,mid,nam,forn,wat,ruf,tok,kar,abe,sos,vol,cad,ran,gle,pgi,ctp,gesamt,durch FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"'; IN DER MITTE # statische felder speichern
db_query("UPDATE prefix_user
SET
homepage = '".get_homepage(escape($_POST['homepage'], 'string'))."',
wohnort = '".escape($_POST['wohnort'], 'string')."',
icq = '".escape($_POST['icq'], 'string')."',
msn = '".escape($_POST['msn'], 'string')."',
yahoo = '".escape($_POST['yahoo'], 'string')."',
".$avatar_sql_update."
aim = '".escape($_POST['aim'], 'string')."',
staat = '".escape($_POST['staat'], 'string')."',
geschlecht = '".escape($_POST['geschlecht'], 'string')."',
status = '".escape($_POST['status'], 'string')."',
opt_mail = '".escape($_POST['opt_mail'], 'string')."',
opt_pm = '".escape($_POST['opt_pm'], 'string')."',
opt_pm_popup = '".escape($_POST['opt_pm_popup'], 'string')."',
gebdatum = '".get_datum(escape($_POST['gebdatum'], 'string'))."',
sig = '".substr(escape($_POST['sig'], 'string'),0,$allgAr['forum_max_sig'])."',
gilde = '".escape($_POST['gilde'], 'string')."',
lev = '".escape($_POST['lev'], 'string')."',
alf = '".escape($_POST['alf'], 'int')."',
fen = '".escape($_POST['fen'], 'int')."',
gla = '".escape($_POST['gla'], 'int')."',
hel = '".escape($_POST['hel'], 'int')."',
mid = '".escape($_POST['mid'], 'int')."',
nam = '".escape($_POST['nam'], 'int')."',
forn = '".escape($_POST['forn'], 'int')."',
wat = '".escape($_POST['wat'], 'int')."',
ruf = '".escape($_POST['ruf'], 'int')."',
tok = '".escape($_POST['tok'], 'int')."',
kar = '".escape($_POST['kar'], 'int')."',
abe = '".escape($_POST['abe'], 'int')."',
sos = '".escape($_POST['sos'], 'int')."',
vol = '".escape($_POST['vol'], 'int')."',
cad = '".escape($_POST['cad'], 'int')."',
ran = '".escape($_POST['ran'], 'int')."',
gle = '".escape($_POST['gle'], 'int')."',
pgi = '".escape($_POST['pgi'], 'int')."',
ctp = '".escape($_POST['ctp'], 'int')."',
gesamt = '$gesamt',
durch = '$durch'
WHERE id = ".$_SESSION['authid']
);
Gecko war so freundlich und hat mir schon versucht dabei zu helfen ! ABER ich bekomme es nicht hin und suche jetzt einen der bereit ist die Anpassung zu machen. die Variable $gesamt soll die Werte von alf,fen,gla,hel,mid,nam,forn,wat,ruf,tok,kar,abe,sos,vol,cad,ran,gle,pgi,ctp, addiert beinhalten und das in das Feld 'gesamt' der DB gespeichert werden. $durch soll $gesamt/19 sein und auch gespeichert werden. Ich hoffe es findet sich jemand bei dem ich mich bedanken kann, wenn nicht wäre es sehr sehr schade. betroffene Homepage: eagle-team-int.de Zuletzt modifiziert von Tommy67 am 15.05.2010 - 20:16:23 MfG Tommy67 |
||
| Vips Mitglied
Posts: 238 |
servus
wenn ich das richtig verstanden haben, dann sollte das funktionieren ist aber nicht getestet $abf = 'SELECT email,wohnort,homepage,msn,icq,yahoo,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank, (SUM(alf)+SUM(fen)+SUM(gla)+SUM(hel)+SUM(mid)+SUM(nam)+SUM(forn)+SUM(wat)+SUM(ruf)+SUM(tok)+SUM(kar)+SUM(abe)+SUM(sos)+SUM(vol)+SUM(cad)+SUM(ran)+SUM(gle)+SUM(pgi)+SUM(ctp)) as gesamt FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
$erg = db_query($abf);
if ( db_num_rows($erg) > 0 ) {
$row = db_fetch_assoc($erg);
$gesamt = $row ['gesamt']
$durch = $gesamt / 19 ;
Zuletzt modifiziert von Vips am 16.05.2010 - 01:26:45 |
||
| Mairu Coder
Posts: 12617 |
Nein so nicht, aber das ist doch eigentlich ganz simpel,
gesamt = ".($gesamt = $alf + $fen + $gla + ...).", $durch = ".($gesamt / 19)." Die ... kannst du ja sicher selbst befüllen. Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Tommy67 Mitglied
Posts: 14 |
Hallo ihr Beiden,
schon mal ein grosses Danke, @ Mairu soweit so gut, aber rechnen will das Ding immer noch nicht oder es wird nicht in die DB gespeichert. gesamt = ".($gesamt = $alf + $fen + $gla + ...).", Ich bin mir nicht sicher, aber die variablen $alf + $fen + ... sind doch gar nicht definiert oder seh ich das falsch ? Zuletzt modifiziert von Tommy67 am 16.05.2010 - 11:40:37 MfG Tommy67 |
||
| Tommy67 Mitglied
Posts: 14 |
Also ich habe meine Modifikationen mal ganz verändert.
if ( db_num_rows($erg) > 0 ) {
$row = db_fetch_assoc($erg);
$gesamt = 190;
$$durch = $gesamt/19;
$tpl = new tpl ('user/profil_edit');
$row['staat'] = '<option></option>'.arliste ( $row['staat'] , get_nationality_array() , $tpl , 'staat' );
$row['geschlecht0'] = ( $row['geschlecht'] < 1 ? 'checked' : '' );
$row['geschlecht1'] = ( $row['geschlecht'] == 1 ? 'checked' : '' );
$row['geschlecht2'] = ( $row['geschlecht'] == 2 ? 'checked' : '' );
if ( $row['status'] == 1 ) { $row['status1'] = 'checked'; $row['status0'] = ''; } else { $row['status1'] = ''; $row['status0'] = 'checked'; }
if ( $row['opt_mail'] == 1 ) { $row['opt_mail1'] = 'checked'; $row['opt_mail0'] = ''; } else { $row['opt_mail1'] = ''; $row['opt_mail0'] = 'checked'; }
if ( $row['opt_pm'] == 1 ) { $row['opt_pm1'] = 'checked'; $row['opt_pm0'] = ''; } else { $row['opt_pm1'] = ''; $row['opt_pm0'] = 'checked'; }
if ( $row['opt_pm_popup'] == 1 ) { $row['opt_pm_popup1'] = 'checked'; $row['opt_pm_popup0'] = ''; } else { $row['opt_pm_popup1'] = ''; $row['opt_pm_popup0'] = 'checked'; }
$row['avatarbild'] = ( file_exists ( $row['avatar'] ) ? '<img src="'.$row['avatar'].'" alt=""><br />' : '' );
$row['Fabreite'] = $allgAr['Fabreite'];
$row['Fahohe'] = $allgAr['Fahohe'];
$row['Fasize'] = $allgAr['Fasize'];
$row['forum_max_sig'] = $allgAr['forum_max_sig'];
$row['uid'] = $_SESSION['authid'];
$row['forum_usergallery'] = $allgAr['forum_usergallery'];
$tpl->set_ar_out($row,0);
if ($allgAr['forum_avatar_upload']) $tpl->out(1);
$tpl->set_ar_out($row,2);
profilefields_change ( $_SESSION['authid'] );
$tpl->out(3);
} else {
$tpl = new tpl ( 'user/login.htm' );
$tpl->set_out('WDLINK','index.php',0);
}
} else { # submit
# change password
if ( !empty($_POST['np1']) AND !empty($_POST['np2']) AND !empty($_POST['op'])) {
if ($_POST['np1'] == $_POST['np2']) {
$akpw = db_result(db_query("SELECT pass FROM prefix_user WHERE id = ".$_SESSION['authid']),0);
if ($akpw == md5($_POST['op'])) {
$newpw = md5($_POST['np1']);
db_query("UPDATE prefix_user SET pass = '".$newpw."' WHERE id = ".$_SESSION['authid']);
setcookie(session_und_cookie_name(), $_SESSION['authid'].'='.$newpw, time() + 31104000, "/" );
$fmsg = $lang['passwortchanged'];
} else {
$fmsg = $lang['passwortwrong'];
}
} else {
$fmsg = $lang['passwortnotequal'];
}
}
# avatar speichern START
$avatar_sql_update = '';
if ( !empty ( $_FILES['avatarfile']['name'] ) AND $allgAr['forum_avatar_upload'] ) {
$file_tmpe = $_FILES['avatarfile']['tmp_name'];
$rile_type = ic_mime_type ($_FILES['avatarfile']['tmp_name']);
$file_type = $_FILES['avatarfile']['type'];
$file_size = $_FILES['avatarfile']['size'];
$fmsg = $lang['avatarisnopicture'];
$size = @getimagesize ($file_tmpe);
$endar = array (1 => 'gif', 2 => 'jpg', 3 => 'png');
if ( ($size[2] == 1 OR $size[2] == 2 OR $size[2] == 3) AND $size[0] > 10 AND $size[1] > 10 AND substr ( $file_type , 0 , 6 ) == 'image/' AND substr ( $rile_type , 0 , 6 ) == 'image/' ) {
$endung = $endar[$size[2]];
$breite = $size[0];
$hoehe = $size[1];
$fmsg = $lang['avatarcannotupload'];
if ( $file_size <= $allgAr['Fasize'] AND $breite <= $allgAr['Fabreite'] AND $hoehe <= $allgAr['Fahohe'] ) {
$neuer_name = 'include/images/avatars/'.$_SESSION['authid'].'.'.$endung;
@unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = ".$_SESSION['authid']),0));
move_uploaded_file ( $file_tmpe , $neuer_name );
@chmod($neuer_name, 0777);
$avatar_sql_update = "avatar = '".$neuer_name."',";
$fmsg = $lang['pictureuploaded'];
}
}
} elseif ( isset($_POST['avatarloeschen']) ) {
$fmsg = $lang['picturedelete'];
@unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = ".$_SESSION['authid']),0));
$avatar_sql_update = "avatar = '',";
}
# avatar speichern ENDE
# email aendern
if ($_POST['email'] != $_POST['aemail']) {
$id = $_SESSION['authid'].'||'.md5 (uniqid (rand()));
db_query("INSERT INTO prefix_usercheck (`check`,email,datime,ak)
VALUES ('".$id."','".escape($_POST['email'],'string')."',NOW(),3)");
$page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
$text = $lang['changedthemail'] . sprintf ($lang['registconfirmlink'], $page, $id );
icmail ($_POST['email'], $lang['mail'].' '.$lang['changed'], $text );
$fmsg = $lang['pleaseconfirmmail'];
}
#
#remove account
if (isset($_POST['removeaccount'])) {
$id = $_SESSION['authid'].'-remove-'.md5 (uniqid (rand()));
db_query("INSERT INTO prefix_usercheck (`check`,email,datime,ak)
VALUES ('".$id."','".escape($_POST['email'],'string')."',NOW(),5)");
$page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
$text = $lang['removeconfirm'] . sprintf ($lang['registconfirmlink'], $page, $id );
icmail ($_POST['email'], html_entity_decode($lang['removeaccount']), $text );
$fmsg = $lang['pleaseconfirmremove'];
}
# remove account
# statische felder speichern
db_query("UPDATE prefix_user
SET
homepage = '".get_homepage(escape($_POST['homepage'], 'string'))."',
wohnort = '".escape($_POST['wohnort'], 'string')."',
icq = '".escape($_POST['icq'], 'string')."',
msn = '".escape($_POST['msn'], 'string')."',
yahoo = '".escape($_POST['yahoo'], 'string')."',
".$avatar_sql_update."
aim = '".escape($_POST['aim'], 'string')."',
staat = '".escape($_POST['staat'], 'string')."',
geschlecht = '".escape($_POST['geschlecht'], 'string')."',
status = '".escape($_POST['status'], 'string')."',
opt_mail = '".escape($_POST['opt_mail'], 'string')."',
opt_pm = '".escape($_POST['opt_pm'], 'string')."',
opt_pm_popup = '".escape($_POST['opt_pm_popup'], 'string')."',
gebdatum = '".get_datum(escape($_POST['gebdatum'], 'string'))."',
sig = '".substr(escape($_POST['sig'], 'string'),0,$allgAr['forum_max_sig'])."',
gilde = '".escape($_POST['gilde'], 'string')."',
lev = '".escape($_POST['lev'], 'string')."',
alf = '".escape($_POST['alf'], 'int')."',
fen = '".escape($_POST['fen'], 'int')."',
gla = '".escape($_POST['gla'], 'int')."',
hel = '".escape($_POST['hel'], 'int')."',
mid = '".escape($_POST['mid'], 'int')."',
nam = '".escape($_POST['nam'], 'int')."',
forn = '".escape($_POST['forn'], 'int')."',
wat = '".escape($_POST['wat'], 'int')."',
ruf = '".escape($_POST['ruf'], 'int')."',
tok = '".escape($_POST['tok'], 'int')."',
kar = '".escape($_POST['kar'], 'int')."',
abe = '".escape($_POST['abe'], 'int')."',
sos = '".escape($_POST['sos'], 'int')."',
vol = '".escape($_POST['vol'], 'int')."',
cad = '".escape($_POST['cad'], 'int')."',
ran = '".escape($_POST['ran'], 'int')."',
gle = '".escape($_POST['gle'], 'int')."',
pgi = '".escape($_POST['pgi'], 'int')."',
ctp = '".escape($_POST['ctp'], 'int')."',
gesamt = '".escape($_POST['gesamt'], 'int')."',
durch = '".escape($_POST['durch'], 'double')."'
WHERE id = ".$_SESSION['authid']
);
echo "TEST";
echo $gesamt;
echo $durch;
ganz oben habe ich die Variablen auf einen festen Wert gesetzt $gesamt = 190; $$durch = $gesamt/19; und ganz unten möchte ich die kurz anzeigen lassen echo "TEST"; echo $gesamt; echo $durch; Test wird mir über dem Kopf für 3 sek angezeigt,alles andere nicht. Jemand eine Idee ? Zuletzt modifiziert von Tommy67 am 16.05.2010 - 13:02:26 MfG Tommy67 |
||
| Mairu Coder
Posts: 12617 |
Hast recht, das war doof.
Versuchs mal so. # statische felder speichern
$fields = array('alf','fen','gla','hel','mid','nam','forn','wat','ruf','tok','kar','abe','sos','vol','cad','ran','gle','pgi','ctp');
$sqladd = array();
$gesamt = 0;
foreach ($fields as $f){
$tmp = escape($_POST[$f], 'integer');
$sqladd[] = $f . ' = ' . $tmp;
$gesamt += $tmp;
}
$sqladd[] = 'gesamt = ' . $gesamt;
$sqladd[] = 'durch = ' . ($gesamt / 19);
$sqladd = implode(", ", $sqladd);
db_query("UPDATE prefix_user SET
homepage = '".get_homepage(escape($_POST['homepage'], 'string'))."',
wohnort = '".escape($_POST['wohnort'], 'string')."',
icq = '".escape($_POST['icq'], 'string')."',
msn = '".escape($_POST['msn'], 'string')."',
yahoo = '".escape($_POST['yahoo'], 'string')."',
".$avatar_sql_update."
aim = '".escape($_POST['aim'], 'string')."',
staat = '".escape($_POST['staat'], 'string')."',
geschlecht = '".escape($_POST['geschlecht'], 'string')."',
status = '".escape($_POST['status'], 'string')."',
opt_mail = '".escape($_POST['opt_mail'], 'string')."',
opt_pm = '".escape($_POST['opt_pm'], 'string')."',
opt_pm_popup = '".escape($_POST['opt_pm_popup'], 'string')."',
gebdatum = '".get_datum(escape($_POST['gebdatum'], 'string'))."',
sig = '".substr(escape($_POST['sig'], 'string'),0,$allgAr['forum_max_sig'])."',
gilde = '".escape($_POST['gilde'], 'string')."',
lev = '".escape($_POST['lev'], 'string')."',
".$sqladd."
WHERE id = ".$_SESSION['authid']
);Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Tommy67 Mitglied
Posts: 14 |
MAIRU !!!!!
Werde Dich ab heute in meine Gebete mit einschliessen !!! Ein einfaches DANKE ist wohl viel zu wenig. Dennoch möchte ich mich bei Dir ganz herzlich bedanken ! Ein kleine Frage habe ich noch. die profil_edit.htm hat ja jetzt die beiden Felder für GESAMT und DURCHSCHNITT Kann man die so machen das sie die Daten zwar anzeigen, aber nicht editierbar sind ? <label style="float:left; width:35%;">Gesamt</label><input style="margin-bottom:2px;" name="gesamt" value="{gesamt}"/>
<strong>HIER NICHTS ÄNDERN !</strong><br style="clear:both;" />
<label style="float:left; width:35%;">Durchschnitt</label><input style="margin-bottom:2px;" name="durch" value="{durch}"/>
<strong>HIER NICHTS ÄNDERN !</strong><br style="clear:both;" />
Das ist zwar nicht zwingend erforderlich, aber wäre schön. Nochmals VIELEN VIELEN DANK MfG Tommy67 |
||
| Mairu Coder
Posts: 12617 |
Sicher du brauchst ja keine Input Felder benutzen einfach nur {gesamt} reicht auch, andere Möglichkeit ist, dem input das Attribut readonly="readonly" zu verpassen, dann sollte man es auch nicht ändern können.
Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite |
||
| Tommy67 Mitglied
Posts: 14 |
So damit wäre das jetzt erledigt.
Nochmals einen RIESEN DANK an Mairu !!! Threat kabb geschlossen werden ;-) MfG Tommy67 |
||
| [ Anmelden zum schreiben ] |