ilch Forum » Ilch Clan 1.1 » Allgemein » Profilfeld nach Eintrag fixieren

Geschlossen
  1. #1
    User Pic
    leoleo Mitglied
    Registriert seit
    07.07.2009
    Beiträge
    124
    Beitragswertungen
    0 Beitragspunkte
    Hallo zusammen,

    ich möchte folgendes ändern und benötige dabei HILFE:

    ziel:

    ein user kann im profiledit.(php) die felder ausfüllen.
    ich möchte, dass der user in "wohnort" einen ort eintragen kann,
    diesen aber danach nicht wieder ändern überschreiben oder löschen kann...

    Mein Versuch dazu:

    0) das ganze sollte mit timestam zu lösen sein..oder)
    1) Feld "stamp" in der db ic1_user erstellen
    2) feld "stamp" in diese abfrage einfügen (profiledit.php ab zeile 19)

    	$abf = 'SELECT email,wohnort,name,loginname,aim,msn,icq,yahoo,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);


    ......und auch AB zeile 128 das feld löschen ( wo die felder neu gesetzt werden)....:
     # statische felder speichern
    		  db_query("UPDATE prefix_user
    			  SET
              name = '".escape($_POST['name'], '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'])."'
    				WHERE id = ".$_SESSION['authid']
          );


    als letztes noch ne if abfrage eingebaut ( ähnlich wie bei mail-adressen-änderung) die bei angabe des wohnortes die zeit in das feld " stamp" eintragen soll

    
     if ($_POST['wohnort'] != $_POST['awohnort']) {
        $id = $_SESSION['authid'].'||'.md5 (uniqid (rand()));
        db_query("INSERT INTO prefix_user (wohnort,stamp)
        VALUES ('".$row['wohnort'],'".time())");




    so, meine FRAGEN:

    1) ist dies der richtige WEG?
    2) wie verhinder ich das überschreiben von wohnort bei gesetztem timestamp?

    wie bekomm ich das hin ?

    Danke und Gruß

    leoleo


    Zuletzt modifiziert von leoleo am 23.08.2009 - 17:34:40
    wie du mir so ilch dir
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Son!c Hall Of Fame
    Registriert seit
    14.09.2006
    Beiträge
    3.766
    Beitragswertungen
    5 Beitragspunkte
    Was willst du denn mit dem Timestamp anfangen? Überprüf doch einfach ob im Wohnort schon was steht und wenn ja, Feld sperren. Ist doch eigentlich ganz einfach lächeln
    Nimm das Leben nicht zu ernst, du kommst sowieso nicht lebend raus.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Liver Mitglied
    Registriert seit
    12.08.2009
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    oder du nimmst einfach im template die jeweiligen inputs weg, dann hat er kein formular zum ändern zwinker
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    das feld beim editieren einfach nicht mehr anzeigen wenn wie sonic sagt etwas drin steht...

    Aber gegen frage wozu ist das gut?
    Und was wenn jemand Umzieht ?
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    leoleo Mitglied
    Registriert seit
    07.07.2009
    Beiträge
    124
    Beitragswertungen
    0 Beitragspunkte
    @liver das feld aus den templates nehmen will ich nicht, die user sollen sich ja einztragen können

    @sonic &rock@ ja wie kann ich es denn ausblenden wenn etwas drinsteht?

    @rock@ ..umziehen? das geht nich ;-)

    hmmm hab jetzt gegoogelt und hier was gefunden.. hilft mir nicht weiter....
    de.selfhtml.org/javascript/objekte/elements.htm#disabled

    kannst du mir bitte mehr infos geben...
    (laufen kann ich selber [wenig] ;
    stolpern&stümpern[geht] ;


    Zuletzt modifiziert von leoleo am 23.08.2009 - 21:09:45
    wie du mir so ilch dir
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ungefähr so

    include/contents/user/profile_edit.php

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    $title = $allgAr['title'].' :: Users :: Profil';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> &raquo; </b> Profil'.$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    
    
    
    if ( $_SESSION['authright'] <= -1 ) {
    
    if ( empty ($_POST['submit']) ) {
      $design->header();
    	$abf = 'SELECT email,wohnort,homepage,aim,msn,icq,yahoo,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' : '' );
    	$row['wohnortstate'] = ( empty($row['wohnort']) ? '' : 'disabled' );
        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 poassword
    	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'])."'
    				WHERE id = ".$_SESSION['authid']
          );
    
    
    	# change other profil fields
    
      profilefields_change_save ( $_SESSION['authid'] );
    	$design->header();
    
    	# definie and print msg
    	$fmsg = ( isset($fmsg) ? $fmsg : $lang['changesuccessful'] );
    	wd('?user-8' , $fmsg  , 3 );
    
    }
    
    } else {
    		$tpl = new tpl ( 'user/login' );
    		$tpl->set_out('WDLINK', '?user-8', 0);
    }
    
    $design->footer();
    ?>


    include/templates/user/profile_edit.htm
    <form action="index.php?user-profil" method="POST" enctype="multipart/form-data">
    	<fieldset>
    	  <legend>Persönliche Daten ändern</legend>
    		  <br />
    		  <label style="float:left; width:35%;">{_lang_mail}</label><input style="margin-bottom:2px;" name="email" value="{email}" /><input type="hidden" name="aemail" value="{email}" /><font class="smalfont">{_lang_mustbeentered}</font><br />
    			<label style="float:left; width:35%;">{_lang_homepage}</label><input style="margin-bottom:2px;" name="homepage" value="{homepage}" /><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_hometown}</label><input style="margin-bottom:2px;" name="wohnort" value="{wohnort}" {wohnortstate} /><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_icq}</label><input style="margin-bottom:2px;" name="icq" value="{icq}" /><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_msn}</label><input style="margin-bottom:2px;" name="msn" value="{msn}" /><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_yahoo}</label><input style="margin-bottom:2px;" name="yahoo" value="{yahoo}" /><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_aim}</label><input style="margin-bottom:2px;" name="aim" value="{aim}" /><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_birthday}</label><input style="margin-bottom:2px;" name="gebdatum" value="{gebdatum}" /><font class="smalfont">{_lang_dateformat}</font><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_state}</label><select style="margin-bottom:2px;" name="staat">{_list_staat@<option%1 value="%2">%3</option>}</select><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_sex}</label><input style="margin-bottom:2px;" type="radio" value="1" id="geschlecht1" name="geschlecht" {geschlecht1} /><label for="geschlecht1"> {_lang_male}</label>, <input id="geschlecht2" type="radio" value="2" name="geschlecht" {geschlecht2} /><label for="geschlecht2"> {_lang_female}</label>, <input id="geschlecht0" type="radio" value="0" name="geschlecht" {geschlecht0} /><label for="geschlecht0"> {_lang_itdoesntmatter}</label><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_status}</label><input id="status_aktiv" type="radio" value="1" name="status" {status1} /><label for="status_aktiv"> {_lang_active}</label>, <input id="status_inaktiv" type="radio" value="0" name="status" {status0} /><label for="status_inaktiv"> {_lang_inactive}</label><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_mails}<span class="smalfont"> {_lang_fromotherusers}?</span></label><input id="opt_mail1" type="radio" value="1" name="opt_mail" {opt_mail1} /><label for="opt_mail1"> {_lang_yes}</label>, <input id="opt_mail0" type="radio" value="0" name="opt_mail" {opt_mail0} /><label for="opt_mail0"> {_lang_no}</label><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_privatemessages}<span class="smalfont"> {_lang_fromotherusers}?</span></label><input id="opt_pm1" type="radio" value="1" name="opt_pm" {opt_pm1} /><label for="opt_pm1"> {_lang_yes}</label>, <input id="opt_pm0" type="radio" value="0" name="opt_pm" {opt_pm0} /><label for="opt_pm0"> {_lang_no}</label><br style="clear:both;" />
    			<label style="float:left; width:35%;">{_lang_privatemessages}<span class="smalfont"> {_lang_popupbynewmsg}?</span></label><input id="opt_pm_popup1" type="radio" value="1" name="opt_pm_popup" {opt_pm_popup1} /><label for="opt_pm_popup1"> {_lang_yes}</label>, <input id="opt_pm_popup0" type="radio" value="0" name="opt_pm_popup" {opt_pm_popup0} /><label for="opt_pm_popup0"> {_lang_no}</label><br  style="fclear:both;" /><br />
    			{_if_{forum_usergallery}=='1'}<div align="center">
                    <a href="index.php?user-usergallery-{uid}">Usergallery</a> &nbsp; <a href="index.php?user-remove"/></a>
                </div>{/_endif}<br />
                {EXPLODE}
          <fieldset>
          <legend>{_lang_removeaccount}</legend>
          <label style="float:left; width:35%;">&nbsp;</label><input type="checkbox" value="yes" name="removeaccount" /> {_lang_delete}? &nbsp; <font class="smalfont">{_lang_mustbeentered}</font>
          </fieldset>
          <fieldset>
    			  <legend>{_lang_avatar}</legend>
    			    <label style="float:left; width:35%;">&nbsp;</label>{avatarbild}<input type="checkbox" value="yes" name="avatarloeschen" /> {_lang_delete}?<br /><br />
    			    <label style="float:left; width:35%;">&nbsp;</label><input style="margin-bottom:2px;" type="file" name="avatarfile" /><br /><font class="smalfont"><br />{_lang_criterions}: {_lang_maxwidth} {Fabreite}px, {_lang_maxheight} {Fahohe}px {_lang_and} max size {Fasize} bytes.  {_lang_otherwisenoaction}.</font><br />
    			</fieldset>
    			<br />
    			{EXPLODE}
    			<fieldset>
    			  <legend>{_lang_signature}</legend>
    			    <label style="float:left; width:35%;"><font class="smalfont">{_lang_max} {forum_max_sig} {_lang_signs}.</font></label><textarea style="margin-bottom:2px;" cols="60" rows="2" name="sig">{sig}</textarea><br />
    			</fieldset>
    			<br />
    			<fieldset>
    			  <legend>{_lang_editpassword}</legend>
    			    <br />
    			    <label style="float:left; width:35%;">{_lang_current}</label><input style="margin-bottom:2px;" type="password" name="op" maxlength="20"><br />
    			    <label style="float:left; width:35%;">{_lang_new}</label><input style="margin-bottom:2px;" type="password" name="np1" maxlength="20"><br />
    			    <label style="float:left; width:35%;">{_lang_repeat}</label><input style="margin-bottom:2px;" type="password" name="np2" maxlength="20"><br />
    			</fieldset>
          <br />
          <fieldset>
            <br />
        {EXPLODE}
          </fieldset>
          <br />
          <div align="center">
          <input style="margin-bottom:2px;" type="submit" value="{_lang_send2}" name="submit">
          </div>
    	</fieldset>
    </form>


    gruß
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hey leoleo,
    habe hier den Thread gefunden, der dir bestimmt weiter Hilft zwinker
    externer Link
    MfG OloX
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Son!c Hall Of Fame
    Registriert seit
    14.09.2006
    Beiträge
    3.766
    Beitragswertungen
    5 Beitragspunkte
    Du machts in der Template entweder das input als {INPUT} oder eben in das input ein {DISABLED}. In der PHP musst du die Dinger dann festlegen und dort überprüfst du dann ob schon was drin steht, wenn nicht eben das Feld nicht anzeigen lassen.
    Nimm das Leben nicht zu ernst, du kommst sowieso nicht lebend raus.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    leoleo Mitglied
    Registriert seit
    07.07.2009
    Beiträge
    124
    Beitragswertungen
    0 Beitragspunkte
    Juchuu et looft
    .. mal wieder die elt für einen weiteren tag gerettet..

    Danke an euch 3!

    ...ich stell es mir immer kompliziertervor als es dann zu lösen ist.. Danke nochmal
    wie du mir so ilch dir
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten