Avatar billede diablo2 Nybegynder
19. august 2001 - 16:48 Der er 34 kommentarer og
1 løsning

Hvad fanden skal jeg gøre her!

Hvad gør jeg forkert???
Warning: Supplied argument is not a valid MySQL result resource in /usr/local/www/whitehatdk/users/djcain/chat/chatbase.php on line 36
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 16:49 #1
HEHE! Måske hvis du skrev hvad du har til at stå i linie 36, ville vi kunne finde ud af det...
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:50 #2
ok 2 sek
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:50 #3
user_name=\'$args[0]\' AND user_pass=\'$args[1]\'\");
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:51 #4
Det er hvad der står
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 16:52 #5
Hvad står der i din query (det hele...?)
Avatar billede htx98i17 Professor
19. august 2001 - 16:52 #6
user_name=\'$args[0]\' AND user_pass=\'$args[1]\'\") or die (mysql_error());

prøv at skriv det, og se hvad fejl den skriver...
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:52 #7
Det her er hvad hele filne er.......
________________________________________


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

    Copyright (C) 2000 Thomas Lesvang (tl@coolchat.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(\"localhost\", $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;
            if( !MYSQL_QUERY(\"INSERT INTO tinychat_user (user_name, user_pass, user_status, user_textcol, user_namecol)
                              VALUES(\'$args[0]\', \'$args[1]\', 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());

            $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=\'\".$GLOBALS[\"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().\", user_lastip=\'\".$GLOBALS[\"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 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 sunlock.dk Nybegynder
19. august 2001 - 16:54 #8
Prøv og sæt or die (mysql_error()); ind som htx siger... så fortæl hvad den kommer med af fejl
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:54 #9
Så skriver den dettet
når jeg skriver det der die mysql


Table \'djcain.tinychat_user\' doesn\'t exist
Avatar billede htx98i17 Professor
19. august 2001 - 16:56 #10
og så har du løst det problem :)
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 16:56 #11
Nok fordi du ikke har oprettet djcain.tinychat_user....

::sunlock.dk::
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:57 #12
Nai for jeg fatter ikke mysql så hvad gør jeg så nu?
Avatar billede diablo2 Nybegynder
19. august 2001 - 16:59 #13
Hvad gød jeg?
Hvordan opretter jeg djcain.tinychat_user...
Avatar billede htx98i17 Professor
19. august 2001 - 16:59 #14
enten har du defineret forkert tabelnavn, eller også eksisterer den ikke...
Avatar billede htx98i17 Professor
19. august 2001 - 17:00 #15
havde tinychat ikke en readme-fil ?
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:00 #16
Har du oprettet noget i din db?
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:01 #17
Det er altså configuration.php den er galt med?
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:05 #18
Jeg har ikke oprettet noget i min mysql database NAI
Hvad skal jeg skrive????
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:06 #19
Som htx siger, er der ikke en readme-fil med til tinychat... der står sikkert hvordan du opretter din db
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:06 #20
...mener tabel ;)
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:08 #21
Det står det her i readme filen
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:08 #22
Følg denne vejledning og du skulle have en køreklar chat :-)

1. Check at du har et sted på nettet hvor du kan køre PHP + MySQL! Det er vigtigt du
har adgang til en MySQL database, da chatten ellers er ubrugelig. Det du skal bruge er:

  * Mysql brugernavn
  * Mysql password til brugernavnet
  * Mysql database som brugeren har adgang til

Hvis du har et webhotel eller andet, så skal du normalt kontakte din udbyder for at
oprette den slags. Det er ikke altid dette sker automatisk og det vil NORMALT ALDRIG være
samme brugernavn og password som du bruger til din FTP. Derfor, gå aldrig ud fra at det
\"har du sikkert\". Vær sikker før du går igang.

2. Opret et bibliotek på din webserver der fx hedder chat og kopier alle filerne ind
i det bibliotek. Selvfølgelig ikke de to .txt filer :)

3. Sæt rettighederne på data og logs til 777 (ikke nødvendigt på en NT-server). Dette
er nødvendigt fordi chatten skriver og læser i disse biblioteker.

4. I roden af chat/ ligger der en fil der hedder configuration.php - Den retter du til
så den passer til dine behov. I første omgang skal du kun ændre i bunden af den, hvor
der står noget med database. Her taster du brugernavn + pass til din mysqlbruger ind + angiver
hvilken database du har adgang til med den bruger.

5. Pakket med ud ligger der et bibliotekt der hedder install/. Inde i det ligger der en fil der
hedder install.php. Denne kører du fra din browser og trykker på knappen. Hvis alt går godt
skulle den skrive DONE i slutningen og ikke komme med fejlmeddelser.

6. Under logs/ og data/ ligger der en fil der hedder .htaccess - Den skal sørge for at
ingen udefra har adgang til at læse eller se hvad der ligger i disse to biblioteker. Det er
ekstremt vigtigt at dette virker. Lad os sige din hjemmeside er www.minchat.dk og du har lagt
tinychat under chat/... Så *SKAL* www.minchat.dk/chat/logs give et popupvindue hvor du
bliver bedt om brugernavn og password. Det samme med www.minchat.dk/chat/data/

Hvis du ikke ser det popupvindue er der noget galt og så anbefaler jeg på det kraftigste at
du løser problemet eller undlader at benytte chatten. Virker det ikke, så kontakt din udbyder
og spørg hvordan .htaccess skal sættes op på dit site!

7. Nu skulle det hele være klar til brug. Kald login.php (eller omdøb denne til index.php) og
opret en bruger.

8. Hvis alt kører, slet da biblioteket install/ da dette ikke skal benyttes mere.

---------

Chatten virker, men den mangler en del finpudsning. Dette er jeg alt for doven til at gøre,
så du må selv igang :-) Denne chat blev lavet som hjælp til nybegyndere, så de kan se en
mulig løsning på hvordan man laver en simpel chat i php. Se chatten som et fundament og ikke
det færdige hus. Huset må du selv bygge, jeg har blot leveret stenene :-)

Jeg vil dog meget kraftigt understrege, at jeg *IKKE* yder nogen som helst support til
chatten. Den er leveret \"as is\" og der bliver ikke lavet bugfixes, ændringer eller noget
som helst.

Kommentarer kan sendes til tl@coolchat.dk






Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:10 #23
5. ...hedder install.php. Denne kører du fra din browser...

Gør det
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:13 #24
ok
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:14 #25
så skriver den dettet
Fatal error:  Failed opening required \'../configuration.php\' (include_path=\'.:\') in install.php on line 33
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:15 #26
Ok... har du en fil der hedder configuration.php?
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:16 #27
ja og her er mailen jeg fil fra whitehat hvis der er noget i vil vide

-----------------
Hej djcain

Du har nu fået adgang til din egen MySQL-database på whitehat.

Din database hedder det samme som dit brugernavn. Hosten du forbinder til er \'localhost\'

Dit MySQL-brugernavn og dit MySQL password er nøjagtigt som når du logger på whitehat.

Her får du lige en stump kode som vil virke, når du skal skabe forbindelse til din database fra php. Du skal blot udskifte $databasenavn, $brugernavn og $password med dine egne oplysninger (cut\'n paste anbefales):


$connection = mysql_connect(\"localhost\",\"$brugernavn\",\"$password\");
mysql_select_db(\"$bruger\", $connection);


Du kan få et overblik over din database med værktøjet \'phpMyAdmin\', som er centralt installeret på http://phpmyadmin.whitehat.dk/

Du får også lige tre links der kan være til stor hjælp, når man arbejder med MySQL.

http://mbn.dk/MySQL/begynderguide/
http://www.webcafe.dk/php/artikler/201/phpa201.php3 og http://www.webcafe.dk/databaser/
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:18 #28
jeg har den der fil configuration.php
hvad skal jeg ?
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:22 #29
ingen der kan hjælpe?
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:24 #30
Jeg tror du skal åbne configuration.php og ret dine oplysninger (database, brugernavn, password osv.) - jeg ved ikke lige hvad du skal gøre da jeg ikke selv har dit script :(

::sunlock.dk::
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:25 #31
har du icq?
Hvis ja havd er nummeret?
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:26 #32
15215370
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:48 #33
Jeg kan godt fortælle hvad fejlen er efter at have hjulpet ham over ICQ. Han havde kommet til at lægge install.php i et forkert bib. Nu virker det ;)

::sunlock.dk::
Avatar billede sunlock.dk Nybegynder
19. august 2001 - 17:53 #34
Takker for points ;)

::sunlock.dk::
Avatar billede diablo2 Nybegynder
19. august 2001 - 17:53 #35
Tak for hjælpe sun
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
Computerworld tilbyder specialiserede kurser i database-management

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