» Forum » Clanscript » Module und Modifikationen » Datei profil_edit.php ändern
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Datei profil_edit.php ändern
Tommy67
Mitglied
0 Beitragspunkte
Posts: 14

0 Mitglieder finden den Beitrag gut.

Merkliste 15.05.2010 - 20:11:18     Zitieren
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
0 Beitragspunkte
Posts: 238

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 01:14:57     Zitieren
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
107 Beitragspunkte
Posts: 12617

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 08:19:47     Zitieren
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
0 Beitragspunkte
Posts: 14

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 08:57:26     Zitieren
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
0 Beitragspunkte
Posts: 14

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 12:56:36     Zitieren
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
107 Beitragspunkte
Posts: 12617

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 19:48:34     Zitieren
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
0 Beitragspunkte
Posts: 14

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 20:27:42     Zitieren
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 &Auml;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 &Auml;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
107 Beitragspunkte
Posts: 12617

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 21:51:39     Zitieren
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
0 Beitragspunkte
Posts: 14

0 Mitglieder finden den Beitrag gut.

Merkliste 16.05.2010 - 23:19:26     Zitieren
So damit wäre das jetzt erledigt.

Nochmals einen RIESEN DANK an Mairu !!!

Threat kabb geschlossen werden ;-)


MfG Tommy67

[ Anmelden zum schreiben ]