Avatar billede kelis Nybegynder
07. februar 2007 - 10:43 Der er 3 kommentarer og
1 løsning

Hjælp til tinychat ønskes

Hej eksperter,

Jeg har installeret tinychat og har nogle problemer. Da jeg installerede oprettede ”install.php” ikke tabellerne i databasen. Jeg fik kopieret user.sql ind i databasen men fik/får fejl på ban.sql og postmsg.sql. når jeg forsøger at kopiererdem ind.

De to andre tabeller ser således ud :

CREATE TABLE tinychat_postmsg
(
  msg_id int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
  userkey varchar(48),
  usermsg varchar(255),
  seton int,
  PRIMARY KEY (msg_id)
)

CREATE TABLE tinychat_ban
(
  ban_id int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
  ban_ip varchar(15),
  ban_expire int,
  PRIMARY KEY (ban_id)
)

Jeg oprettede mig så på chatten, men kunne ikke logge ind jeg måtte i databasen og sætte status til 3 før jeg fik lov. Det går fint jeg kan logge ind og skrive i chatten.

Andre kan godt oprette sig, men ikke logge ind de får denne her fejl. Jeg håber der er et klog hoved eller to, der kan hjælpe mig lidt her.

Mvh


”Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /usr/home/web/web591/tester/chatbase.php on line 66”

chatbasen.php ser sådan ud :

<?
/*
    TinyChat V1.00 - A simple web based chat written in PHP

    Copyright (C) 2000 Thomas Lesvang (tl@coolchat.dk)
    Modified for PHP4 by Dan Storm (webmaster@shady.dk)
   
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

    require("configuration.php");

    mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db($database);

    class HexChat
    {
        function register()
        {
            $nar = func_num_args();
            if( $nar != 2 )
                return 0;
            $args = func_get_args();
            $result = MYSQL_QUERY("SELECT * FROM tinychat_user WHERE user_name='$args[0]' AND user_pass='$args[1]'");
            if( ($num = mysql_numrows($result)) == 1 )
                return 0;
            $password = md5($args[1]);
            if( !MYSQL_QUERY("INSERT INTO tinychat_user (user_name, user_pass, user_status, user_textcol, user_namecol)
                              VALUES('$args[0]', '$password', 1, '".$GLOBALS["text_color"]."','".$GLOBALS["text_color"]."')") )
                return 0;
            return 1;
        }

        function logmsg($logfile, $msg)
        {
            $logf = fopen("logs/$logfile", "a");
            fputs($logf, date("d/m - H:i : "));
            fputs($logf, "$msg\n");
            fclose($logf);
        }
       
        function login($username, $password)
        {
            MYSQL_QUERY("DELETE FROM tinychat_postmsg WHERE seton+1800>".time());
            MYSQL_QUERY("DELETE FROM tinychat_ban WHERE ban_expire<".time());
            $password = md5($password);
            $result = MYSQL_QUERY("SELECT * FROM tinychat_user WHERE user_name='$username' AND user_pass='$password'");
            if( ($num = mysql_numrows($result)) == 0 )
                return 0;

            if( ($user_status = mysql_result($result,0,"user_status")) == 1 )
            {
                $resultb = MYSQL_QUERY("SELECT * FROM tinychat_ban WHERE ban_ip='".$_SERVER['REMOTE_ADDR']."'");
                if( ($numb = mysql_numrows($resultb)) > 0 )
                    return -1;
            }
            $user_id = mysql_result($result,0,"user_id");
            $user_textcol = mysql_result($result,0,"user_textcol");
            $user_namecol = mysql_result($result,0,"user_namecol");

            MYSQL_QUERY("UPDATE tinychat_user SET user_lastlogin=".time().", last_room='$room', user_lastip='".$_SERVER['REMOTE_ADDR']."' WHERE user_id=$user_id");
           
            $keys[0] = $user_id;
            $keys[1] = time()."KEY";
            $userfile = fopen("data/user$user_id", "w");
            fputs($userfile, time()."\n");
            fputs($userfile, $keys[1]."\n");
            fputs($userfile, $user_status."\n");
            fputs($userfile, $user_textcol."\n");
            fputs($userfile, $user_namecol."\n");
            fputs($userfile, $username."\n");
            fputs($userfile, $GLOBALS["REMOTE_ADDR"]."\n");
            fclose($userfile);

            $login_msg = $username.$GLOBALS["CONF_LoginMsg"].date("H:i");
            if( ($fp=@fopen("data/globalmsg", "r")) )
            {
                if( !file_exists("data/msg$user_id") )
                {
                    $this->write_system($login_msg);
                    $msgfile = fread($fp, 8192);
                    fclose($fp);
                    if( ($fp=@fopen("data/msg$user_id", "w")) )
                    {
                        fputs($fp, $msgfile);
                        fclose($fp);
                    }
                }
            }
            $this->logmsg("login.log", $login_msg);
            return $keys;
        }

        function validate_user($userid, $userkey)
        {
            $userfile = @file("data/user$userid");
            if( (chop($userfile[1])) != $userkey )
                return 0;
            MYSQL_QUERY("UPDATE tinychat_user SET user_lastcontact=".time()." WHERE user_id=$userid");
            if( chop($userfile[2]) == 1 ) $myuser = new HexChatNormalUser($userid, $userkey, chop($userfile[3]), chop($userfile[4]), chop($userfile[5]), chop($userfile[2]));
            if( chop($userfile[2]) == 2 ) $myuser = new HexChatCoAdminUser($userid, $userkey, chop($userfile[3]), chop($userfile[4]), chop($userfile[5]), chop($userfile[2]));
            if( chop($userfile[2]) == 3 ) $myuser = new HexChatAdminUser($userid, $userkey, chop($userfile[3]), chop($userfile[4]), chop($userfile[5]), chop($userfile[2]));
            return $myuser;
        }

        function change_nick($user, $nick)
        {
            $msg = "<b>".$user->username."</b>".$GLOBALS["CONF_NickChange"]."<b>$nick</b>...";
            $user->username = $nick;
            $this->update_user($user);
            $this->write_system($msg);
        }

        function change_namecolor($user, $color)
        {
            $msg = "<b>".$user->username."</b>".$GLOBALS["CONF_NameColorChange"]."<b>$color</b>";
            $user->namecol = $color;
            $this->update_user($user);
            $this->write_private_system($msg, $user->username, $user->userid);
        }

        function change_textcolor($user, $color)
        {
            $msg = "<b>".$user->username."</b>".$GLOBALS["CONF_TextColorChange"]."<b>$color</b>";
            $user->textcol = $color;
            $this->update_user($user);
            $this->write_private_system($msg, $user->username, $user->userid);
        }

        function update_user($user)
        {
            $userfile = fopen("data/user".$user->userid, "w");
            fputs($userfile, time()."\n");
            fputs($userfile, $user->userkey."\n");
            fputs($userfile, $user->status."\n");
            fputs($userfile, $user->textcol."\n");
            fputs($userfile, $user->namecol."\n");
            fputs($userfile, $user->username."\n");
            fputs($userfile, $GLOBALS["REMOTE_ADDR"]."\n");
            fclose($userfile);
        }
       
        function inactivity() {
        }


        function logout($userid, $username)
        {
                $logout_msg = $username.$GLOBALS["CONF_LogoutMsg"].date("H:i");
                $this->write_system($logout_msg);
                MYSQL_QUERY("UPDATE tinychat_user SET user_lastcontact=0 WHERE user_id=".$userid);
                unlink("data/msg$userid");
                unlink("data/user$userid");
        }

        function change_topic($topic)
        {
            if( ($fp=@fopen("data/topic", "w")) )
            {
                fputs($fp, $topic);
                fclose($fp);
            }
        }

        function specialmsg($msg)
        {
            if( strlen($msg) > 384 ) $msg = substr($msg, 0, 384);
            $orilen = strlen($msg);
            $msg = ereg_replace("http://([a-zA-Z0-9@:%_.~#-\?&]*)", "<a target=_blank href=\"http://\\1\">\\1</a>", $msg);
            $msg = ereg_replace("([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+[.]{1}[a-zA-Z0-9._-]+)","<a href=\"mailto:\\1\">\\1</a>",$msg);
            if( strlen($msg) == $orilen )
            {
                $msg = ereg_replace("\|([^+]+)\|", "<b>\\1</b>", $msg);
                $msg = ereg_replace("_([^+]+)_", "<i>\\1</i>", $msg);
            }
            return $msg;
        }

        function write_public($msg, $ncol, $tcol, $uname)
        {
            $msg = $this->specialmsg($msg);            $besked = "<font color=#".$ncol."><b>".$uname." : </b></font>";
            if( strcasecmp($tcol,$GLOBALS["text_color"]) )
                $besked .= "<font color=#".$tcol.">".$msg."</font><br>\n";
            else
                $besked .= "$msg<br>\n";
            $this->logmsg("message.log", $besked);
            $message = @file("data/globalmsg");
            if( ($fp=@fopen("data/globalmsg", "w")) )
            {
                fputs($fp, $besked);
                for ( $i=0 ; $i<25-1 ; $i++ )
                    fputs($fp, $message[$i]);
                fclose($fp);
            }
            $result = MYSQL_QUERY("SELECT user_id, user_name FROM tinychat_user WHERE user_lastcontact+300>".time());
            if( ($num = mysql_numrows($result)) < 1 )
                return;
            $i=0;
            while( $i < $num )
            {
                $user_id = mysql_result($result, $i,"user_id");
                $message = @file("data/msg$user_id");
                if( ($fp=@fopen("data/msg$user_id", "w")) )
                {
                    fputs($fp, $besked);
                    for ( $j=0 ; $j<25-1 ; $j++ )
                        fputs($fp, $message[$j]);
                    fclose($fp);
                }
                $i++;
            }
        }

        function write_public_action($msg, $uname)
        {
            $besked = "<font color=#".$GLOBALS["action_color"]."><i>".$uname." $msg</i></font><br>\n";
            $this->logmsg("message.log", $besked);
            $message = @file("data/globalmsg");
            if( ($fp=@fopen("data/globalmsg", "w")) )
            {
                fputs($fp, $besked);
                for ( $i=0 ; $i<25-1 ; $i++ )
                    fputs($fp, $message[$i]);
                fclose($fp);
            }
            $result = MYSQL_QUERY("SELECT user_id, user_name FROM tinychat_user WHERE user_lastcontact+300>".time());
            if( ($num = mysql_numrows($result)) < 1 )
                return;
            $i=0;
            while( $i < $num )
            {
                $user_id = mysql_result($result, $i,"user_id");
                $message = @file("data/msg$user_id");
                if( ($fp=@fopen("data/msg$user_id", "w")) )
                {
                    fputs($fp, $besked);
                    for ( $j=0 ; $j<25-1 ; $j++ )
                        fputs($fp, $message[$j]);
                    fclose($fp);
                }
                $i++;
            }
        }

        function kick_user($myuser, $to)
        {
            $userfile = @file("data/user$to");
            if( chop($userfile[2]) >= $myuser->status )
                return $GLOBALS["ERROR_StatusTooLow"];
            @MYSQL_QUERY("UPDATE tinychat_user SET user_lastcontact=0 WHERE user_id=".$to);
            @unlink("data/msg$to");
            @unlink("data/user$to");
            $km = "Kicked : <b>".chop($userfile[5])."</b>";
            if( $myuser->status == 3 )
                $message = $GLOBALS["CONF_KickMsg"]."<b>".$GLOBALS["systemname"]."</b>...";
            else
                $message = $GLOBALS["CONF_KickMsg"]."<b>".$myuser->username."</b>...";
            $this->logmsg("admin.log", $myuser->username." kicked ".chop($userfile[5]));
            @MYSQL_QUERY("INSERT INTO tinychat_postmsg VALUES('', '".chop($userfile[1])."', '$message', ".time().")");
            return $km;
        }

        function ban_user($myuser, $to, $expire)
        {
            $userfile = @file("data/user$to");
            if( chop($userfile[2]) >= $myuser->status )
                return $GLOBALS["ERROR_StatusTooLow"];
            @MYSQL_QUERY("UPDATE tinychat_user SET user_lastcontact=0 WHERE user_id=".$to);
            @unlink("data/msg$to");
            @unlink("data/user$to");
            $km = "Banned : <b>".chop($userfile[5])."</b>";
            if( $myuser->status == 3 )
                $message = $GLOBALS["CONF_BanMsg"]."<b>".$GLOBALS["systemname"]."</b>...";
            else
                $message = $GLOBALS["CONF_BanMsg"]."<b>".$myuser->username."</b>...";
            $this->logmsg("admin.log", $myuser->username." banned ".$chop($userfile[5]));
            @MYSQL_QUERY("INSERT INTO tinychat_postmsg VALUES('', '".chop($userfile[1])."', '$message', ".time().")");
            @MYSQL_QUERY("INSERT INTO tinychat_ban (ban_ip, ban_expire) VALUES('".chop($userfile[6])."',$expire)");
            return $km;
        }

        function get_postmsg($userkey)
        {
            $result = MYSQL_QUERY("SELECT * FROM tinychat_postmsg WHERE userkey='$userkey'");
            if( ($num = mysql_numrows($result)) == 0 )
                return $GLOBALS["ERROR_NotLoggedIn"];
            return stripslashes(mysql_result($result,0,"usermsg"));
        }

        function write_private($msg, $uname, $from, $to)
        {
            $msg = $this->specialmsg($msg);
            $result = MYSQL_QUERY("SELECT user_name FROM tinychat_user WHERE user_id=$to");
            if( ($num = mysql_numrows($result)) < 1 )
                return;
            $toname = mysql_result($result, 0, "user_name");
            $besked = "<font color=#".$GLOBALS["private_color"]."><b>".$uname." (".$GLOBALS["CONF_ToName"]." $toname) : </b>";
            $besked .= "$msg</font><br>\n";
            $message = @file("data/msg$from");
            if( ($fp=@fopen("data/msg$from", "w")) )
            {
                fputs($fp, $besked);
                for ( $j=0 ; $j<25-1 ; $j++ )
                    fputs($fp, $message[$j]);
                fclose($fp);
            }
            $message = @file("data/msg$to");
            if( ($fp=@fopen("data/msg$to", "w")) )
            {
                fputs($fp, $besked);
                for ( $j=0 ; $j<25-1 ; $j++ )
                    fputs($fp, $message[$j]);
                fclose($fp);
            }
        }

        function write_private_system($msg, $uname, $from)
        {
            $besked = "<font color=#".$GLOBALS["private_color"]."><b>".$GLOBALS["systemname"]." (".$GLOBALS["CONF_ToName"]." $uname) : </b>";
            $besked .= "$msg</font><br>\n";
            $message = @file("data/msg$from");
            if( ($fp=@fopen("data/msg$from", "w")) )
            {
                fputs($fp, $besked);
                for ( $j=0 ; $j<25-1 ; $j++ )
                    fputs($fp, $message[$j]);
                fclose($fp);
            }
        }

        function write_system($msg)
        {
            $this->write_public($msg, $GLOBALS["system_color"], $GLOBALS["system_color"], $GLOBALS["systemname"]);
        }
       
        function cleanup()
        {
            $result = MYSQL_QUERY("SELECT user_id, user_name FROM tinychat_user WHERE user_lastcontact+300<".time()." AND user_lastcontact!= 0");
            if( ($num = mysql_numrows($result)) == 0 )
                return;
            $i=0;
            while( $i < $num )
            {
                $user_id = mysql_result($result,$i,"user_id");
                $user_name = mysql_result($result,$i,"user_name");
                $this->logout($user_id, $user_name);
                $i++;
            }       
        }
       
        function display_error($errormsg)
        {
            echo $errormsg;
        }
    }
   
    class HexChatNormalUser
    {
        var $userid;
        var $userkey;
        var $namecol;
        var $textcol;
        var $username;
        var $status;
       
        function HexChatNormalUser($usid, $uskey, $tcol, $ncol, $uname, $ustat)
        {
            $this->userid = $usid;
            $this->namecol = $ncol;
            $this->textcol = $tcol;
            $this->username = $uname;
            $this->userkey = $uskey;
            $this->status = $ustat;
        }

        function docommand($mychat, $msg, $to)
        {
            if( $this->basiccommands($mychat, $msg, $to) )
                return 1;
            return 0;
        }

        function basiccommands($mychat, $msg, $to)
        {
            if( (strpos($msg, "me", 0) == 1) and $msg[0] == '/' )
            {
                $mychat->write_public_action(substr($msg,4), $this->username);
                return 1;
            }
            if( (strpos($msg, "nick", 0) == 1) and $msg[0] == '/' )
            {
                if( strlen($msg) > (24+6) ) $msg = substr($msg, 0, (24+6));
                $mychat->change_nick($this, substr($msg,6));
                return 1;
            }
            if( (strpos($msg, "textcolor", 0) == 1) and $msg[0] == '/' )
            {
                if( strlen($msg) > (8+11) ) $msg = substr($msg, 0, (8+11));
                $mychat->change_textcolor($this, substr($msg,11));
                return 1;
            }
            return 0;
        }
       
        function write($mychat, $to, $msg)
        {
            $msg = stripslashes($msg);
            $msg = htmlentities($msg);
            if( !$this->docommand($mychat, $msg, $to) )
            {
                if( $to == -1 )
                    $mychat->write_public($msg, $this->namecol, $this->textcol, $this->username);
                else
                    $mychat->write_private($msg, $this->username, $this->userid, $to);
            }
            $mychat->cleanup();
            $this->top();
        }

        function topic()
        {
            echo "<html><body bgcolor=#".$GLOBALS["topic_background_color"]." link=#".$GLOBALS["topic_link_color"]." ";
            echo "text=#".$GLOBALS["topic_text_color"]." ";
            echo "vlink=#".$GLOBALS["topic_link_color"]." alink=#".$GLOBALS["topic_link_color"].">";
            echo "<meta http-equiv=\"Refresh\" content=\"".$GLOBALS["CONF_TopicUpdateSpeed"]."; URL=topic.php?ukey=".$this->userid."&skey=".$this->userkey."\">";
            echo "<font face=\"Verdena, Tahoma, Arial\" size=2 color=#".$GLOBALS["topic_text_color"].">";
            @readfile("data/topic");
            echo "</font>";
            echo "</body></html>";
        }
       
        function logout($mychat)
        {
                $logout_msg = $this->username.$GLOBALS["CONF_LogoutMsg"].date("H:i");
                $mychat->write_system($logout_msg);
                MYSQL_QUERY("UPDATE tinychat_user SET user_lastcontact=0 WHERE user_id=".$this->userid);
                unlink("data/msg".$this->userid);
                unlink("data/user".$this->userid);
                $mychat->display_error($GLOBALS["CONF_LoggedOut"]);
        }

        function bund($mychat)
        {
            $fp = @fopen("templates/bund_normal.tmp", "r");
            $file = fread($fp, 8192);
            fclose($fp);
            $file = eregi_replace("USERNAME", $this->username, $file);
            $file = eregi_replace("USERID", $this->userid, $file);
            $file = eregi_replace("USERKEY", $this->userkey, $file);
            $file = eregi_replace("NUMUSERS", $this->get_numusers(), $file);
            $file = eregi_replace("USERLIST", $this->get_userlist(), $file);
            echo $file;
            $mychat->cleanup();
        }

        function top()
        {
            echo "<html><body bgcolor=#".$GLOBALS["background_color"]." link=#".$GLOBALS["link_color"]." ";
            echo "text=#".$GLOBALS["text_color"]." ";
            echo "vlink=#".$GLOBALS["link_color"]." alink=#".$GLOBALS["link_color"].">";
            echo "<meta http-equiv=\"Refresh\" content=\"".$GLOBALS["CONF_MsgUpdateSpeed"]."; URL=top.php?ukey=".$this->userid."&skey=".$this->userkey."\">";
            echo "<font face=\"Verdena, Tahoma, Arial\" size=2 color=#".$GLOBALS["text_color"].">";
            @readfile("data/msg".$this->userid."");
            echo "</font>";
            echo "</body></html>";
        }

        function userlist()
        {
            $result = MYSQL_QUERY("SELECT user_id, user_name FROM tinychat_user WHERE user_lastcontact+300>".time()." AND user_id!=".$this->userid);
            if( ($num = mysql_numrows($result)) == 0 )
                return $users;
            $i=0;
            while( $i<$num )
            {
                $user_id = mysql_result($result, $i,"user_id");
                $user_name = mysql_result($result, $i,"user_name");
                $users .= "<option value=$user_id>$user_name";
                $i++;
            }
            return $users;
        }
       
        function get_userlist()
        {
            $normus = "<option value=-1>".$GLOBALS["CONF_AllName"];
            $normus .= $this->userlist();
            return $normus;
        }

        function get_numusers()
        {
            $result = MYSQL_QUERY("SELECT user_id FROM tinychat_user WHERE user_lastcontact+300>".time());
            if( ($num = mysql_numrows($result)) == 0 )
                return "0";
            return "$num";
        }
       
    }
   
    class HexChatCoAdminUser extends HexChatNormalUser
    {
        function HexChatCoAdminUser($usid, $uskey, $tcol, $ncol, $uname, $ustat)
        {
            $this->HexChatNormalUser($usid, $uskey, $tcol, $ncol, $uname, $ustat);
        }
   
        function bund()
        {
            $fp = @fopen("templates/bund_coadmin.tmp", "r");
            $file = fread($fp, 8192);
            fclose($fp);
            $file = eregi_replace("USERNAME", $this->username, $file);
            $file = eregi_replace("USERID", $this->userid, $file);
            $file = eregi_replace("USERKEY", $this->userkey, $file);
            $file = eregi_replace("NUMUSERS", $this->get_numusers(), $file);
            $file = eregi_replace("USERLIST", $this->get_userlist(), $file);
            echo $file;
        }

        function docommand($mychat, $msg, $to)
        {
            if( $this->basiccommands($mychat, $msg, $to) )
                return 1;
            if( (strpos($msg, "topic", 0) == 1) and $msg[0] == '/' )
            {
                $tm = "<b>".$this->username."</b> ".$GLOBALS["CONF_TopicPubMsg"]." <b>".substr($msg,7)."</b>";
                $mychat->change_topic(substr($msg, 7));
                $mychat->write_system($tm);
                return 1;
            }
            if( (strpos($msg, "kick", 0) == 1) and $msg[0] == '/' && $to>0 )
            {
                $mychat->write_private_system($mychat->kick_user($this, $to), $this->username, $this->userid);
                return 1;
            }
            if( (strpos($msg, "ban", 0) == 1) and $msg[0] == '/' && $to>0 )
            {
                $mychat->write_private_system($mychat->ban_user($this, $to, time()+120), $this->username, $this->userid);
                return 1;
            }
            return 0;
        }

        function write($mychat, $to, $msg)
        {
            $msg = stripslashes($msg);
            $msg = htmlentities($msg);
            if( !$this->docommand($mychat, $msg, $to) )
            {
                if( $to == -1 )
                    $mychat->write_public($msg, $this->namecol, $this->textcol, $this->username);
                else
                    $mychat->write_private($msg, $this->username, $this->userid, $to);
            }
            $mychat->cleanup();
            $this->top();
        }

        function get_userlist()
        {
            $normus = "<option value=-1>".$GLOBALS["CONF_AllName"];
            $normus .= $this->userlist();
            return $normus;
        }
   
    }

    class HexChatAdminUser extends HexChatCoAdminUser
    {
        function HexChatAdminUser($usid, $uskey, $tcol, $ncol, $uname, $ustat)
        {
            $this->HexChatNormalUser($usid, $uskey, $tcol, $ncol, $uname, $ustat);
        }

        function bund()
        {
            $fp = @fopen("templates/bund_admin.tmp", "r");
            $file = fread($fp, 8192);
            fclose($fp);
            $file = eregi_replace("USERNAME", $this->username, $file);
            $file = eregi_replace("USERID", $this->userid, $file);
            $file = eregi_replace("USERKEY", $this->userkey, $file);
            $file = eregi_replace("NUMUSERS", $this->get_numusers(), $file);
            $file = eregi_replace("USERLIST", $this->get_userlist(), $file);
            echo $file;
        }

        function docommand($mychat, $msg, $to)
        {
            if( $this->basiccommands($mychat, $msg, $to) )
                return 1;
            if( (strpos($msg, "topic", 0) == 1) and $msg[0] == '/' )
            {
                $tm = $GLOBALS["CONF_TopicPrivMsg"]." <b>".substr($msg,7)."</b>";
                $mychat->change_topic(substr($msg, 7));
                $mychat->write_private_system($tm, $this->username, $this->userid);
                return 1;
            }
            if( (strpos($msg, "kick", 0) == 1) and $msg[0] == '/' && $to>0 )
            {
                $mychat->write_private_system($mychat->kick_user($this, $to), $this->username, $this->userid);
                return 1;
            }
            if( (strpos($msg, "ban", 0) == 1) and $msg[0] == '/' && $to>0 )
            {
                $mychat->write_private_system($mychat->ban_user($this, $to, time()+900), $this->username, $this->userid);
                return 1;
            }
            if( (strpos($msg, "namecolor", 0) == 1) and $msg[0] == '/' )
            {
                if( strlen($msg) > (8+11) ) $msg = substr($msg, 0, (8+11));
                $mychat->change_namecolor($this, substr($msg,11));
                return 1;
            }
            return 0;
        }

        function write($mychat, $to, $msg)
        {
            $msg = stripslashes($msg);
            $msg = htmlentities($msg);
            if( !$this->docommand($mychat, $msg, $to) )
            {
                if( $to == -1 )
                    $mychat->write_public($msg, $this->namecol, $this->textcol, $this->username);
                elseif( $to == -2 )
                    $mychat->write_system($msg);
                else
                    $mychat->write_private($msg, $this->username, $this->userid, $to);
            }
            $this->top();
        }

        function get_userlist()
        {
            $normus = "<option value=-1>".$GLOBALS["CONF_AllName"];
            $normus .= "<option value=-2>".$GLOBALS["CONF_ChatName"];
            $normus .= $this->userlist();
            return $normus;
        }
   
    }
?>
Avatar billede thesurfer Nybegynder
07. februar 2007 - 11:25 #1
Du har oprettet spørgsmålet i en forkert katergori. Denne kategori er forbeholdt Eksperten-relaterede emner, og ikke andet.

Læs følgende instruktioner grundigt igennem, før du fortsætter:


Ved flyt af spørgsmål:
Husk at MARKERE dit navn i boksen til venstre, og klikke på ACCEPTER-knappen, EFTER at du har lagt et SVAR.
Derefter opretter du spørgsmålet, i den rette kategori. Derefter lægger du et link til det nye spørgsmål, i dette spørgsmål.


Efter at have læst instruktionerne grundig igennem, flyt dit spørgsmål til:
http://www.eksperten.dk/spm/Programmering/Script/PHP/
Avatar billede kelis Nybegynder
07. februar 2007 - 12:20 #2
Hej thesurfer,

Synes det er lidt svært at hitte rede i hvor man skal lægge sit spørgsmål. Synes også det er svært, at gennemskue hvad du mener i forhold til at jeg skal lægge et link til "det nye spørgesmål, i dette spørgsmål"

Jeg flytter mit spørgsmål til det link du har lagt og håber så på et svar:-)

Mvh

En ½ gammel dame der ikke er så velbevandret ud i alt det her med IT/programmering:-)
Avatar billede thesurfer Nybegynder
07. februar 2007 - 20:45 #3
Hej kelis.

Jeg ville ønske at der var flere "½ gamle damer" i dette forum.. :-)

De fleste er (af en eller anden mystisk årsag) ikke i stand til at få lukket spørgsmålet (accepteret et "svar"), som beskrevet i mine instruktioner.
Men lykkes dig at gøre det, hvilket er alletiders! :-)

I starten lagde jeg ud med meget simple instruktioner, i punktform (1. gør dit, 2. gør dat) der beskrev rækkefølgen, som er "læg et svar, marker svaret, klik på Accepter-knappen".
Men alligvel lykkes det folk at overse den sidste del, så de fik ikke lukket spørgsmålet.

Da det slog fejl, gik jeg over til nuværende instruktioner, som nærmest er i omvendt rækkefølge.. Det skulle sikre, at man ikke kunne springe en eller flere instruktioner over, idet det ikke længere ville være logisk.. Det er lige som at sige "husk at binde dine snørebånd, efter at du har taget skoene på", hvilket gerne skulle virke..

Men her tog jeg også fejl.. folk binder åbenbart ikke deres snørebånd.. :-)
Folk undgår nemlig at afslutte spørgsmålet alligevel.. hvordan det kan lade sig gøre, ved jeg ikke..


Angående "det nye spørgesmål, i dette spørgsmål":
Jeg vil omformulere den sidste sætning i mine instruktioner, og håbe på det bedste.
Meningen med sætningen er, at du indsætter adressen/urlen (et link) til det nye/rette spørgsmål, inde i det gamle/forkerte spørgsmål..
Hvis folk skulle komme til at finde det forkerte spørgsmål (ang PHP i Eksperten-kategorien), kan de fortsætte til det rigtige spørgsmål via linket..

Det lyder lidt indviklet, men skal forståes sådan her:

- Du har oprettet dette spørgsmål om PHP, men kom til at oprette i den forkerte kategori (Eksperten-kategorien).

- Så derfor lukker du dette spørgsmål (accepterer dit eget svar), og opretter et nyt spørgsmål i PHP-kategorien.

- Til sidst lægger du et link til det nye spørgsmål (det som ligger i PHP-kategorien), i det gamle spørgsmål (som ligger i Eksperten-kategorien).

- På den måde kan folk, der falder over dit gamle spørgsmål, finde det nye og "rigtige" spørgsmål, over i PHP-kategorien.

Eksempel (sådan kan man skrive sit svar, eller indlæg efter svaret):
---
Jeg har lukket dette spørgsmål, og oprettet et nyt i PHP kategorien.
Link til det nye spørgsmål er http://www.eksperten.dk/spm/761040
---


Jeg takker for din feedback.. alle tilbagemeldinger er påskønnet, og vil hjælpe mig med at forbedre hjælpen til andre brugere.

Med venlig hilsen,
theSurfer.
Avatar billede kelis Nybegynder
07. februar 2007 - 23:58 #4
Hej thesurfer,

Nogen gange skal forklaringer støbes i beton, både over for børn og ½ gamle damer;-)
Jeg synes det er et super godt forum, med super søde og venlige mennesker. Så en buket roser til alle fordi de om nogen er med til, at eksperten er et sted hvor man får lyst til at "lære" og jeg har lært meget herinde, på en god måde.

Og ja, jeg har lært, at jeg skal være mere omhyggelig med hvor jeg poster;-)
Ha en god aften thesurfer, tror du er en af de gode og som giver sig tid. Kunne jeg give point for din tålmodighed havde jeg gjort det:-)

Stort knus:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester