ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Join Us problem

Geschlossen
  1. #1
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Wenn ich das Join us ausfülle bzw. gerade teste, haut er folgende Meldung raus.

    ZitatZitat
    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 61 in /var/www/web30/html/semperfidelis/include/includes/func/db/mysql.php on line 54

    Dir wurde eine E-Mail mit dem Passwort und allem weiteren geschickt

    Der Leader von Trial wurde benachrichtigt.


    Wenn ich dann in den Admin Bereich gehe, sehe ich die trialanfrage und aktivieren usw. ist auch möglich. Ich bekomme auch die PM das jemand ei join us gestellt hat.

    Vielleicht hat ja jemand einen rat für mich.

    betroffene Homepage: test.semperfidelis-clan.com/index.php?joinus
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    KanYe Mitglied
    Registriert seit
    04.03.2011
    Beiträge
    243
    Beitragswertungen
    4 Beitragspunkte
    Was ist das für ne Schriftart im Header lachen?
    » Website | X-Fire | Steam «
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    KanYe Mitglied
    Registriert seit
    04.03.2011
    Beiträge
    243
    Beitragswertungen
    4 Beitragspunkte
    Danke lachen Willst du mir vlt ne PSD davon schicken? Reicht ja "Test" oda so. Würde mich freuen zwinker
    » Website | X-Fire | Steam «
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    ZitatZitat geschrieben von KanYe

    Danke lachen Willst du mir vlt ne PSD davon schicken? Reicht ja "Test" oda so. Würde mich freuen zwinker
    Hä ich hab den Namen doch verlinkt mit der Seite wo du die Schriftart herunterladen kannst? O.o Lad sie herunter und kopiere sie dann in den Ordner C:/Windows/Fonts und dann kannst du sie als normale Schriftart in deinem Bildbearbeitungsprogramm verwenden. zwinker
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Da können wir drüber reden wenn ich den Fehler los bin, komischer weise tritt der Fehler auf den anderen Seiten von mir nicht auf.

    Nur in der mySQL kann ich so keinen Fehler feststellen.....bzw. sieht es in der betroffenen Zeile genauso aus wie bei den anderen Scripten.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    KanYe Mitglied
    Registriert seit
    04.03.2011
    Beiträge
    243
    Beitragswertungen
    4 Beitragspunkte
    Wo ist der Fehler genau? Wo kommt "no direct access"?
    » Website | X-Fire | Steam «
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Hab gerade das Fight Us auch nochmal getestet und dort kommt auch ein Meldung

    ZitatZitat
    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 121 in /var/www/web30/html/semperfidelis/include/includes/func/db/mysql.php on line 54
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    KanYe Mitglied
    Registriert seit
    04.03.2011
    Beiträge
    243
    Beitragswertungen
    4 Beitragspunkte
    Poste mal die Datei include/includes/func/db/mysql.php
    » Website | X-Fire | Steam «
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Habe die Datei rechte gerade von 777 auf 644 geändert, geht auch nicht. oder liegte s daran das ich die erst Installation auf .semperfidelis-clan.com/ ausgeführt habe und nun test.semperfidelis-clan.com/ ist.

    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $count_query_xyzXYZ = 0;
    
    function db_connect () {
      if (defined('CONN')) {
        return;
      }
      define ( 'CONN', @mysql_pconnect(DBHOST, DBUSER, DBPASS));
      $db = @mysql_select_db(DBDATE, CONN);
    
      if (!CONN) {
        die('Verbindung nicht m&ouml;glich, bitte pr&uuml;fen Sie ihre mySQL Daten wie Passwort, Username und Host<br />');
      }
      if ( !$db ) {
        die ('Kann Datenbank "'.DBDATE.'" nicht benutzen : ' . mysql_error(CONN));
      }
    }
    
    function db_close () {
      mysql_close ( CONN );
    }
    
    function db_check_error (&$r, $q) {
      if (!$r AND mysql_errno(CONN) <> 0 AND function_exists('is_coadmin') AND is_coadmin()) {
      	// var_export (debug_backtrace(), true)
        echo('<font color="#FF0000">MySQL Error:</font><br>'.mysql_errno(CONN).' : '.mysql_error(CONN).'<br>in Query:<br>'.$q.'<pre>'.debug_bt().'</pre>');
      }
      return ($r);
    }
    
    function db_query ($q) {
    
      global $count_query_xyzXYZ;
      $count_query_xyzXYZ++;
    
      if (preg_match ("/^UPDATE `?prefix_\S+`?\s+SET/is", $q)) {
        $q = preg_replace("/^UPDATE `?prefix_(\S+?)`?([\s\.,]|$)/i","UPDATE `".DBPREF."\\1`\\2", $q);
      } elseif (preg_match ("/^INSERT INTO `?prefix_\S+`?\s+[a-z0-9\s,\)\(]*?VALUES/is", $q)) {
        $q = preg_replace("/^INSERT INTO `?prefix_(\S+?)`?([\s\.,]|$)/i", "INSERT INTO `".DBPREF."\\1`\\2", $q);
      } else {
        $q = preg_replace("/prefix_(\S+?)([\s\.,]|$)/", DBPREF."\\1\\2", $q);
      }
    
      return (db_check_error(@mysql_query($q, CONN), $q));
    }
    
    function db_result ($erg, $zeile=0, $spalte=0) {
      return (mysql_result ($erg,$zeile,$spalte));
    }
    
    function db_fetch_assoc ($erg) {
      return (mysql_fetch_assoc($erg));
    }
    
    function db_fetch_row ($erg) {
      return (mysql_fetch_row($erg));
    }
    
    function db_fetch_object ($erg) {
    
      return (mysql_fetch_object($erg));
    }
    
    function db_num_rows ($erg) {
      return (mysql_num_rows ($erg));
    }
    
    function db_last_id () {
    	return ( mysql_insert_id (CONN));
    }
    
    function db_count_query ( $query ) {
      return (db_result(db_query($query),0));
    }
    
    function db_list_tables ( $db ) {
      return (mysql_list_tables ($db, CONN));
    }
    
    function db_tablename ($db, $i) {
      return (mysql_tablename ($db, $i));
    }
    
    function db_check_erg ($erg) {
      if ($erg == false OR @db_num_rows($erg) == 0) {
        exit ('Es ist ein Fehler aufgetreten');
      }
    }
    
    function db_make_sites ($page ,$where ,$limit ,$link ,$table, $anzahl = NULL) {
    
      $hvmax = 4; // hinten und vorne links nach page
    	$maxpage = ''; if ( empty ($MPL) ) { $MPL = ''; }
    	if ( is_null ( $anzahl ) ) {
        $resultID = db_query ( "SELECT COUNT(*) FROM prefix_".$table." ".$where );
        $total    = db_result($resultID,0);
      } else {
        $total = $anzahl;
      }
      if ($limit < $total) {
    	  $maxpage = $total / $limit;
    	  if (is_double($maxpage)) {
    		  $maxpage = ceil($maxpage);
    		}
    		$ibegin = $page - $hvmax;
    		$iende  = $page + $hvmax ;
    
    	  $vgl1 = $iende + $ibegin;
    		$vgl2 = ($hvmax * 2) + 1;
    		if ( $vgl1 <= $vgl2 ) {
    		  $iende = $vgl2;
    		}
    		$vgl3 = $maxpage - ($vgl2 -1);
    		if ($vgl3 < $ibegin ) {
    		  $ibegin = $vgl3;
    		}
    
    		if ($ibegin < 1) {
    		  $ibegin = 1;
    		}
    		if ($iende > $maxpage) {
    		  $iende = $maxpage;
    		}
    		$vMPL = '';
    		if ($ibegin > 1) {
    		  $vMPL = '<a href="'.$link.'-p1">&laquo;</a> ';
    		}
    		$MPL = $vMPL.'[ ';
    		for($i=$ibegin; $i <= $iende; $i++) {
          if($i == $page) {
    				$MPL .= $i;
    			} else {
    			  $MPL .= '<a href="'.$link.'-p'.$i.'">'.$i.'</a>';
    			}
          if ($i != $iende) {
    			  $MPL .= ' | ';
    			}
    		}
    		$MPL .= ' ]';
    		if ($iende < $maxpage) {
    		  $MPL .= ' <a href="'.$link.'-p'.$maxpage.'">&raquo;</a>';
    		}
      }
    	return $MPL;
    
    }
    ?>



    Zuletzt modifiziert von DerLange_313 am 31.12.2012 - 23:07:36
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    KanYe Mitglied
    Registriert seit
    04.03.2011
    Beiträge
    243
    Beitragswertungen
    4 Beitragspunkte
    Auf www.semperfidelis-clan.com ist noch nichts installiert. Lade dort Ilch auf deinem Webspace und das Joinus funktioniert! Auf deiner Testseite ist es nicht wichtig da die sowieso gelöscht wird nehme ich an. Es kann an deiner Theorie liegen - wie gesagt genau kann ich es dir nicht sagen aber wenn du Ilch auf deinen Webspace www.semperfidelis-clan.com installierst wird alles tadellos laufen.
    » Website | X-Fire | Steam «
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Ich habe bei dem Webhoster eine Subdomain angelegt und dann nach der installation umgeleitet, aber ich teste es mal eben.

    Melde mich nachher wenn ich es umgestellt habe.....


    Wünsche erstmal einen guten Rutsch !


    EDIT:
    so Domain umstellung geht auch nicht......zeigt immer noch den Fehler an.


    Zuletzt modifiziert von DerLange_313 am 31.12.2012 - 23:28:49
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Check deine Datenbank richtig ob die auch wirklich inordnung ist!
    Wenn man es so hochläd wie es aus der zip rauskommt und die Dateien nicht modifiziert wurde, dann kann es nur an der DB liegen.

    Außerdem sagt dir der Fehler das die mysql-verarbeitung von ilch nicht richtig funktioniert!
    Das bedeutet z.B. nachschauen ob der DB Eintrag für die Joinusanfrage überhaupt existiert.
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    @Ahrtas

    Ich habe einiges modifiziert aber erst nach der installation und wie jetzt z.B. Join Us / Fight Us habe ich nichts gemacht und in der Datenbank habe ich ebenfalls nichts verändert.

    Wie soll ich die DB kontrollieren wenn ich nicht weiss wo ich da anfangen soll bzw. welche Werte wo sein müssten.

    Ich guck da heute nachmittag nochmal drüber, wenn ich es nicht finde spiele ich halt alles nochmla neu auf.


    Zuletzt modifiziert von DerLange_313 am 01.01.2013 - 01:48:35
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    So, jetzt beim neu aufspielen habe ich nach jedem Schritt das ganze getestet und jetzt habe ich den Fehler gefunden bzw. warum die Meldung genau kommmt weiß ich nicht.

    Der Fehler taucht in der user.php auf wenn ich dieses TUT anwende. ( externer Link )

    Hier die eigentliche 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');
        $name = escape_nickname($_POST['name']);
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 15) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE name = BINARY '".$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['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_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) {
      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,datime,ak)
    		VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."',NOW(),1)");
      } else {
    	  db_query("INSERT INTO prefix_user (name,pass,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 user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
    
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      if (is_array($eid)) {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) ".
      	"SELECT  ".$sid.",`prefix_user`.`id`,'".time()."','".$ti."','".$te."',".$status." FROM `prefix_user` WHERE `prefix_user`.`id` IN (" . implode(',', $eid) . ")");
      } else {
      	db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
      }
    }
    ?>


    hier die geändert user.php die den Fehler erzeugt

    <?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');
        $name = escape_nickname($_POST['name']);
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 15) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE name = BINARY '".$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['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_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) {
      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,datime,ak)
    		VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."',NOW(),1)");
      } else {
    	  db_query("INSERT INTO prefix_user (name,pass,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 user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
    
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
     
      // Testen, ob Array. Sonst umwandeln.
      if (!is_array($eid)) {
        $eid = Array( $eid );
      }
     
      // Alle Emfänger durchlaufen
      foreach ($eid AS $empf){
     
        // PM schreiben und ID speichern
        db_query("INSERT INTO `prefix_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (".$sid.",".$empf.",'".time()."','".$ti."','".$te."',".$status.")");
        $last_id = db_last_id();
       
        // Alle Zeiten der letzten PMs abfragen, die nach dem letzten Login des Empfängers verschickt wurden
        $erg = db_query("SELECT `b`.`time` FROM `prefix_user` AS `a` LEFT JOIN `prefix_pm` AS `b` ON `a`.`id` = `b`.`eid` AND `b`.`id` != ".$last_id." WHERE `a`.`id` = ".$empf." AND `a`.`llogin` < `b`.`time`");
       
        // Wenn keine PM gefunden wurde, Email schreiben
        if( db_num_rows( $erg ) == 0 ){
           
            // Email-Adresse abfragen und Email verschicken
            $mail = db_result(db_query("SELECT `email` FROM `prefix_user` WHERE `id` = ".$empf),0);
            if (!empty($mail)) { icmail($mail,"Du hast eine neue Nachricht auf semperfidelis-clan.com","Hallo, du hast eben eine Neue Nachricht mit dem Betreff '".$ti."' bekommen. Diese Nachricht kannst du nun unter folgender Adresse mit Deinen Logindaten aufrufen: http://semperfidelis-clan.com/?forum-privmsg-showmsg-".$last_id." Wir wünschen Dir noch einen schönen Tag!"); }
     
        }
      }
    }
    function last_user($uid){
     $lb = db_fetch_object(db_query("SELECT last_bes, last_user_time FROM prefix_user WHERE id = ".$uid));
     $lba = explode('#',$lb->last_bes);
     $lbt = explode('#',$lb->last_user_time);
     $name = '';
     
    foreach ($lba as $k => $v) {
         if ($v < 1) { continue; }
      $besname = @db_result($sql = db_query("SELECT name FROM prefix_user WHERE id = ".$v),0,0);
      $besstaat = @db_result($sql,0,1); 
      $time = date("d.m.Y \u\m H:i",$lbt[$k]);
      $name .= "<div><a href=\"index.php?user-details-$v\" target=\"_self\" title=\"besucht am $time Uhr\">$besname</a></div>";
     }
     return($name);
    } 
    ?>
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das einfachste wäre vor db_result in Zeile 348 ein @ zu setzen, so wie in den Zeilen 362 und 363.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Hi mairu, frohes neues Jahr erstmal zwinker

    also das @ habe ich jetzt hinzugefügt und es funktioniert so wie es soll, danke.

    Ich habe gerade mal bei meinen anderen Seiten nachgeschaut und dort ist das @ ebenfalls nicht vorhanden (Zeile 348), wieso spinnt er denn jetzt gerade rum? (rein interessenhalber)
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Weil er User sucht, die es nicht mehr gibt und da die Abfrage unsauber geschrieben ist, prüft er nicht richtig, ob es überhaupt ein Ergebnis (also einen gefundenen User gibt) bevor er was auslesen will, mit dem @ wird lediglich die Fehlerausgabe unterdrückt, was in dem Fall aber ausreicht, weil in der Variable dann nix landet und die nächste Bedingung damit nicht erfüllt ist.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten