ilch Forum » Allgemein » HTML, PHP, SQL,... » Input Feld auf Readonly setzen

Geschlossen
  1. #1
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Folgendes Problem:

    Mein Ex-Clan möchte demnächst ein kleines MoH:AA Tunier abhalten.
    Dazu hab ich auch schon ne Seite erstellt mit Cupmodul und so weiter.

    Außerdem habe ich im Profil noch ein Feld Namens DMW ID hinzugefügt.
    DMW ist das Anticheattool für MoH:AA und die DMW ID ist die ID eines Profils auf dmwworld.com. Das jetzt nur zu Erklärung.

    Jetzt soll dieses Profilfeld gesperrt (readonly) werden sobald etwas eingetragen ist, so das nur ein Admin über User verwalten im Adminbereich dieses Feld löschen kann.
    Sinn und Zweck ist das es so Fakern und Cheatern erschwert werden soll ihr DMW ID schnell mal zu ändern.


    Hier noch die Auszüge der entsprechenden Dateien

    profil_edit.php
    $design->header();
        $abf = 'SELECT email,wohnort,homepage,dmw,msn,icq,xfire,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
        $erg = db_query($abf);
        if ( db_num_rows($erg) > 0 ) {
          $row = db_fetch_assoc($erg);
            $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); ?>


    profiledit.htm

    <label style="float:left; width:35%;">{_lang_dmwid}</label><input style="margin-bottom:2px;" name="dmw" value="{dmw}" /><br style="clear:both;" />



    Es müßte in den <input> Tag eigentlich nur ein readonly eingefügt werden wenn das Feld dmw einen Wert enthält.

    Die Überprüfung hatte ich mir so gedacht
    if ( is_numeric($row['dmw']) ) { $sperre ='readonly'; } else { $sperre =''; }

    und im Template
    <label style="float:left; width:35%;">{_lang_dmwid}</label><input style="margin-bottom:2px;" name="dmw" value="{dmw}" {sperre} /><br style="clear:both;" />


    Nur irgendwie hab ich das mit der Übergabe an das Template noch immer nicht so drauf.

    Schon mal vielen Dank im vorraus für eure Hilfe
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hey Panicsheep,
    teste mal ob das funzt zwinker

    profil_edit.php
    $design->header();
        $abf = 'SELECT email,wohnort,homepage,dmw,msn,icq,xfire,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,geschlecht,spezrank FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';
        $erg = db_query($abf);
        if ( db_num_rows($erg) > 0 ) {
          $row = db_fetch_assoc($erg);
            $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'; }
        if ( !empty($row['dmwid']) ) { 
            $row['sperre'] = 'readonly '; //sperre on
        } else { 
            $row['sperre'] = ''; //sperre off
        } 
        $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);


    und profiledit.htm
    <label style="float:left; width:35%;">{_lang_dmwid}</label><input style="margin-bottom:2px;" name="dmw" value="{dmw}" {sperre} /><br style="clear:both;" />


    MfG OloX
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Funktioniert einwandfrei.
    Naja irgendwann werde ich das vielleicht auch endlich auf die Reihe kriegen.
    Aber in meinem Alter lernt man nicht mehr so.
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
Geschlossen

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

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten