ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Regist Felder

Geschlossen
  1. #1
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    Hallo,
    Ich hab da mal ne Frage wie kann ich das machen das man bei der Regiestrierung mehrere Felder sind zum Ausfühlen, also z.B.


    Persönliche Daten
    Vorname
    Name
    Wohnort

    Andere Daten

    Nick
    PW

    also die Persönlichen Daten solten sich nur in der MySQL Datenbank speichern ???

    danke schonmal


    verwendete ilchClan Version: 1.1
    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
    ich weiß es nicht, würde aber gern wissen wozu?
    Nimm das Leben nicht zu ernst, du kommst sowieso nicht lebend raus.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    damit man die Persönlichen Daten auch hat brauch das net für Clan Page deshalb
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hey, freak!

    Dein Zitat:
    "...also die Persönlichen Daten solten sich nur in der MySQL Datenbank speichern ???....."

    Ja, kein Problem,also Vorname, Name, Wohnort, in die DB speichern und scheiß auf den Nick und das PW, wird einfach nicht in der DB gespeichert! Ist das SO richtig? zwinker

    Du musst die:
    include/contents/user
    regist.php und login.php und die confirm.php

    include/templates/user
    boxen_login.htm und login.htm und regist.htm

    ändern!

    Dann die user_regist() Funktion (include/includes/func/user.php) umschreiben, damit die Werte auch übertragen werden, und dann noch die DB (ic1_usercheck) erweitern, damit die Werte auch gespeichert werden!

    Das wars, ich denke das reicht als Lösung, für was muss ich machen!

    Mit böhsen Grüßen
    BöhserDavid

    PS: Wenn du jetzt willst, dass dir das einer macht, dann hätteste schreiben müssen, "Kann mir das mal bitte jemand coden?" oder so!
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    lool, okey dann kommt jetzt die frage könntest du mir dabei helfen das zu machen
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    muss ich das so machen
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    if ( !isset($_GET['step']) ) { $_GET['step'] = 1; }
    
    if ( $allgAr['forum_regist'] == 0 ) {
      # user duerfen sich nicht registrieren.
    	$title = $allgAr['title'].' :: Users :: Keine registrierung m&ouml;glich';
      $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b>Keine Registrierung m&ouml;glich'.$extented_forum_menu_sufix;
      $design = new design ( $title , $hmenu, 1);
      $design->header();
    	$tpl = new tpl ( 'user/login' );
    	echo '<b> Der Administrator hat festgelegt das man sich nicht registrieren kann </b>';
    	$tpl->set_out('WDLINK','?'.$allgAr['smodul'],0);
    	$design->footer();
      exit ();
    }
    
    switch ( $menu->get(2) ) {
      default :
    	  $title = $allgAr['title'].' :: Users :: Registrieren :: Step 1 von 3';
        $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 1 von 3'.$extented_forum_menu_sufix;
        $design = new design ( $title , $hmenu, 1 );
        $design->header();
    		$tpl = new tpl ( 'user/regist' );
    		$tpl->set_out('regeln', bbcode($allgAr['allg_regeln']),0);
    		$design->footer();
    	  break;
    	
    	case 2 :
    	  $name = '';
        $email = '';
        if (!empty($_POST['nutz'])) {
       	  $name = escape($_POST['nutz'],'string');
        }
        if (!empty($_POST['email'])) {
      		$email = escape($_POST['email'],'string');
        }
        
        $ch_name = false;
        $xname = escape_nickname($name);
        if (!empty($name) AND $xname == $name AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$name."'"),0)) {
          $ch_name = true;
        }
        
        if ( empty($name) OR empty($email) OR $name != $xname OR $ch_name == false ) {
          $title = $allgAr['title'].' :: Users :: Registrieren :: Step 2 von 3';
          $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 2 von 3'.$extented_forum_menu_sufix;
          $design = new design ( $title , $hmenu, 1);
    	    $design->header();
    		  if (empty($name) OR empty($email)) {
    		    $fehler = $lang['yourdata'];
    		  } elseif ($name != $xname) {
            $fehler = $lang['wrongnickname'];
          } elseif ($ch_name == false) {
    		    $fehler = $lang['namealreadyinuse'];
    		  }
      		$tpl = new tpl ( 'user/regist' );
          $tpl->set('name', $name);
          $tpl->set('email', $email);
    	  	$tpl->set_out('FEHLER', $fehler, 1);
    		  if ( $allgAr['forum_regist_user_pass'] == 1 ) {
    		    $tpl->out(2);
    		  }
    		  $tpl->out(3);
        } else {
    	  	$pass = genkey(8);
          if (!empty($_POST['pass'])) {
            $pass = escape($_POST['pass'], 'string');
          }
    	     $tpl->out(3);
        } else {
    	  	$vorname = genkey(8);
         if (!empty($_POST['vorname'])) {
           $vorname = escape($_POST['vorname'], 'string');
          }   
    	  	     $tpl->out(3);
        } else {
    	  	$name = genkey(8);
         if (!empty($_POST['name'])) {
           $name = escape($_POST['name'], 'string');
          } 
    	  	     $tpl->out(3);
        } else {
    	  	$wohnort = genkey(8);
         if (!empty($_POST['wohnort'])) {
           $wohnort = escape($_POST['wohnort'], 'string');
          }
    	  	     $tpl->out(3);
        } else {
    	  	$plz = genkey(8);
         if (!empty($_POST['plz'])) {
           $plz = escape($_POST['plz'], 'string');
          }
    	  	     $tpl->out(3);
        } else {
    	  	$straße = genkey(8);
         if (!empty($_POST['straße'])) {
           $straße = escape($_POST['straße'], 'string');
          }      
          user_regist ($name,$email,$pass,$vorname,$name,$wohnort,$plz,$straße);
          
          $tpl = new tpl ('user/regist' );
      		$title = $allgAr['title'].' :: Users :: Registrieren :: Step 3 von 3';
          $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 3 von 3'.$extented_forum_menu_sufix;
          $design = new design ( $title , $hmenu, 1);
    		  $design->header();
    		  $tpl->set_out ( 'NAME', $name, 4 );
        }
    		$design->footer();
    	  break;
    }
    ?>
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Klar, aber das machen wir besser per ICQ oder so, weil ich das dann gleich an deine Page anpassen kann, bevor hier 30 Posts entstehen, "Kannst du das noch so machen?" usw.
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    also ich hab jetzt ma was gemacht aber wenn man auf rediestriren klickt ist der user net regiestriert

    include/template/user/regist.htm

    <!-- REGELN -->
    <form action="index.php?user-regist-2" method="POST">
    
    {_lang_attentionplease}:
    <br />
    {regeln}
    
    
    <br /><br /><input type="submit" value="{_lang_readandok}" name="Yes">
    
    </form>
    {EXPLODE}
    <form action="index.php?user-regist-2" method="POST">
    <input type="hidden" value="Gelesen und einverstanden" name="checked">
    	<table width="100%" border="0" cellspacing="1" cellpadding="3" class="border">
        <tr class="Chead"> 
        <th colspan="3"><b>{_lang_REGISTER}</b></th>
      </tr><tr>
    	<td class="Cdark">Vorname</td>
    	<td colspan="2" class="Cdark"><span class="Cnorm">
    	  <input name="vorname" type="text" id="vorname" value="{vorname}" maxlength="100" />
    	</span></td>
      </tr>
      <tr>
        <td class="Cdark">Nachname</td>
        <td colspan="2" class="Cdark"><span class="Cnorm">
          <input name="nachname" type="text" id="nachname" value="{nachname}" maxlength="100" />
        </span></td>
      </tr>
      <tr>
        <td class="Cdark">Wohnort</td>
        <td width="146" class="Cdark"><span class="Cnorm">
          <input name="ort" type="text" id="ort" value="{ort}" maxlength="100" />
        </span></td>
        <td width="690" class="Cdark"><span class="Cnorm">
        </span></td>
      </tr>
      <tr>
        <td class="Cdark">Stra&szlig;e</td>
        <td class="Cdark"><span class="Cnorm">
          <input type="text" id="straße" value="{straße}" name="straße" />
        </span></td>
        <td class="Cdark">&nbsp;</td>
      </tr>
      <tr>
        <td colspan="3" class="Cdark">&nbsp;</td>
      </tr>
      <tr>
        <td colspan="3" class="Cdark">{FEHLER}</td>
      </tr>
      <tr>
              <td class="Cmite" width="114">{_lang_nickname}</td>
    					<td colspan="2" class="Cnorm"><input type="text" name="nutz" value="{name}" maxlength="15"></td>
            </tr><tr>
              <td class="Cmite">{_lang_mail}</td>
    					<td colspan="2" class="Cnorm"><input type="text" maxlength="100" value="{email}" name="email"></td>
            </tr>{EXPLODE}<tr>
              <td class="Cmite">{_lang_password}</td>
    					<td colspan="2" class="Cnorm"><input type="password" name="pass"></td>
            </tr>{EXPLODE}<tr class="Cdark">
              <td></td>
    					<td colspan="2"><input type="submit" value="{_lang_register}"></td>
            </tr>
          </table>
    </form>
    {EXPLODE}
    {_lang_hello} {NAME}<br>
    
    {_lang_yourregistrationwassuccessful}!<br><br>
    {_lang_amailhasbeensenttoyouwithmailandpass}!<br><br>
    {_lang_afteryoureceivedthemail} <a href="index.php?user-2">{_lang_login2}</a>


    include/content/user/regist.php
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    if ( !isset($_GET['step']) ) { $_GET['step'] = 1; }
    
    if ( $allgAr['forum_regist'] == 0 ) {
      # user duerfen sich nicht registrieren.
    	$title = $allgAr['title'].' :: Users :: Keine registrierung m&ouml;glich';
      $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b>Keine Registrierung m&ouml;glich'.$extented_forum_menu_sufix;
      $design = new design ( $title , $hmenu, 1);
      $design->header();
    	$tpl = new tpl ( 'user/login' );
    	echo '<b> Der Administrator hat festgelegt das man sich nicht registrieren kann </b>';
    	$tpl->set_out('WDLINK','?'.$allgAr['smodul'],0);
    	$design->footer();
      exit ();
    }
    
    switch ( $menu->get(2) ) {
      default :
    	  $title = $allgAr['title'].' :: Users :: Registrieren :: Step 1 von 3';
        $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 1 von 3'.$extented_forum_menu_sufix;
        $design = new design ( $title , $hmenu, 1 );
        $design->header();
    		$tpl = new tpl ( 'user/regist' );
    		$tpl->set_out('regeln', bbcode($allgAr['allg_regeln']),0);
    		$design->footer();
    	  break;
    	
    	case 2 :
    	$name = '';
        $email = '';
    	$vorname = '';
    	$nachname = '';
    	$ort = '';
    	$straße = '';
    	
        if (!empty($_POST['nutz'])) {
       	  $name = escape($_POST['nutz'],'string');
        }
        if (!empty($_POST['email'])) {
      		$email = escape($_POST['email'],'string');
        }
    	if (!empty($_POST['vorname'])) {
       	  $vorname = escape($_POST['vorname'],'string');
        }
    	if (!empty($_POST['nachname'])) {
       	  $nachname = escape($_POST['nachname'],'string');
        }
        if (!empty($_POST['ort'])) {
       	  $ort = escape($_POST['ort'],'string');
        }
        if (!empty($_POST['straße'])) {
       	  $straße = escape($_POST['straße'],'string');
        }
    				    
        $ch_name = false;
        $xname = escape_nickname($name);
        if (!empty($name) AND $xname == $name AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$name."'"),0)) {
          $ch_name = true;
        }
        
        if ( empty($name) OR empty($email) OR $name != $xname OR $ch_name == false ) {
          $title = $allgAr['title'].' :: Users :: Registrieren :: Step 2 von 3';
          $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 2 von 3'.$extented_forum_menu_sufix;
          $design = new design ( $title , $hmenu, 1);
    	    $design->header();
    		  if (empty($name) OR empty($email)) {
    		    $fehler = $lang['yourdata'];
    		  } elseif ($name != $xname) {
            $fehler = $lang['wrongnickname'];
          } elseif ($ch_name == false) {
    		    $fehler = $lang['namealreadyinuse'];
    		  }
      		$tpl = new tpl ( 'user/regist' );
          $tpl->set('name', $name);
          $tpl->set('email', $email);
    	  $tpl->set('vorname', $vorname);
    	  $tpl->set('nachname', $nachname);
    	  $tpl->set('ort', $ort);
    	  $tpl->set('straße', $straße);
    	  	$tpl->set_out('FEHLER', $fehler, 1);
    		
    		  if ( $allgAr['forum_regist_user_pass'] == 1 ) {
    		    $tpl->out(2);
    		  }
    		  $tpl->out(3);
        } else {
    	  	$pass = genkey(8);
          if (!empty($_POST['pass'])) {
            $pass = escape($_POST['pass'], 'string');
          }      
          user_regist ($name,$email,$pass,$vorname,$nachname,$ort,$straße);
          
          $tpl = new tpl ('user/regist' );
      		$title = $allgAr['title'].' :: Users :: Registrieren :: Step 3 von 3';
          $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b><a class="smalfont" href="?user-regist">Registrieren</a><b> &raquo; </b>Step 3 von 3'.$extented_forum_menu_sufix;
          $design = new design ( $title , $hmenu, 1);
    		  $design->header();
    		  $tpl->set_out ( 'NAME', $name, 4 );
        }
    		$design->footer();
    	  break;
    }
    ?>

    include/content/user/confirm.php
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: User :: Confirm';
    $hmenu = $extented_forum_menu.'<a class="smalfont" href="?user">User</a><b> &raquo; </b>Confirm'.$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    $abgelaufen = time() - 2592000; # 30 tage
    $abgelaufen = date('Y-m-d H:i:s',$abgelaufen);
    db_query("DELETE FROM prefix_usercheck WHERE datime < '".$abgelaufen."'");
    
    $erg = db_query("SELECT * FROM prefix_usercheck WHERE `check` = '".escape($_GET['check'], 'string')."'");
    if ( db_num_rows($erg) == 1 ) {
      $row = db_fetch_assoc($erg);
    	switch ( $row['ak'] ) {
    	  
    		# confirm regist
    	  case 1 :
    		  if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$row['name']."'") ) {
    			  db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm,wohnort)
    			  VALUES('".$row['name']."','".$row['pass']."',-1,'".time()."','".time()."','".$row['email']."',1,1,1)");	
            
    			  echo $lang['confirmregist'];
    			} else {
    			  echo $lang['confirmregistfailed']; 
    			}
    		  break;
    	  
    		# confirm new pass
    		case 2 :
    		  db_query("UPDATE prefix_user SET pass = '".$row['pass']."' WHERE name = BINARY '".$row['name']."'");
    		  echo $lang['confirmpassword'];
          break;
        
        # confirm new email
        case 3 :
          list ($id, $muell) = explode('||', $row['check']);
          db_query("UPDATE prefix_user SET email = '".$row['email']."' WHERE id = ". escape($id, 'integer')); 
          echo $lang['confirmemail'];
          break;
           
        # ak 4 wurde besetzt fuer joinus anfragen...
        case 4 :  break;
        
    	}
    	db_query("DELETE FROM prefix_usercheck WHERE `check` = '".$row['check']."'");
    } else {
      echo $lang['confirmfailure'];
    }
    
    $design->footer();
    ?>


    include/includes/func/user.php
    <?php
    
    # hier werden alle user spezifischen funktionen
    # definert...
    
    function user_identification () {
      user_auth();
      user_login_check();
      user_update_database();
      user_check_url_rewrite();
    }
    
    function user_auth () {
      debug ('user - auth gestartet'. session_id());
      $cn = session_und_cookie_name();
      if (!user_key_in_db()
       OR !isset($_SESSION['authid'])
       OR (isset($_SESSION['authsess']) AND $_SESSION['authsess'] != $cn)) {
        
        debug ('user - nicht in db oder nicht authid');
        
        user_set_guest_vars();
        user_set_user_online ();
        
        # wenn cn cookie vorhanden
        # dann checken ob er sich damit einloggen darf
        if (isset($_COOKIE[$cn])) {
          user_auto_login_check();
        }
        
        # gruppen, und modulzugehoerigkeit setzten
        user_set_grps_and_modules();
      }
    }
      
    function user_check_url_rewrite() {
      global $allgAr;
      if ( !loggedin() AND $allgAr['show_session_id'] == 0 ) {
        # loescht die sessionid von allen urls
        # auch urls wie formulare usw. damit
        # suchmaschienen bots nicht iritiert sind ;)
        # output_reset_rewrite_vars ist eine php funktion
        # nicht unnoetig dannach suchen ;) ...
        output_reset_rewrite_vars ();
      }
    }
    
    function user_update_database () {
      $dif = date('Y-m-d H:i:s', time() - 7200);
      db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
      db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
      if ( loggedin() ) {
        db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'"); 
      }
    }
    
    function user_set_user_online () {
      global $allgAr;
      if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        db_query("INSERT INTO prefix_online (sid,uptime,ipa) VALUES ('".session_id()."',now(),'".getip()."')");
      }
      $_SESSION['authgfx'] = $allgAr['gfx'];
    }
      
    function user_key_in_db() {
      if ( 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        return ( true );
      } else {
        return ( false );
      }
    }
    
    function session_und_cookie_name () {
      return (md5(dirname($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).DBPREF));
    }
    
    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['name']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE name = BINARY '".$_POST['name']."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if ( $row['pass'] == md5($_POST['pass']) ) {
            debug ('passwort stimmt ... '.$row['name']);
            $_SESSION['authname']  = $row['name'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            setcookie($_SESSION['authsess'], $row['id'].'='.$row['pass'] , time() + 31104000, "/" );
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'user');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
      
    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if ($row['pass'] == $pw) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          setcookie($cn, $row['id'].'='.$row['pass'], time() + 31104000, "/" );
          return (true);
        }
      }
    
      user_logout ();
      return (false);
    }
      
    function user_set_guest_vars() {
      $_SESSION['authname']  = 'Gast';
      $_SESSION['authid']    = 0;
      $_SESSION['authright'] = 0;
      $_SESSION['lastlogin'] = time();
      $_SESSION['authsess']  = session_und_cookie_name();
    }
    
    function user_markallasread () {
      $_SESSION['lastlogin'] = time();
    }
      
    function user_logout () {
      #global $allgAr;
      #$_SESSION = array();
      #$_SESSION['authgfx'] = $allgAr['gfx'];
      user_set_guest_vars();
      db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
      setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #if (isset($_COOKIE[session_name()])) {
      #  setcookie(session_name(), '', time()-99999999999931104000, '/');
      #}
      #setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #session_destroy();
    }
      
    function user_set_grps_and_modules () {
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      if ( loggedin() ) {
        $erg = db_query("SELECT gid FROM prefix_groupusers WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authgrp'][$row['gid']] = TRUE;
        }
        $erg = db_query("SELECT DISTINCT url
        FROM prefix_modulerights
        left join prefix_modules on prefix_modules.id = prefix_modulerights.mid
        WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authmod'][$row['url']] = TRUE;
        }
      }
    }
    
    function loggedin () {
      if ( has_right(-1) ) { return ( true ); } else { return ( false ); }
    }
    function is_admin () {
      if ( has_right(-9) ) { return ( true ); } else { return ( false ); }
    }
    function is_coadmin () {
      if ( has_right(-8) ) { return ( true ); } else { return ( false ); }
    } 
    function is_siteadmin ($m = NULL) {
      if ( has_right(-7) ) { return ( true ); }
      if ( !is_null($m) AND has_right(NULL, $m)) { return (true); }
      return ( false );
    }
    
    # diese funktion liefert immer true wenn es ein admin ist.
    # wenn kein kein admin wird geprueft ob der user
    # entweder ein angegebenes recht oder in einer angegebene
    # gruppe ist. oder ob er fals angegben das modulrecht hat.
    # wenn eines von diesen 3 kriterien stimmt wird true ansonsten
    # wenn keins uebereinstimmt false zurueck gegeben.
    function has_right ($recht,$modul = '') {
      if ( !is_array($recht) AND !is_null($recht) ) {
        $recht = array ( $recht );
      }
      
      if ( $_SESSION['authright'] == -9 ) {
        return ( true );
      }
    
      if ( !is_null($recht) ) {
        foreach ( $recht as $v ) {
          if ( ($v <= 0 AND $v >= $_SESSION['authright'] ) OR (isset($_SESSION['authgrp'][$v]) AND $_SESSION['authgrp'][$v] === true) ) {
            return (true);
          }
        }
      }
    
      if ( !empty($modul) AND isset($_SESSION['authmod'][$modul]) AND $_SESSION['authmod'][$modul] === true ) {
        return ( true );
      }
    
      return (false);
    }
    
    ### admin
    # wenn der 2. parameter weggelassen wird oder auf true gesetzt wird
    # dann wird ein login formular angezeigt, wenn der user kein admin ist.
    # wird der parameter auf false gesetzt wird das login formular nicht angezeigt.
    # erste parameter ist das menu objekt... 
    function user_has_admin_right (&$menu,$sl=true) {
      if ( $_SESSION['authright'] <= -8 ) {  # co leader...
        return ( true );
      } else {
        $uri_to_check1 = $menu->get(0);
        $uri_to_check2 = $menu->get(1); 
    	  if ( count($_SESSION['authmod']) < 1 OR !loggedin() ) {
    		  if ( $sl === true ) {
            if ( !loggedin() ) { 
              $tpl = new tpl ( 'user/login.htm' );
        	    $tpl->set_out('WDLINK','admin.php',0);
            } else {
              echo '<strong>Keine Berechtigung!</strong> <a href="index.php">Startseite</a>';
            }
          }
    		  return ( false );
        } elseif ( (isset($_SESSION['authmod'][$uri_to_check1]) AND $_SESSION['authmod'][$uri_to_check1] == true)
                  OR (isset($_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2]) AND $_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2] == true) ) {
          return ( true );
       	} elseif ( count($_SESSION['authmod']) > 0 AND loggedin() ) {
          if ( $sl === true ) {
            foreach($_SESSION['authmod'] as $k => $v ) { $x = $k; break; }
            $x = explode('-',$x);
            $menu->set_url (0, $x[0]);
            if ( isset($x[1]) ) {
              $menu->set_url (1, $x[1]);
            }
          }
          return ( true );
        }
      }
      return ( false );
    }
    
    function user_regist ($name, $mail, $pass, $vorname, $nachname, $ort, $straße) {
      global $allgAr, $lang;
      
      $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");
      if (db_num_rows($erg) > 0) {
        return (false);
      }
      
      if ( $allgAr['forum_regist_user_pass'] == 0 ) {
    		$new_pass = genkey(8);
      } else {
    	  $new_pass = $pass;
    	}
      
      $md5_pass = md5($new_pass);
    	$confirmlinktext = '';
    		
    	# confirm insert in confirm tb not confirm insert in user tb
    	if ( $allgAr['forum_regist_confirm_link'] == 1 ) {
    		# confirm link + text ... bit of shit put it in languages file
    	  $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
    		$id = md5 (uniqid (rand()));
    		$confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );
    		db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,vorname,nachname,ort,straße,datime,ak)
    		VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."','".$vorname."','".$nachname."','".$ort."','".$straße."',NOW(),1)");
      } else {
    	  db_query("INSERT INTO prefix_user (name,pass,wohnort,recht,regist,llogin,email,status,opt_mail,opt_pm)
    		VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1)");	
    		$userid = db_last_id();
    	}
    	
    	
      $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);
      	
    	icmail($mail,'Anmeldung',$regmail); # email an user
      
      return (true);
    }
    
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      db_query("INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
    }
    ?>




    wenn man auf regietrieren klickt wird ma net regitriert, wo ist der fehler???
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hast du an die DB-Einträge gedacht, also das die Felder in der DB da sind?
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    jo klo
    habe ich gemacht in der User_check

    check varchar(100) latin1_general_ci Nein name varchar(100) latin1_general_ci Nein
    email varchar(100) latin1_general_ci Nein pass varchar(100) latin1_general_ci Nein
    vorname varchar(100) latin1_german2_ci Nein
    nachname varchar(100) latin1_german2_ci Nein
    ort varchar(100) latin1_german2_ci Nein
    straße varchar(100) latin1_german2_ci Nein
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hast du die Felder auch in der ic1_user?
    Wohnort usw. ?
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    wo meinst das ich hab das nur bei ic1_usercheck da rein gemacht
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    sind die Scripts überhaupt richtig???? oder ist da wo ein Fehler drinnen
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Die Scripte sehen richtig aus!

    Du musst die Felder vorname, nachname, ort, straße, auch in die Tabelle "ic1_user" eintragen nicht nur "ic1_usercheck"

    Und dann fehlt noch:
    confirm.php
    # confirm regist 
    case 1 : 
    if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$row['name']."'") ) { 
    db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm,vorname,nachname,ort,straße) VALUES ('".$row['name']."','".$row['pass']."',-1,'".time()."','".time()."','".$row['email']."',1,1,1,'".$row['vorname']."','".$row['nachname']."','".$row['ort']."','".$row['straße]."')");     
    echo $lang['confirmregist']; 
    } else { 
    echo $lang['confirmregistfailed'];  
    } 
    break; 
           
    # confirm new pass

    und in der user.php
    function user_regist ($name, $mail, $pass, $vorname, $nachname, $ort, $straße) { 
    global $allgAr, $lang; 
       
    $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'"); 
    if (db_num_rows($erg) > 0) { return (false);  } 
    if ( $allgAr['forum_regist_user_pass'] == 0 ) { $new_pass = genkey(8);}
    else{$new_pass = $pass;} 
    
    $md5_pass = md5($new_pass); 
    $confirmlinktext = ''; 
     
    # confirm insert in confirm tb not confirm insert in user tb 
    if ( $allgAr['forum_regist_confirm_link'] == 1 ) { 
    # confirm link + text ... bit of shit put it in languages file 
     $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]; 
     $id = md5 (uniqid (rand())); 
     $confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id ); 
     db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,vorname,nachname,ort,straße,datime,ak) VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."','".$vorname."','".$nachname."','".$ort."','".$straße."',NOW(),1)"); }
    else{ 
     db_query("INSERT INTO prefix_user (name,pass,wohnort,recht,regist,llogin,email,status,opt_mail,opt_pm,vorname,nachname,ort,straße) 
            VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1,'".$vorname."','".$nachname."','".$ort."','".$straße."',)");     
    $userid = db_last_id(); 
    } 
    
    $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass); 
    icmail($mail,'Anmeldung',$regmail); # email an user 
    
    return (true); 
    }


    Dann solte alles gehen!

    Aber achte auf die Bezeichnung in der DB müssen wie in user_check

    vorname
    nachname
    ort
    straße

    sein!
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    also das mit dem Script kann ich machen, aber das mit der db kapier ich jetzt net was du meinst sry
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    also ich hab das mit den Scripts jetzt gemacht und hab auch in der ic1_user die Felder hinzugefügt aber wenn sich jemand regen will, dann kommt danach wie ganz normal das man erfolgreich geregt wurde und man ne e-maiul bkoemmen hat, das mit der e-mail hab ich aus gemacht aber, wenn man sich regetriert hat dann wir noch nicht mal der User in der Mitglieder liste gezigt, also kurz gesagt der wurde net in der db gespeichert
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    user.php
    function user_regist ($name, $mail, $pass, $vorname, $nachname, $ort, $straße) {  
    global $allgAr, $lang;  
        
    $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");  
    if (db_num_rows($erg) > 0) { return (false);  }  
    if ( $allgAr['forum_regist_user_pass'] == 0 ) { $new_pass = genkey(8);} 
    else{$new_pass = $pass;}  
    
    $md5_pass = md5($new_pass);  
    $confirmlinktext = '';  
      
    # confirm insert in confirm tb not confirm insert in user tb  
    if ( $allgAr['forum_regist_confirm_link'] == 1 ) {  
    # confirm link + text ... bit of shit put it in languages file  
     $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];  
     $id = md5 (uniqid (rand()));  
     $confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );  
     db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,vorname,nachname,ort,straße,datime,ak) VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."','".$vorname."','".$nachname."','".$ort."','".$straße."',NOW(),1)"); } 
    else{  
     db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm,vorname,nachname,ort,straße)  
            VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1,'".$vorname."','".$nachname."','".$ort."','".$straße."',)");      
    $userid = db_last_id();  
    }  
    
    $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);  
    icmail($mail,'Anmeldung',$regmail); # email an user  
    
    return (true);  
    }


    da war noch ein kleiner fehler drin, hab das nicht richtig gecheckt und deins einfach übernommen!

    Sollte jetzt klappen!
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    ne sry funzt immer noch net mach ma des so schreib mich peer icq an dann gib ich dir ma die daten und du kannst ma in die db rein schauen


    icq nummer= 269-189-468

    und beim Logout bringt der jetzt nen Fehler

    Zuletzt modifiziert von freak am 26.06.2007 - 12:34:39
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    wenn ich das fertige Modul neme wo schon ma angesprochen wurde, dann kommt wenn man in der e-mail den link anklickt das kein Datensatz gefunden wurde, und es ist zwar jemand geregt wenn ich die mail funktion aus schalte aber es sind keine daten und es wir d auch kein username in der mitglieder liste gezeigt


    Zuletzt modifiziert von freak am 26.06.2007 - 14:31:07
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hast du die betreffenden Teile ersetzt oder das hinzugefügt?
    Du musst nämlich aus meinem letzten Post, die betreffenden Stellen ersetzen, dmait das funzt! Also das in der confirm.php und vom letzten Post das in der user.php!

    Und die DB Einträge sollten bei user_check und bei user gleich sein und zwar

    ort
    vorname
    nachname
    straße

    jeweils mit "varchar(100)"!
    Wenn das alles vorhaden ist bzw. richtig gemacht wurde, sollte es klappen!

    Hast du vielleicht mal einen Link zur Page? Hast du vielleicht ne modifizierte Memberliste drauf?
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    1. ich hab es ersett bin ja net doof

    2. hab die Tabellen gleich und bei user_check und user dinnen

    3. wir dir net viel bringen teste immer luz und wenns net geht wchsel ich zum alten wieder da die Page laufen muss

    aber trotzdem mal hier Community-United.com
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    kannnn mir keiner helfen
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    also wenn ich das Anmelde Modul nehme ich glaub da ist ein fehler in der confirm!!!
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Tja, ich wollte das per ICQ machen, damit hier nicht 500 Posts sind, mit einer neuen Änderung jeweils!

    Ich werde das heute mal auf meiner TestPage ausprobieren und dann klappt das auf jeden Fall, ich poste dir dann die Dateien hier rein! Ich hab ja schon ganz andere Sachen mit dem Registrieren hinbekommen!

    lol
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    okey vielen dank, für deine hilfe ist super, das du mir hilfst danke!!!
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Also laut den ganzen Angaben, die ich hier gemacht habe und laut dem was ich /du hier gepostet hast, sollte es gehen!

    Fehler war ein Zeichen ' zu wenig.
    confirm.php
    # confirm regist
          case 1 :
              if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$row['name']."'") ) {
                  db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm,vorname,nachname,ort,straße) VALUES ('".$row['name']."','".$row['pass']."',-1,'".time()."','".time()."','".$row['email']."',1,1,1,'".$row['vorname']."','".$row['nachname']."','".$row['ort']."','".$row['straße']."')");     
            
                  echo $lang['confirmregist'];
                } else {
                  echo $lang['confirmregistfailed']; 
                }
              break;
          
            # confirm new pass


    Jetzt geht das aber, also bei mir klappts!
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    freak Mitglied
    Registriert seit
    31.01.2007
    Beiträge
    856
    Beitragswertungen
    0 Beitragspunkte
    sorry es funktioniert immer noch net poste mir ma bidde alle dateien die du hochgeladen hast dun wenn du dich ma über icq meldest kannst mal in die db rein schauen
    !!!!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten