ilch Forum » Allgemein » HTML, PHP, SQL,... » Guthabenanzeige in User-Loginbox

Geschlossen
  1. #1
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Hallo zusammen.

    Ich möchte unter admin.php?user ein Textfeld haben (neben "ändern" und "löschen") wo ich eine Zahl eintragen kann, die in der Datenbank bei diesem User gespeichert wird und bei dem User in der Loginbox ausgegeben wird.

    Kann mir jemand helfen?
    Vielen Dank.


    verwendete ilch Version: 1.1 P

    betroffene Homepage: eu-de.net
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Ich habe mal ein Beispiel erstellt wie ich das meine.

    Nur fehlt mir leider das nötige Wissen um das mit der MYSQL Datenbank und dem PHP umzusetzen.

    Bin wirklich sehr dankbar für jede Hilfe.

    gesperrtes Bild
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Kann mir denn jemand sagen ob ich hiermit auf dem richtigen Weg bin?

    guthaben.php
    <?php
    
    $guthaben = $_POST['{guthaben}'];
    
    mysql_query("INSERT INTO `prefix_guthaben' (Guthaben) VALUES ('$guthaben')");
    
    ?>

    guthaben.htm
    
    <form action="guthaben.php" method="POST">
    <input type="text" name="guthaben">
    <input type="submit" name="submit" value="Abschicken !">
    </form>
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Nein ... Du solltest Ilch Funktionen verwenden und musst natürlich vorhandene Datenbanktabellen, die jeweiligen PHPs und Templates erweitern!

    Wenn es nicht so dringend ist, kann ich Dir eine Umsetzungsart bis Ende der Woche zeigen.


    Zuletzt modifiziert von Lord|Schirmer am 20.05.2014 - 16:35:54
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    ja kein ding. hat keine eile. habe mir nur schon die finger wund gesucht und komme nicht wirklich damit zurecht.

    wäre echt super wenn du mir das erklären könntest. denn muss ich euch auch nicht mehr all zu oft auf die nerven gehen zwinker

    danke schonmal.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Als Orientierungs-Punkt vielleicht auch mal das Clankassen-Modul anschauen.
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    daran habe ich auch schon gedacht aber das ist mir leider noch für den anfang zu unübersichtlich als anfänger. ich habe auch das problem das wenn ich eine neue tabelle in der datenbank einfügen will immer nen fehler bekomme das ich die version überprüfen soll.

    ich glaube wenn mir das jemand erklärt wie genau das läuft das ich das besser verstehe als wenn ich irgendwelche module auseinander nehme bis es geht^^
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Hier mal eine mögliche Umsetzung:

    Erweiterung der Usertabelle um die Spalte Guthaben
    ALTER TABLE `prefix_user` ADD `guthaben` int(20) NOT NULL DEFAULT '0'


    Anpassung des User Templates im Adminbereich
    <td colspan="6"></td>

    ersetzen zu
    <td colspan="7"></td>


    Zeile 140 einfügen
    <tr class="Chead">
      <th>Name</th>
      <th>Recht</th>
      <th>Guthaben</th>
      <th>Gruppe</th>
      <th></th>
      <th></th>
      <th class="border">&nbsp;&nbsp;</th>
      {modlall}
    </tr>


    Zeile 160 einfügen
    <td><select id="recht{id}" onChange="changeUserRight({id})">{recht}</select></td>
    <td><form action="admin.php?user" method="POST"><input type="hidden" name="uid" value="{id}" /><input name="guthaben" maxlength="50" size="8" value="{guthaben}"></form></td>
    <td style="text-align: center;"><a onMouseOut="hiddpos('groupdiv{id}')" onMouseOver="alertpos('groupdiv{id}')" href="javascript:changeGruppen({id})" title="hier die Gruppenzugeh&ouml;rigkeit &auml;ndern">Gruppen</a></td>
    <td>&nbsp;<a href="admin.php?user-1-{id}"><img src="include/images/icons/edit.gif" border="0" title="&auml;ndern" alt="&auml;ndern" /></a>&nbsp;</td>
    <td>&nbsp;<a href="javascript:deleteUser({id})"><img src="include/images/icons/del.gif" border="0" title="l&ouml;schen" alt="l&ouml;schen" /></a>&nbsp;</td>
    <td class="border"></td>


    Anpassung der Verarbeitung admin/user.php

    $q = "SELECT name,recht,id FROM `prefix_user` WHERE name LIKE '" . $q . "' ORDER by recht,posts DESC LIMIT " . $anfang . "," . $limit;

    ersetzen zu
    $q = "SELECT name,recht,id,guthaben FROM `prefix_user` WHERE name LIKE '" . $q . "' ORDER by recht,posts DESC LIMIT " . $anfang . "," . $limit;


    Zeile 150 einfügen
    $ar = array (
      'name' => $row->name,
      'class' => $class,
      'guthaben' => $row->guthaben,
      'id' => $row->id,
      'grouplist' => user_get_group_list($row->id),
      'recht' => dblistee($row->recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"),
      'modslist' => user_get_mod_change_list($row->id),
    );


    nach der Funktion getfl()
    function getfl($gid) {
        $liste = '';
        $erg = db_query("SELECT view,name,reply,start,mods FROM prefix_forums WHERE view = " . $gid . " OR reply = " . $gid . " OR start = " . $gid . " OR mods = " . $gid);
        while ($row = db_fetch_assoc($erg)) {
            $v = ($row['view'] == $gid ? 'sehen/lesen,' : '');
            $r = ($row['reply'] == $gid ? 'antworten,' : '');
            $s = ($row['start'] == $gid ? 'Themen starten,' : '');
            $m = ($row['mods'] == $gid ? 'Moderieren,' : '');
            $liste .= $row['name'] . '<span class="smalfont">(' . $v . $r . $s . $m . ')</span>&nbsp;';
        }
        return($liste);
    }


    diese Abfrage einfügen
    if (isset($_POST['guthaben'])) {
        $uid = escape($_POST['uid'], 'integer');
        $guthaben = escape($_POST['guthaben'], 'integer');
        db_query("UPDATE `prefix_user` SET `guthaben` = " . $guthaben . " WHERE `id` = " . $uid);
    }


    So nun sollte im Adminbereich unter User schonmal alles funktionieren. Nun brauchst Du in deiner Login/Userbox nur noch die Ausgabe einarbeiten.

    Falls Du es mit der Userbox nicht hinbekommst, dann die beiden Datein bitte posten.


    Zuletzt modifiziert von Lord|Schirmer am 21.05.2014 - 22:32:36
    rules :: doku :: faq :: linkus
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    danke schonmal für die hilfe. habs in die loginbox eingefügt. in der php $tpl->set ( 'GUTHABEN' , $guthaben ); und {GUTHABEN} in der htm.

    wenn ich nun im admin bereich eine beliebige zahl eingebe und enter drücke läd die seite neu und der wert steht wieder auf 0 und in der datenbank unter dem user steht auch noch 0.

    wenn ich den wert in der datenbak auf z.b. 123 änder steht zwar im admin bereich 123 im textfeld aber in der box steht nix.


    Zuletzt modifiziert von xxlynusxx am 22.05.2014 - 00:48:33
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Im Adminbereich sollten aber die Änderungen funktionieren, wenn Du dich an die Anleitung hältst.

    Bei der Box musst Du um $guthaben zu ermitteln diesen Wert aus der Datenbank des jeweiligen Users abfragen.


    Zuletzt modifiziert von Lord|Schirmer am 22.05.2014 - 07:42:46
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    login_respoon.php
    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    defined ('main') or die ( 'no direct access' );
    
    $tpl = new tpl ( 'user/boxen_login_respoon.htm' );
    
    if ( loggedin() ) {
    
      if ( user_has_admin_right($menu,false) ) {
        $tpl->set ( 'ADMIN', '<a href="admin.php?admin">'.$lang['adminarea'].'</a>' );
      } else {
        $tpl->set ( 'ADMIN', '' );
      }
      $posts = db_query('SELECT posts from `prefix_user` WHERE id= "' . $_SESSION['authid'].'"' );
      if($posts = mysql_fetch_row($posts))
          $posts = $posts[0];
          else
          $posts = 0;
    
          $galerie = db_query('SELECT count(id) from `prefix_usergallery` WHERE uid= "' . $_SESSION['authid'].'"' );
      if($galerie = mysql_fetch_row($galerie))
          $galerie = $galerie[0];
          else
          $galerie = 0;
    
    $abf = 'SELECT id, name, avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';
    $erg = db_query($abf);
    $row = db_fetch_object($erg);
    
    if ( file_exists($row->avatar)) {
      $avatar = ' <a href="index.php?user-details-'.$_SESSION['authid'].'" title="Profil ansehen"><img src="'.$row->avatar.'" border="0" style="max-width:80px;" /></a>';
    }else{
    $avatar = '<a href="index.php?user-details-'.$_SESSION['authid'].'" title="Profil ansehen"><img src="include/images/avatars/wurstegal.jpg" border="0" style="max-width:80px;" /></a>';
    }
    
    $q = "SELECT COUNT(DISTINCT a.id) FROM prefix_topics a
        LEFT JOIN prefix_forums b ON b.id = a.fid
        LEFT JOIN prefix_posts c ON c.tid = a.id
        LEFT JOIN prefix_user d ON c.erstid = d.id
        LEFT JOIN prefix_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = b.view
        LEFT JOIN prefix_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = b.reply
        LEFT JOIN prefix_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = b.start
      WHERE (((b.view >= ".$_SESSION['authright']." AND b.view <= 0) OR
                (b.reply >= ".$_SESSION['authright']." AND b.reply <= 0) OR
                (b.start >= ".$_SESSION['authright']." AND b.start <= 0)) OR
                (vg.fid IS NOT NULL OR rg.fid IS NOT NULL OR sg.fid IS NOT NULL OR ".$_SESSION['authright']." = -9))
         AND c.time >= ". (time() - (3600 * 24 * 360)) ." AND c.time >= {$_SESSION['lastlogin']}
      ORDER BY c.time DESC";
    
          $lpost = db_query($q);
          if($lpost = mysql_fetch_row($lpost))
          $lpost = $lpost[0];
          else
          $lpost = 0;
    
    	  if ( $allgAr['Fpmf'] == 1 ) {
    		  $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']);
    			$check_pm = db_result($erg,0);
    			$nachrichten_link = '<a class="login_buttons" href="index.php?forum-privmsg">'.$lang['messages'].'</a>&nbsp;<span style="color:#ff0000;">('.$check_pm.')</span>';
    		} else {
    		  $nachrichten_link = '';
    		}
    
    $tpl->set ( 'UGALLERY', '<a href="index.php?user-usergallery-'.$_SESSION['authid'].'">Meine Gallery</a>&nbsp;<span >('.$galerie.')</span>');
    $tpl->set ( 'PROFILANSICHT', '<a href="index.php?user-details-'.$_SESSION['authid'].'">Profil ansehen</a> ');
    
    
    		$tpl->set ( 'SID' , session_id() );
    		$tpl->set ( 'NACHRICHTEN' , $nachrichten_link );
    		$tpl->set ( 'NAME', $_SESSION['authname'] );
    		$tpl->set('POSTS', $posts);
    		$tpl->set('LPOSTS', $lpost);
            $tpl->set ( 'AVATAR' , $avatar );
    		 $tpl->set ( 'guthaben' , $guthaben );
    
        $tpl->set ( 'POPUP', check_for_pm_popup() );
    	$tpl->out (0);
    }
    
    
    else {
      if (empty($_POST['login_name'])) { $_POST['login_name'] = 'Username'; }
    	if (empty($_POST['login_pw'])) { $_POST['login_pw'] = '&#1492;&#1492;&#1492;&#1492;&#1492;&#1492;&#1492;&#1492;&#1492;'; }
    	$regist = '';
    	if ( $allgAr['forum_regist'] == 1 ) {
    	  $regist = ' &nbsp; &nbsp; <a href="index.php?user-regist">Registrieren</a><br><a href="index.php?user-remind">Password vergessen?</a>';
    	}
    	$tpl->set_ar_out ( array ( 'regist' => $regist, 'wdlink' => '?'.$allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' => $_POST['login_name'] ) , 1 );
    }
    unset($tpl);
    ?>


    boxen_login_respoon.htm
    <table width="100%" border="0" cellspacing="0" cellpadding="0" valign="top" style="text-align:center;">
    <tr><td style="color:#ccc;font-family:sans-serif, Arial;font-size:1em;">Angemeldet: <b>{NAME}</b><td></tr></table>
    	<table width="100%" border="0" cellspacing="0" cellpadding="0" valign="top" style="text-align:center;">
    <tr><td style="color:#ccc;font-family:sans-serif, Arial;font-size:1em;">Guthaben: <b>{guthaben}</b><td></tr></table>
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0" valign="top" style="text-align:center;margin-top:7px;">
      <tr>
      <td width="100%" style="vertikal-align:center;">{AVATAR}<br></td></tr><tr>
        <td style="line-height:14px;margin-top:5px;"><a href="index.php?user-8">Profil editieren</a><br/><a href="index.php?forum-privmsg">{NACHRICHTEN}</a><br><br/><br/><a href="index.php?user-3"><b>Logout</a></b><br/>{_if_{SESSION_AUTHRIGHT}<='-8'}{ADMIN}{/_endif}</td>
    </tr>
    </table>
    {EXPLODE}
    <form method="POST"><input type="hidden" name="wdlink" value="{wdlink}" />
    <table width="210" border="0" cellspacing="0" cellpadding="0" valign="top" style="">
      <tr>
        <td>
    		  <span class="name_a">Name:</span><input type="text" name="name" size="15" value="{NAME}" onFocus="if (value == '{NAME}') {value = ''}" onBlur="if (value == '') {value = '{NAME}'}" maxlength="25" style="moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px; background:#fff;border-radius:5px;border: 1px solid #ccc;height:20px; width:100px;overflow:hidden;padding:5px;outline: none;color:#000;-moz-opacity: 0.4;
    opacity:.40;
    filter: alpha(opacity=40);-webkit-border-top-right-radius: 30px;-moz-border-radius-topright: 30px;border-top-right-radius: 30px;" /><br/>
    <span class="name_a">Passwort:</span><input type="password" size="15" value="{PASS}" onFocus="if (value == '{PASS}') {value = ''}" onBlur="if (value == '') {value = '{PASS}'}" maxlength="25" name="pass" style="margin-top:3px;moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px; background:#fff;border-radius:5px;border: 1px solid #ccc;height:20px; width:100px;overflow:hidden;padding:5px;outline: none;color:#000;-moz-opacity: 0.4;
    opacity:.40;
    filter: alpha(opacity=40);-webkit-border-bottom-left-radius: 30px;-moz-border-radius-bottomleft: 30px;border-bottom-left-radius: 30px;" /><br/>
    <span style="float:right;padding-right:23px;padding-top:4px;"><button type="submit" name="user_login_sub" value="Login" border="0" style="moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px; background:#fff;border-radius:5px;border: 1px solid #ccc;height:32px; width:60px;color:#000;font-family:sans-serif, Arial;font-size:11px;font-weight: none;text-transform:none;text-align:center;-moz-opacity: 0.4;
    opacity:.40;
    filter: alpha(opacity=40);-webkit-border-bottom-right-radius: 20px;-moz-border-radius-bottomright: 20px;border-bottom-right-radius: 20px;" title="Login">Login</button></span></td></tr><tr>
    <td style="float:right;padding-right:24px;padding-top:6px;"><a href="index.php?user-regist" title="Account erstellen">Regist.</a>      <a href="index.php?user-remind" title="Passwort vergessen?">Passwort Lost?</a></td>
    </tr>
    </table>
    </form>
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Folgende Anpassungen in der login_respoon.php

    $abf = 'SELECT id, name, avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';

    zu
    $abf = 'SELECT id, name, avatar, guthaben FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';


    und

    $tpl->set ( 'guthaben' , $guthaben );

    zu
    $tpl->set ( 'guthaben' , $row->guthaben );


    ... dann sollte es funktionieren!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    danke habe alle änderungen vorgenommen. leider bin ich grade mit der domain umgezogen und nun sind die dns einstellungen noch nicht durch. kann es also erst später testen und sage dir dann bescheid.

    Edit:

    $tpl->set ( 'guthaben' , $row->guthaben );

    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /kunden/429215_25451/eu-de/include/boxes/login_respoon.php on line 75


    Zuletzt modifiziert von xxlynusxx am 22.05.2014 - 23:47:21
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Poste bitte mal die geänderte Box.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Es wird alles richtig angezeigt aber wenn ich im Admin Bereich eine Zahl eingebe bleibt der Wert in der Datenbak sowie in der Box auf 0


    login_respoon.php
    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    defined ('main') or die ( 'no direct access' );
    
    $tpl = new tpl ( 'user/boxen_login_respoon.htm' );
    
    if ( loggedin() ) {
    
      if ( user_has_admin_right($menu,false) ) {
        $tpl->set ( 'ADMIN', '<a href="admin.php?admin">'.$lang['adminarea'].'</a>' );
      } else {
        $tpl->set ( 'ADMIN', '' );
      }
      $posts = db_query('SELECT posts from `prefix_user` WHERE id= "' . $_SESSION['authid'].'"' );
      if($posts = mysql_fetch_row($posts))
          $posts = $posts[0];
          else
          $posts = 0;
    
          $galerie = db_query('SELECT count(id) from `prefix_usergallery` WHERE uid= "' . $_SESSION['authid'].'"' );
      if($galerie = mysql_fetch_row($galerie))
          $galerie = $galerie[0];
          else
          $galerie = 0;
    
    $abf = 'SELECT id, name, avatar, guthaben FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';
    $erg = db_query($abf);
    $row = db_fetch_object($erg);
    
    if ( file_exists($row->avatar)) {
      $avatar = ' <a href="index.php?user-details-'.$_SESSION['authid'].'" title="Profil ansehen"><img src="'.$row->avatar.'" border="0" style="max-width:80px;" /></a>';
    }else{
    $avatar = '<a href="index.php?user-details-'.$_SESSION['authid'].'" title="Profil ansehen"><img src="include/images/avatars/wurstegal.jpg" border="0" style="max-width:80px;" /></a>';
    }
    
    $q = "SELECT COUNT(DISTINCT a.id) FROM prefix_topics a
        LEFT JOIN prefix_forums b ON b.id = a.fid
        LEFT JOIN prefix_posts c ON c.tid = a.id
        LEFT JOIN prefix_user d ON c.erstid = d.id
        LEFT JOIN prefix_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = b.view
        LEFT JOIN prefix_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = b.reply
        LEFT JOIN prefix_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = b.start
      WHERE (((b.view >= ".$_SESSION['authright']." AND b.view <= 0) OR
                (b.reply >= ".$_SESSION['authright']." AND b.reply <= 0) OR
                (b.start >= ".$_SESSION['authright']." AND b.start <= 0)) OR
                (vg.fid IS NOT NULL OR rg.fid IS NOT NULL OR sg.fid IS NOT NULL OR ".$_SESSION['authright']." = -9))
         AND c.time >= ". (time() - (3600 * 24 * 360)) ." AND c.time >= {$_SESSION['lastlogin']}
      ORDER BY c.time DESC";
    
          $lpost = db_query($q);
          if($lpost = mysql_fetch_row($lpost))
          $lpost = $lpost[0];
          else
          $lpost = 0;
    
    	  if ( $allgAr['Fpmf'] == 1 ) {
    		  $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']);
    			$check_pm = db_result($erg,0);
    			$nachrichten_link = '<a class="login_buttons" href="index.php?forum-privmsg">'.$lang['messages'].'</a>&nbsp;<span style="color:#ff0000;">('.$check_pm.')</span>';
    		} else {
    		  $nachrichten_link = '';
    		}
    
    $tpl->set ( 'UGALLERY', '<a href="index.php?user-usergallery-'.$_SESSION['authid'].'">Meine Gallery</a>&nbsp;<span >('.$galerie.')</span>');
    $tpl->set ( 'PROFILANSICHT', '<a href="index.php?user-details-'.$_SESSION['authid'].'">Profil ansehen</a> ');
    
    
    		$tpl->set ( 'SID' , session_id() );
    		$tpl->set ( 'NACHRICHTEN' , $nachrichten_link );
    		$tpl->set ( 'NAME', $_SESSION['authname'] );
    		$tpl->set('POSTS', $posts);
    		$tpl->set('LPOSTS', $lpost);
            $tpl->set ( 'AVATAR' , $avatar );
    		$tpl->set ( 'guthaben' , $row->guthaben );
    
        $tpl->set ( 'POPUP', check_for_pm_popup() );
    	$tpl->out (0);
    }
    
    
    else {
      if (empty($_POST['login_name'])) { $_POST['login_name'] = 'Username'; }
    	if (empty($_POST['login_pw'])) { $_POST['login_pw'] = 'äääääääää'; }
    	$regist = '';
    	if ( $allgAr['forum_regist'] == 1 ) {
    	  $regist = ' &nbsp; &nbsp; <a href="index.php?user-regist">Registrieren</a><br><a href="index.php?user-remind">Password vergessen?</a>';
    	}
    	$tpl->set_ar_out ( array ( 'regist' => $regist, 'wdlink' => '?'.$allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' => $_POST['login_name'] ) , 1 );
    }
    unset($tpl);
    ?>


    boxen_login_respoon.htm
    <table width="100%" border="0" cellspacing="0" cellpadding="0" valign="top" style="text-align:center;">
    <tr><td style="color:#ccc;font-family:sans-serif, Arial;font-size:1em;">Angemeldet: <b>{NAME}</b><td></tr></table>
    	<table width="100%" border="0" cellspacing="0" cellpadding="0" valign="top" style="text-align:center;">
    <tr><td style="color:#ccc;font-family:sans-serif, Arial;font-size:1em;">Guthaben: <b>{guthaben}</b><td></tr></table>
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0" valign="top" style="text-align:center;margin-top:7px;">
      <tr>
      <td width="100%" style="vertikal-align:center;">{AVATAR}<br></td></tr><tr>
        <td style="line-height:14px;margin-top:5px;"><a href="index.php?user-8">Profil editieren</a><br/><a href="index.php?forum-privmsg">{NACHRICHTEN}</a><br><br/><br/><a href="index.php?user-3"><b>Logout</a></b><br/>{_if_{SESSION_AUTHRIGHT}<='-8'}{ADMIN}{/_endif}</td>
    </tr>
    </table>
    {EXPLODE}
    <form method="POST"><input type="hidden" name="wdlink" value="{wdlink}" />
    <table width="210" border="0" cellspacing="0" cellpadding="0" valign="top" style="">
      <tr>
        <td>
    		  <span class="name_a">Name:</span><input type="text" name="name" size="15" value="{NAME}" onFocus="if (value == '{NAME}') {value = ''}" onBlur="if (value == '') {value = '{NAME}'}" maxlength="25" style="moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px; background:#fff;border-radius:5px;border: 1px solid #ccc;height:20px; width:100px;overflow:hidden;padding:5px;outline: none;color:#000;-moz-opacity: 0.4;
    opacity:.40;
    filter: alpha(opacity=40);-webkit-border-top-right-radius: 30px;-moz-border-radius-topright: 30px;border-top-right-radius: 30px;" /><br/>
    <span class="name_a">Passwort:</span><input type="password" size="15" value="{PASS}" onFocus="if (value == '{PASS}') {value = ''}" onBlur="if (value == '') {value = '{PASS}'}" maxlength="25" name="pass" style="margin-top:3px;moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px; background:#fff;border-radius:5px;border: 1px solid #ccc;height:20px; width:100px;overflow:hidden;padding:5px;outline: none;color:#000;-moz-opacity: 0.4;
    opacity:.40;
    filter: alpha(opacity=40);-webkit-border-bottom-left-radius: 30px;-moz-border-radius-bottomleft: 30px;border-bottom-left-radius: 30px;" /><br/>
    <span style="float:right;padding-right:23px;padding-top:4px;"><button type="submit" name="user_login_sub" value="Login" border="0" style="moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px; background:#fff;border-radius:5px;border: 1px solid #ccc;height:32px; width:60px;color:#000;font-family:sans-serif, Arial;font-size:11px;font-weight: none;text-transform:none;text-align:center;-moz-opacity: 0.4;
    opacity:.40;
    filter: alpha(opacity=40);-webkit-border-bottom-right-radius: 20px;-moz-border-radius-bottomright: 20px;border-bottom-right-radius: 20px;" title="Login">Login</button></span></td></tr><tr>
    <td style="float:right;padding-right:24px;padding-top:6px;"><a href="index.php?user-regist" title="Account erstellen">Regist.</a>      <a href="index.php?user-remind" title="Passwort vergessen?">Passwort Lost?</a></td>
    </tr>
    </table>
    </form>



    Zuletzt modifiziert von xxlynusxx am 23.05.2014 - 15:27:04
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Ich kann kein Fehler sehen. Beim Test der Anpassungen bei mir funktioniert alles.

    Am Besten Du gibst mir per PM mal dein FTP Zugangsdaten und ich schau mir das Problem mal direkt an.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    OK habe den Fehler bei Dir gefunden.

    Du hattest in der include/admin/user.php die Abfrage der Guthabeneingabe in die Funktion getfl(); und nicht danach eingebunden.

    Habe es dir angepasst ... nun sollte alles gehen.


    Zuletzt modifiziert von Lord|Schirmer am 23.05.2014 - 18:25:54
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    ich danke dir recht herzlich. alles gut. geht das auch mit komma zahlen?^^ dachte da so an 2 stellen nach dem komma.
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Da muss der Datentyp prefix_user.guthaben von INT zu FLOAT oder DOUBLE geändert werden und escape() entfernen und/oder ggf. mit floatval() arbeiten.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    Ich habe INT auf FLOAT geändert.

    Kannst du mir das mit dem "ggf. mit floatval() arbeiten" erklären?
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Das
    $guthaben = escape($_POST['guthaben'], 'integer');

    zu
    $guthaben = floatval($_POST['guthaben']);


    ... wobei zu beachten ist, dass das Trennzeichen ein Punkt ist, also kein Komma. Also 22.15 und nicht 22,15 ... ansonsten müsste man eher mit val/text als Datentyp arbeiten und ggf. eine spezielle Prüffunktion schreiben. Probier es mal so.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    habe es geändert aber wieder bleibt der wert der gleiche nach enter klick und es ändert sich nix.
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Wenn Du z.B. 15.23 eingibst?
    Schau ich mir morgen mal an.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    ist da was falsch?

    `if (isset($_POST['guthaben'])) {
        $uid = escape($_POST['uid'], 'integer');
        $guthaben = floatval($_POST['guthaben']);
        db_query("UPDATE `prefix_user` SET `guthaben` = " . $guthaben . " WHERE `id` = " . $uid);
    }
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Abgesehen von dem ` vor dem if ... nein.
    Das Datenbankfeld hast Du auch geändert?
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    das ` ist nicht in der php drinne^^

    gesperrtes Bild


    Zuletzt modifiziert von xxlynusxx am 24.05.2014 - 01:12:15
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Nebenbei: wenn du genau 2 Nachkommastellen willst, solltest du lieber Decimal 10,2 verwenden als Float.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    Hey Danke Mairu für den Tip!

    @xxlynusxx habe es Dir angepasst!
    Admin ->> User

    Front ->> Login / Userbox
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    xxlynusxx Mitglied
    Registriert seit
    28.01.2013
    Beiträge
    272
    Beitragswertungen
    4 Beitragspunkte
    hi danke. kannst du mir sagen was du geändert hast damit ich das nachvollziehen kann? möchte ja was lernen zwinker


    Zuletzt modifiziert von xxlynusxx am 24.05.2014 - 13:42:32
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.645
    Beitragswertungen
    1195 Beitragspunkte
    SQL ->> Spalte für Guthaben anlegen
    ALTER TABLE `prefix_user` ADD `guthaben` decimal(10,2) NOT NULL DEFAULT '0.00'


    admin/user.php ->> Siehe Zeilen 62-66, 145 und 155
    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function user_get_group_list ($uid) {
        $l = 'Mitglied in Gruppen:<br />';
        $erg = db_query("SELECT prefix_groups.name FROM prefix_groupusers LEFT JOIN prefix_groups ON prefix_groups.id = prefix_groupusers.gid WHERE prefix_groupusers.uid = " . $uid);
        while ($r = db_fetch_assoc($erg)) {
            $l .= '- ' . $r['name'] . '<br />';
        }
        return ($l);
    }
    
    function user_get_all_mod_list () {
        $l = '';
        $erg = db_query("SELECT DISTINCT name FROM prefix_modules WHERE fright = 1 ORDER BY prefix_modules.name");
        while ($r = db_fetch_assoc($erg)) {
            $x = $r['name'];
            $l .= '<th style="font-size: 9px; font-weight: normal;" title="' . $r['name'] . '" valign="bottom">' . $x . '</th>';
        }
        return ($l);
    }
    
    function user_get_mod_change_list ($uid) {
        $l = '';
        $erg = db_query("SELECT prefix_modules.id, uid FROM prefix_modules LEFT JOIN prefix_modulerights ON prefix_modulerights.mid = prefix_modules.id AND prefix_modulerights.uid = " . $uid . " WHERE fright = 1 ORDER BY prefix_modules.name");
        while ($r = db_fetch_assoc($erg)) {
            if ($r['uid'] == '') {
                $c = '';
            } else {
                $c = ' checked';
            }
            $l .= '<td align="center"><input onclick="changeModulRecht(' . $r['id'] . ',' . $uid . ')" type="checkbox" id="MN' . $r['id'] . '-' . $uid . '" name="MN' . $r['id'] . '-' . $uid . '" ' . $c . ' /></td>';
        }
        return ($l);
    }
    
    function user_get_mod_list ($uid) {
        $l = 'Modulrechte:<br />';
        $erg = db_query("SELECT DISTINCT module FROM prefix_modulerights WHERE uid = " . $uid);
        while ($r = db_fetch_assoc($erg)) {
            $l .= '- ' . $r['module'] . '<br />';
        }
        return ($l);
    }
    
    function getfl($gid) {
        $liste = '';
        $erg = db_query("SELECT view,name,reply,start,mods FROM prefix_forums WHERE view = " . $gid . " OR reply = " . $gid . " OR start = " . $gid . " OR mods = " . $gid);
        while ($row = db_fetch_assoc($erg)) {
            $v = ($row['view'] == $gid ? 'sehen/lesen,' : '');
            $r = ($row['reply'] == $gid ? 'antworten,' : '');
            $s = ($row['start'] == $gid ? 'Themen starten,' : '');
            $m = ($row['mods'] == $gid ? 'Moderieren,' : '');
            $liste .= $row['name'] . '<span class="smalfont">(' . $v . $r . $s . $m . ')</span>&nbsp;';
        }
        return($liste);
    }
    
    if (isset($_POST['guthaben'])) {
    	$uid = escape($_POST['uid'], 'integer');
    	$guthaben = floatval($_POST['guthaben']);
    	db_query("UPDATE `prefix_user` SET `guthaben` = " . $guthaben . " WHERE `id` = " . $uid);
    }
    
    if (isset($_POST['action'])) {
    	$design = new design ('Admins Area', 'Admins Area', 1);
    	$design->header();
    	$wdtext = 'Es ist ein Fehler aufgetreten.';
    	if (chk_antispam('adminuser_action', true) and isset($_POST['uid'])) {
    		$uid = escape($_POST['uid'], 'integer');
    		switch($_POST['action']){
    			// einen user komplett loeschen
    			case 'deleteUser':
    				$name = get_n($uid);
    				if ($uid != 1 and !empty($name)) {
    					user_remove($uid);
    					$wdtext = 'Der User ' . $name . ' wurde erfolgreich gel&ouml;scht.';
    				}
    				break;
    			// das recht eines users aendern
    			case 'changeRight' :
    				$altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = " . $uid), 0);
    				$neues_recht = escape($_POST['newright'], 'integer');
    				if (($neues_recht > $_SESSION['authright'] AND $altes_recht > $_SESSION['authright']) OR ($_SESSION['authid'] == 1 AND $uid != 1)) {
    					$q = "UPDATE prefix_user SET recht = " . $neues_recht . " WHERE id = " . $uid;
    					db_query($q);
    				}
    				$wdtext = false;
    			break;
    			// modulrechte fuer einen user aendern
    			case 'changeModulRight' :
    				$modul = escape($_POST['modul'], 'integer');
    				$aktion = $_POST['giveremove'];
    				if ($aktion == 'give' AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid), 0)) {
    					db_query("INSERT INTO prefix_modulerights (mid,uid) VALUES ('" . $modul . "'," . $uid . ")");
    				} elseif ($aktion == 'remove' AND 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid), 0)) {
    					db_query("DELETE FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid);
    				}
    				$wdtext = false;
    			break;
    		}
    	}
    	if ($wdtext === false) {
    		$antispam = get_antispam('adminuser_action', 0, true);
    		?><script type="text/javascript"><!--
    		    function updateParent() { parent.setNewAntispam(document.getElementById('tmp').childNodes[0]);}
    		    window.onload = function() { updateParent(); };
    		    //--></script>
    		    <div id="tmp"><?php echo $antispam; ?></div>
    		<?php
    		exit;
    	}
    	wd('admin.php?' . $menu->get_complete(), $wdtext, 5);
    	$design->footer(1);
    }
    
    $um = $menu->get(1);
    switch ($um) {
        default :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $q = '';
            if (isset($_REQUEST['q'])) {
                $q = escape($_REQUEST['q'], 'string');
            }
            $tpl = new tpl ('user/user', 1);
            $tpl->set('modlall', user_get_all_mod_list());
            $tpl->set('anzmods', db_result(db_query("SELECT COUNT(*) FROM prefix_modules WHERE fright = 1"), 0));
            $tpl->set('action_antispam', get_antispam('adminuser_action', 0, true));
            $tpl->set_out('q', unescape($q), 0);
    
            $q = str_replace('*', '%', $q);
            if (strpos($q, '%') === false) {
                $q = $q . '%';
            }
    
            $limit = 15; // Limit
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            $MPL = db_make_sites ($page , "WHERE name LIKE '" . $q . "'" , $limit , '?user' , 'user');
            $anfang = ($page - 1) * $limit;
            $class = '';
            $q = "SELECT name,recht,id,guthaben FROM `prefix_user` WHERE name LIKE '" . $q . "' ORDER by recht,posts DESC LIMIT " . $anfang . "," . $limit;
            $erg = db_query($q);
            while ($row = db_fetch_object($erg)) {
                if ($class == 'Cmite') {
                    $class = 'Cnorm';
                } else {
                    $class = 'Cmite';
                }
                $ar = array ('name' => $row->name,
                    'class' => $class,
    				'guthaben' => $row->guthaben,
                    'id' => $row->id,
                    'grouplist' => user_get_group_list($row->id),
    				'recht' => dblistee($row->recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"),
                    'modslist' => user_get_mod_change_list($row->id),
                    );
    
                $tpl->set_ar_out($ar, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            $design->footer();
            break;
    
        // gruppen zugehoerigkeiten eines users aendern
        case 'gruppen' :
            $uid = $menu->get(2);
            if (isset($_POST['usergroups'])) {
                $erg = db_query("SELECT id FROM prefix_groups");
                while ($row = db_fetch_assoc($erg)) {
                    $ck = db_count_query("SELECT COUNT(uid) FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                    if ($ck == 0 AND isset ($_POST['grprhave'][$row['id']][$uid])) {
                        db_query("INSERT INTO prefix_groupusers (uid,gid,fid) VALUES ( " . $uid . ", " . $row['id'] . ", 3 )");
                    } elseif ($ck == 1 AND !isset ($_POST['grprhave'][$row['id']][$uid])) {
                        db_query("DELETE FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                    }
                }
            }
    
            $user_name = db_result(db_query("SELECT name FROM prefix_user WHERE id = " . $uid), 0);
            $tpl = new tpl ('user/gruppen', 1);
            $tpl->set_ar_out(array('username' => $user_name, 'userid' => $uid), 0);
            $class = 'Cnorm';
            $erg = db_query("SELECT name,id FROM prefix_groups");
            while ($row = db_fetch_assoc($erg)) {
                $ck = db_count_query("SELECT COUNT(uid) FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                $row['ck'] = ($ck == 0 ? '' : 'checked');
                $class = ($class == 'Cnorm' ? 'Cmite' : 'Cnorm');
                $row['class'] = $class;
                $tpl->set_ar_out($row, 1);
            }
            $tpl->out(2);
            break;
    
        // details eines users anzeigen
        case 1 :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            if (isset ($_REQUEST['uID'])) {
                $uid = $_REQUEST['uID'];
            } else {
                $uid = $menu->get(2);
            }
            $erg = db_query("SELECT name,email,id,recht,wohnort,homepage,aim,msn,icq,yahoo,status,staat,gebdatum,sig,opt_pm,opt_pm_popup,opt_mail,geschlecht,spezrank,avatar FROM prefix_user WHERE id = '" . $uid . "'");
            if (db_num_rows($erg) == 0) {
                die ('Fehler: Username nicht gefunden <a href="?user">zur&uuml;ck</a>');
            } else {
                $row = db_fetch_assoc($erg);
    
                $tpl = new tpl ('user/details', 1);
                $row['recht'] = dbliste ($row['recht'] , $tpl, 'recht', "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC");
                $row['staat'] = '<option></option>' . arliste ($row['staat'] , get_nationality_array() , $tpl , 'staat');
                $row['spezrank'] = '<option></option>' . dbliste ($row['spezrank'], $tpl, 'spezrank', "SELECT id, bez FROM prefix_ranks WHERE spez = 1");
    
                $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';
                }
                if (@file_exists($row['avatar'])) {
                    $row['avatar'] = '<img src="' . $row['avatar'] . '" border="0" /><br />' ;
                }else {
                    $row['avatar'] = '';
                }
                $row['antispam'] = get_antispam('adminuser', 0, true);
                $tpl->set_ar_out ($row, 0);
    
                profilefields_change ($row['id']);
    
                $tpl->out(1);
            }
            $design->footer();
            break;
        // details des users aendern
        case 2 :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $changeok = true;
            $uid = escape($_POST['uID'], 'integer');
    
            $altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = " . $uid), 0);
            $neues_recht = escape($_POST['urecht'], 'integer');
            if (($neues_recht <= $_SESSION['authright'] OR $altes_recht <= $_SESSION['authright']) AND $_SESSION['authid'] > 1) {
                $changeok = false;
            }
    
            if ($changeok and chk_antispam('adminuser', true)) {
                if (isset($_POST['userdel'])) {
                    user_remove($uid);
                    wd ('?user', 'User wurde erfolgreich gel&ouml;scht');
                } else {
                    $abf = "SELECT * FROM prefix_user WHERE id = '" . $uid . "'";
                    $erg = db_query($abf);
                    $row = db_fetch_object($erg);
    
                    if (isset($_POST['passw'])) {
                        $newPass = genkey (8);
                        $newPassHash = user_pw_crypt($newPass);
                        icmail ($row->email , 'neues Password' , "Hallo\n\nDein Password wurde soeben von einem Administrator gäendert es ist nun:\n\n$newPass\n\nGruß der Administrator");
                        db_query('UPDATE `prefix_user` SET pass = "' . $newPassHash . '" WHERE id = "' . escape($_POST['uID'], 'integer') . '"');
                    }
                    // avatar speichern START
                    $avatar_sql_update = '';
                    if (!empty ($_FILES['avatarfile']['name'])) {
                        $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];
                            $neuer_name = 'include/images/avatars/' . $uid . '.' . $endung;
                            @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = " . $uid), 0));
                            move_uploaded_file ($file_tmpe , $neuer_name);
                            @chmod($neuer_name, 0777);
                            $avatar_sql_update = ', avatar = "' . $neuer_name . '"';
                            $fmsg = $lang['pictureuploaded'];
                        }
                    } elseif (isset($_POST['avatardel'])) {
                        $fmsg = $lang['picturedelete'];
                        @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = " . $uid), 0));
                        $avatar_sql_update = ', avatar = ""';
                    }
                    // avatar speichern ENDE
                    profilefields_change_save (escape($_POST['uID'], 'integer'));
                    $usaName1 = escape($_POST['usaName1'], 'string');
                    $email = escape($_POST['email'], 'string');
                    $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');
                    $aim = escape($_POST['aim'], 'string');
                    $staat = escape($_POST['staat'], 'string');
                    $spezrank = escape($_POST['spezrank'], 'integer');
                    $geschlecht = escape($_POST['geschlecht'], 'integer');
                    $status = escape($_POST['status'], 'integer');
                    $opt_mail = escape($_POST['opt_mail'], 'integer');
                    $opt_pm = escape($_POST['opt_pm'], 'integer');
                    $opt_pm_popup = escape($_POST['opt_pm_popup'], 'integer');
                    $gebdatum = escape($_POST['gebdatum'], 'string');
                    $sig = escape($_POST['sig'], 'string');
                    // Name im Forum ändern
                    if ($_POST['forumname'] == 'on') {
                        $oldname = db_count_query("SELECT name FROM `prefix_user` WHERE id =" . $uid);
                        if ($oldname != $usaName1) {
                            db_query("UPDATE `prefix_posts` SET erst = '$usaName1' WHERE erstid = " . $uid);
                            db_query("UPDATE `prefix_topics` SET erst = '$usaName1' WHERE erst = '$oldname'");
                        }
                    }
                    db_query('UPDATE prefix_user
    			  SET
    					name  = "' . $usaName1 . '",
    					recht = "' . $neues_recht . '",
    					email = "' . $email . '",
              homepage = "' . $homepage . '",
              wohnort = "' . $wohnort . '",
              icq = "' . $icq . '",
              msn = "' . $msn . '",
              yahoo = "' . $yahoo . '",
              aim = "' . $aim . '",
              staat = "' . $staat . '",
              spezrank = "' . $spezrank . '",
              geschlecht = "' . $geschlecht . '",
              status = "' . $status . '",
              opt_mail = "' . $opt_mail . '",
              opt_pm = "' . $opt_pm . '",
              opt_pm_popup = "' . $opt_pm_popup . '",
              gebdatum = "' . $gebdatum . '",
              sig = "' . $sig . '"
              ' . $avatar_sql_update . '
    				WHERE id = "' . $uid . '"');
                }
            }
            wd('admin.php?user-1-' . $uid, 'Das Profil wurde erfolgreich geaendert', 2);
            $design->footer();
            break;
        // mal kurz nen neuen user anlegen
        case 'createNewUser' :
            $msg = '';
            if (!empty($_POST['name']) AND !empty($_POST['pass']) AND !empty($_POST['email']) and chk_antispam('adminuser_create', true)) {
                $_POST['name'] = escape($_POST['name'], 'string');
                $_POST['recht'] = escape($_POST['recht'], 'integer');
                $_POST['email'] = escape($_POST['email'], 'string');
                $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '" . $_POST['name'] . "'");
                if (db_num_rows($erg) > 0) {
                    $msg = 'Der Name ist leider schon vorhanden!';
                } else {
                    $new_pass = $_POST['pass'];
                    $passwordHash = user_pw_crypt($new_pass);;
                    db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email)
    		    VALUES('" . $_POST['name'] . "','" . $passwordHash . "'," . $_POST['recht'] . ",'" . time() . "','" . time() . "','" . $_POST['email'] . "')");
                    $userid = db_last_id();
                    db_query("INSERT INTO prefix_userfields (uid,fid,val) VALUES (" . $userid . ",2,'1')");
                    db_query("INSERT INTO prefix_userfields (uid,fid,val) VALUES (" . $userid . ",3,'1')");
    
                    if (isset($_POST['info'])) {
                        $page = $_SERVER["HTTP_HOST"] . $_SERVER["SCRIPT_NAME"];
                        $page = str_replace('admin.php', 'index.php', $page);
                        $tpl = new tpl ('user/new_user_email', 1);
                        $tpl->set('name', $_POST['name']);
                        $tpl->set('pass', $_POST['pass']);
                        $tpl->set('page', $page);
                        $txt = $tpl->get(0);
                        unset($tpl);
                        icmail ($_POST['email'], 'Admin hat dich angelegt', $txt);
                    }
                    $msg = 'Benutzer angelegt <a href="javascript:closeThisWindow()">Fenster schließen</a>';
                }
            }
            $pass = '';
            $email = '';
            $recht = '';
            if (isset($_POST['pass'])) {
                $pass = $_POST['pass'];
            }
            if (isset($_POST['email'])) {
                $email = $_POST['email'];
            }
            if (isset($_POST['recht'])) {
                $recht = $_POST['recht'];
            } else {
                $recht = '-1';
            }
            $tpl = new tpl ('user/new_user', 1);
            $tpl->set('msg', $msg);
            $tpl->set('pass', $pass);
            $tpl->set('email', $email);
            $tpl->set('recht', dblistee($recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"));
        	$tpl->set('antispam', get_antispam('adminuser_create', 0, true));
            $tpl->out(0);
            break;
    }
    
    ?>


    admin/templates/user/user.htm ->> Siehe Zeilen 134, 140 und 160-169
    <script language="JavaScript" type="text/javascript">
    <!--
    function createNamedElement(type, name) {
       var element = null;
       // Try the IE way; this fails on standards-compliant browsers
       try {
          element = document.createElement('<'+type+' name="'+name+'">');
       } catch (e) {
       }
       if (!element || element.nodeName != type.toUpperCase()) {
          // Non-IE browser; use canonical method to create named element
          element = document.createElement(type);
          element.name = name;
       }
       return element;
    }
    
      function setufocus() {
        document.f.q.focus();
      }
      // manage div ...
      document.onmousemove = checkPosition;
      function checkPosition(e) {
        if(document.all) {
          mausX = event.clientX + document.body.scrollLeft;
          mausY = event.clientY + document.body.scrollTop;
        } else {
          mausX = e.pageX;
          mausY = e.pageY;
        }
    
      }
      function alertpos(dname) {
      if (document.layers) {
        document.layers[0].left = mausX;
        document.layers[0].top = mausY;
      } else if (document.getElementById) {
        document.getElementById(dname).style.left = (mausX + 10) + "px";
        document.getElementById(dname).style.top = (mausY + 50 ) + "px";
      }
      document.getElementById(dname).style.display = "inline";
      }
      function hiddpos(dname) {
        document.getElementById(dname).style.display = "none";
      }
      function changeUserRight (id1) {
        var x = confirm ( 'Das Recht dieses Users wirklich aendern?' );
        if (x) {
          var options = {
            'action' : 'changeRight',
          	'uid' : id1,
          	'newright' : document.getElementById('recht'+id1).value
          };
    	  var frm = setIframe(options);
    	  frm.submit();
        }
      }
      function changeGruppen (id1) {
        var Fenster = window.open ('admin.php?user-gruppen-' + id1, 'changeGruppen', 'status=yes,scrollbars=yes,height=500,width=250,left=300,top=50');
        Fenster.focus();
      }
      function changeModulrecht (id1) {
        var Fenster = window.open ('admin.php?user-modulrecht-' + id1, 'changeModulrecht', 'status=yes,scrollbars=yes,height=500,width=250,left=300,top=50');
        Fenster.focus();
      }
      function deleteUser (id1) {
        var x = confirm ( 'Diesen User wirklich komplett entfernen?' );
        if (x) {
        	document.getElementById('af_action').value = 'deleteUser';
    		document.getElementById('af_uid').value = id1;
    		document.getElementById('actionForm').submit();
        }
      }
      function changeModulRecht ( modul, uid ) {
          var action = ( document.getElementById("MN" + modul + "-" + uid).checked == true ) ? 'give' : 'remove';
          var options = {
            'action' : 'changeModulRight',
          	'uid' : uid,
          	'giveremove' : action,
          	'modul' : modul
          };
    	  var frm = setIframe(options);
    	  frm.submit();
      }
      function setIframe(fields){
      	var ifrm = window.frames['ifrm']; //document.getElementById('ifrm');
    	var frm2 = document.getElementById('actionForm').cloneNode(true);
    	frm2.setAttribute('action', 'admin.php?user');
    	for (var f in fields){
    		if (frm2.elements[f] != undefined) {
    			frm2.elements[f].value = fields[f];
    		} else {
    		    var i = createNamedElement('input', f);
    		    i.setAttribute('type', 'hidden');
    		    i.setAttribute('value', fields[f]);
    		    frm2.appendChild(i);
    		}
    	}
    	if (document.all) {
    		ifrm.document.write(frm2.outerHTML);
    		frm2 = ifrm.document.all.actionForm;
    	} else {
    		ifrm.document.body.appendChild(frm2);
    	}
    	return frm2;
      }
      function setNewAntispam(element){
      	document.getElementById('actionForm').elements['antispam_id'].value = element.value;
      }
    //-->
    </script>
    <div style="float:right"><a href="admin.php?puser">Noch nicht best&auml;tigte Registrierungen verwalten</a></div>
    <form id="actionForm" id="actionForm" method="post">
    {action_antispam}
    <input type="hidden" name="action" id="af_action" value="" />
    <input type="hidden" name="uid" id="af_uid" value="0" />
    </form>
    <iframe name="ifrm" id="ifrm" style="display:none;"></iframe>
    <body onLoad="setufocus()">
    <form action="admin.php" name="f" method="GET" style="padding: 0px; margin:0px 0px 0px 0px;" >
      <input type="hidden" name="user" value="" />
    <table cellpadding="3" cellspacing="1" border="0" class="border" style="float:left">
      <tr>
        <td class="Cmite"><input name="q" value="{q}" /></td>
        <td class="Cdark"><input type="submit" value="Suchen" /></td>
      </tr>
    </table>
    </form>
    <br />
    <br />
    <br />
    <table cellpadding="3" cellspacing="1" border="0" class="border">
      <tr>
        <td colspan="7"></td>
        <td class="Cmite" colspan="{anzmods}"><b>Modulrechte:</b></td>
      </tr>
      <tr class="Chead">
        <th>Name</th>
        <th>Recht</th>
    	<th>Guthaben</th>
        <th>Gruppe</th>
        <th></th>
        <th></th>
        <th class="border">&nbsp;&nbsp;</th>
        {modlall}
      </tr>
     {EXPLODE}
    
    
    
      <tr class="{class}">
        <td><div onMouseOver="hiddpos('groupdiv{id}')" id="groupdiv{id}" style="position:absolute; top:50px; left:50px; display:none; width:200px;">
    <table width="100%" class="border" border="0" cellspacing="1" cellpadding="4">
      <tr>
        <td class="{class}" align="left">{grouplist}</td>
      </tr>
    </table>
    </div><strong>{name}</strong></td>
        <td><select id="recht{id}" onChange="changeUserRight({id})">{recht}</select></td>
    	<td>
          <table cellpadding="0" cellspacing="2" border="0">
            <tr>
              <td>
                <form action="admin.php?user" method="POST"><input type="hidden" name="uid" value="{id}" /><input name="guthaben" style="text-align:right;" maxlength="12" size="6" value="{guthaben}"></form>
              </td>
              <td>&euro;</td>
            </tr>
          </table>
        </td>
        <td style="text-align: center;"><a onMouseOut="hiddpos('groupdiv{id}')" onMouseOver="alertpos('groupdiv{id}')" href="javascript:changeGruppen({id})" title="hier die Gruppenzugeh&ouml;rigkeit &auml;ndern">Gruppen</a></td>
        <td>&nbsp;<a href="admin.php?user-1-{id}"><img src="include/images/icons/edit.gif" border="0" title="&auml;ndern" alt="&auml;ndern" /></a>&nbsp;</td>
        <td>&nbsp;<a href="javascript:deleteUser({id})"><img src="include/images/icons/del.gif" border="0" title="l&ouml;schen" alt="l&ouml;schen" /></a>&nbsp;</td>
        <td class="border"></td>
        {modslist}
      </tr>
     {EXPLODE}
    </table>
    {MPL}


    Ich denke die Änderungen in der Box hast Du erkannt.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten