Avatar billede saigon Nybegynder
16. juli 2001 - 23:58 Der er 8 kommentarer

Hva betyder den warning?

Så er jeg her igen www.onlinebasen.dk - nu virker det mere eller mindre og dog den skriver sådan en underlig warning i kan selv se det under chatten når i skriver den skriver: \"Fatal error: Call to a member function on a non-object in /www/onlinebasen.dk/chatbar.php on line 43\" Hmm siger jeg bare :) Når man her har i lige chatbar:
<?
include(\"azero_inc.php\");
include(\"chatres.php\");
$tiden = strftime(\"%H:%M:%S : \");

session_start();
session_register(\"bruger\");
session_register(\"rum\");

$rum_off = array(
    \"IG\" => \"Indgangen\",
    \"BIB\" => \"Bibloteket\",
    \"DH\" => \"Dyrehandlen\",
    \"GB\" => \"Grill Baren\",
    \"SC\" => \"Space Caféen\",
    \"DI\" => \"Diskoteket\",
    \"DR\" => \"Dating Rummet\",
    \"KS\" => \"Koncert Salen\",
    \"SK\" => \"Skolegården\");
   
$rum_pri = array(
    \"DK\" => \"Direktørens kontor\",
    \"PK\" => \"Pedellens kontor\",
    \"TK\" => \"Trænerens kontor\",
    \"WK\" => \"Webmasterens kontor\",
    \"GK\" => \"Grafikerens Kontor\",
    \"BK\" => \"Betjentens kontor\");

$rum_alle = array_merge($rum_off, $rum_pri);

if (isset($rummet))
{
    $rum = $rummet;
}

if (isset($rum) && $rum != \"\")
{
    $chatindhold = new cl_chat($rum . \".txt\");
}

if (isset($tekst))
{
    $chatindhold->tilf($tekst, $tiden.$bruger);
}

HTML_hoved();

if (isset($bruger))
{
    if (isset($logout))
    {
        $chatindhold->tilf(\"\", \'<i><font color=\"#00FF00\">\'.$tiden.$bruger.\' er logget af</font></i>\');

        unset($logout);
        unset($bruger);
        print(\"<body>\");
        print(\"Du er logget af chatten.\");
    }
    else
    {
        ?><body onLoad=\'window.document.formular.tekst.focus();\'><?
        if (isset($nylogin))
        {
            $chatindhold->tilf(\"\", \'<i><font color=\"#FF0000\">\'.$tiden.$bruger.\' er logget på</font></i>\');
        }
        print(\"Logget på som <b>\" . $bruger . \"</b><br>\");
        print(\"Du befinder dig i rum <b>\". $rum_alle[$rum] .\"</b><br>\");
        ?>
        <script>
        function skiftrum(nyrum)
        {
            window.parent.frames[\"hovedramme\"].location.href = \"chatvindue.php?rummet=\" +  nyrum;
            window.parent.frames[\"sidefod\"].location.href = \"chatbar.php?rummet=\" +  nyrum;
        }
        </script>
        <form name=\"formular\" method=\"POST\" action=\"chatbar.php\">
        <input type=\"text\" name=\"tekst\" size=\"60\"><input type=\"submit\" value=\"Send\" name=\"x\">&nbsp;
        <input type=\"button\" name=\"logout\" value=\"Log Af\" onClick=\'window.location.href=\"chatbar.php?logout=ja\";\'>
        &nbsp;
        <br>
        <select size=\"1\" name=\"Drop1\" onChange=\'skiftrum(options[selectedIndex].value);\'>
            <option>Rum:</option><?
        foreach($rum_off as $vaerdi=> $element)
        {
            print(\'<option value=\"\'.$vaerdi.\'\">\'.$element.\'</option>\');
        }
                ?></select>
       
                <select size=\"1\" name=\"Drop2\" onChange=\'skiftrum(options[selectedIndex].value);\'>
            <option>Private Rum:</option><?
        foreach($rum_pri as $vaerdi=> $element)
        {
            print(\'<option value=\"\'.$vaerdi.\'\">\'.$element.\'</option>\');
        }           
        print(\"</select></form>\");
    }
}
else
{
    print(\'<body><form method=\"POST\" action=\"chatbar.php\">Skriv det navn du vil ses som i chatten: <br>\');
    print(\'<input type=\"text\" name=\"bruger\" size=\"30\"><br><input type=\"hidden\" name=\"nylogin\" value=\"ja\">\');
    print(\'<input type=\"hidden\" name=\"rum\" value=\"IG\"><input type=\"submit\" value=\"Send\" name=\"x\"></form>\');
}

HTML_bund();

//-----------------------------------------------------------------------------------------

function HTML_hoved()
{
    print(\'<html><head><style>body { font-family: Tahoma; font-size : 12px }\');
    print(\'</style><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">\');
    print(\'<title>Chatvindue</title></head>\');
}

function HTML_bund()
{
    print(\"</body></html>\");
}
?>

Og chatres:
<?
include(\"azero_inc.php\");
class cl_chat
{
    var $indhold;
    var $filnavn;
   
    function cl_chat($filnavn)
    {
        $findhold = \"\";
        $this->filnavn = $filnavn;
        $filhand = fopen($filnavn, \"r\");
        while (!feof($filhand))
        {
            $findhold .= fgetc($filhand);
        }
        fclose($filhand);
        $findhold = explode(\"§\", $findhold);
        $i = 1;
        $id = 0;
        while($i < count($findhold))
        {
            $bruger = $findhold[$i++];
            $tekst = $findhold[$i++];
            $this->indhold[$id++] = array(\"bruger\"=> $bruger, \"tekst\"=> $tekst);
        }
    }
   
    function tilf($tekst, $bruger)
    {
        $tekst = stripslashes($tekst);
        $tekst = ereg_replace(\"\\n\", \"<br>\", $tekst);
        $tekst = ereg_replace(\"§\", \"#\", $tekst);
        $tekst = ereg_replace(\"\\:\\-\\)\", \'<img border=\"0\" src=\"smile.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\)\", \'<img border=\"0\" src=\"smile.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\-\\(\", \'<img border=\"0\" src=\"sad.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\(\", \'<img border=\"0\" src=\"sad.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\;\\-\\)\", \'<img border=\"0\" src=\"wink2.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\;\\)\", \'<img border=\"0\" src=\"wink2.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:S\", \'<img border=\"0\" src=\"crooked.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\-S\", \'<img border=\"0\" src=\"crooked.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:D\", \'<img border=\"0\" src=\"smileD.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\-D\", \'<img border=\"0\" src=\"smileD.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\|\", \'<img border=\"0\" src=\"disgust.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\-\\|\", \'<img border=\"0\" src=\"disgust.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\P\", \'<img border=\"0\" src=\"smileP.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\-P\", \'<img border=\"0\" src=\"smileP.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:O\", \'<img border=\"0\" src=\"smileO.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\:\\-O\", \'<img border=\"0\" src=\"smileO.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\*)\", \'<img border=\"0\" src=\"star.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\S)\", \'<img border=\"0\" src=\"sove.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\H)\", \'<img border=\"0\" src=\"sol.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\I)\", \'<img border=\"0\" src=\"ide.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\D)\", \'<img border=\"0\" src=\"drink.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\G)\", \'<img border=\"0\" src=\"gave.gif\">\' , $tekst);
        $tekst = ereg_replace(\"\\(\\L)\", \'<img border=\"0\" src=\"hjerte.gif\">\' , $tekst);


        $this->indhold[count($this->indhold)] = array(\"bruger\"=> $bruger, \"tekst\"=> $tekst);
       
        if (count($this->indhold) > 15)
        {
            array_shift($this->indhold);
        }
       
        $filhand = fopen($this->filnavn, \"w\");
        for ($i = 0; $i < count($this->indhold); $i++)
        {
            $str = \"§\".$this->indhold[$i][\"bruger\"].\"§\".$this->indhold[$i][\"tekst\"];
            fputs($filhand, $str);
        }
        fclose($filhand);
    }
   
    function vis()
    {
        for($i = 0; $i < count($this->indhold); $i++)
        {
            print(\"<b>\".$this->indhold[$i][\"bruger\"].\"</b> : \".$this->indhold[$i][\"tekst\"].\"<br>\");
        }
    }
}
?>



Håber i kan hjælpe!
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 00:01 #1
Kan det være fordi

  $chatindhold = new cl_chat($rum . \".txt\");

ikke bliver udført ?
Avatar billede razmuz_dk Nybegynder
17. juli 2001 - 01:07 #2
    $chatindhold->tilf($tekst, $tiden.$bruger);

Ville umiddelbart sige at det er her det er galt? ...

    $chatindhold->tilf($tekst, $tiden,$bruger);


Avatar billede razmuz_dk Nybegynder
17. juli 2001 - 01:07 #3
Sku\' se\'fø\'li\' være et svar! ...

SVAR:
    $chatindhold->tilf($tekst, $tiden,$bruger);
*ss*
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 01:10 #4
Den er jo kun defineret til at tage 2 parametre: function tilf($tekst, $bruger)
så det punktum er sikkert ok: en sammensætning af to værdier.
Avatar billede saigon Nybegynder
17. juli 2001 - 01:33 #5
Har lige prøvet det razmuz sagde det virker ikk den skriver det samme....Forstår det bare ikk for den skulle virke da jeg har testet den et andet sted!
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 01:37 #6
Ja, men razmuz tager fejl. Prøv at lave følgende testudskrift:

if (isset($rum) && $rum != \"\")
{
  $chatindhold = new cl_chat($rum . \".txt\");
  print \"\\n<!-- chatindhold er oprettet: $rum -->\\n\";
} else {
  print \"\\n<!-- chatindhold er IKKE oprettet: $rum -->\\n\";
}

if (isset($tekst))
{
  $chatindhold->tilf($tekst, $tiden.$bruger);
}
Avatar billede erikjacobsen Ekspert
17. juli 2001 - 01:38 #7
Du skal så sige vis kilde, når du få fejlen og se hvad for én det er.
Er det så den med \"IKKE\", kan du da i hvert fald se at du har et
problem. Måske noget med sessions, da $rum måske kommer derfra.
Avatar billede razmuz_dk Nybegynder
17. juli 2001 - 01:46 #8
hehe, upz! - gad ik\' lige til at sætte mig ind i scriptet! :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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