Avatar billede kris75 Mester
17. januar 2007 - 14:20 Der er 13 kommentarer og
1 løsning

Parse error ?

Hej
Jeg har lige installeret en chat funktion på mit woltlab burning board og når jeg så trykker på home/start knappen, så får jeg følgende fejl:

Parse error: parse error in /home/httpd/vhosts/esby.eu/httpdocs/wbb2/index.php(261) : eval()'d code on line 48

Sådan ser linje 44-50 ud:
switch ($boardordermode) {
    case 1: $boardorder = 'b.title ASC'; break;
    case 2: $boardorder = 'b.title DESC'; break;
    case 3: $boardorder = 'b.lastposttime DESC'; break;
    default: $boardorder = 'b.boardorder ASC'; break;
}
$activtime = time() - 60 * $useronlinetimeout;

Håber nogen kan hjælpe:-)

Kris
Avatar billede simplus Nybegynder
17. januar 2007 - 14:26 #1
Fjern break; ved default!
Avatar billede kris75 Mester
17. januar 2007 - 15:10 #2
Den giver stadig den samme fejl :(
Avatar billede zynzz Praktikant
17. januar 2007 - 18:13 #3
Du kan prøve:

switch ($boardordermode) {
case 1: $boardorder = "b.title ASC";
break;
case 2: $boardorder = "b.title DESC";
break;
case 3: $boardorder = "b.lastposttime DESC";
break;
default: $boardorder = "b.boardorder ASC";
}
Avatar billede kris75 Mester
17. januar 2007 - 18:27 #4
Øv, stadig det samme :(
Avatar billede zynzz Praktikant
17. januar 2007 - 18:33 #5
$activtime = (time() - 60) * $useronlinetimeout;
Avatar billede mikze Nybegynder
17. januar 2007 - 18:34 #6
Prøv at fjerne hele din switch, kør scriptet, og se om der kommer en fejlmeddelelse. Hvis ikke, så er det ikke i din switch fejlen er i.

Jeg kunne godt forestille mig at din php drillede med at sige direkte time() i en variabel, men det burde den ikke melde fejl i.

Prøv alligevel for en sikkerheds skyld:

$t = time();
$activtime = $t-60*$useronlinetimeout;

Men prøv først at fjerne din switch, og køre scriptet og se om fejlen er deri! :-)
Avatar billede mikze Nybegynder
17. januar 2007 - 18:37 #7
zynzz, din funktion skal han kun bruge hvis han vil have at der skal trækkes et minut fra time først, og at det bagefter skal ganges .. hvis han vil have at 6 skal ganges med timeout'en først, så skal han ikke bruge dit svar :-)
Avatar billede kris75 Mester
17. januar 2007 - 19:30 #8
Har prøvet begge jeres muligheder og der er ingen forandring, for stadig samme meddelse når jeg trykker på de 2 links:
Parse error: parse error in /home/httpd/vhosts/esby.eu/httpdocs/wbb2/index.php(262) : eval()'d code on line 48

Hvordan kan sådan en fejl opstå når man bare skal ind i forummet?
Avatar billede mikze Nybegynder
18. januar 2007 - 18:59 #9
Kan du ikke evt. uploade hele sourcen? For en sikkerheds skyld :-)
Avatar billede kris75 Mester
18. januar 2007 - 19:11 #10
Jo, det kommer her:
<?php
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web          http://www.woltlab.de/
// * License      http://www.woltlab.de/products/burning_board/license_en.php
// *              http://www.woltlab.de/products/burning_board/license.php
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2005-06-16 14:28:46 +0200 (Thu, 16 Jun 2005) $
// * $Author: Burntime $
// * $Rev: 1618 $
// ************************************************************************************//


$filename = 'index.php';

require('./global.php');
$lang->load('START');

require('./acp/lib/class_useronline.php');

if (isset($_COOKIE[$cookieprefix.'hidecats'])) $hidecats = decode_cookie($_COOKIE[$cookieprefix.'hidecats']);
else $hidecats = array();

if (isset($_GET['hidecat'])) {
    $hidecats[$_GET['hidecat']] = 1;
    if ($wbbuserdata['usecookies'] == 1) encode_cookie("hidecats", time() + 3600 * 24 * 365);
    else encode_cookie("hidecats");
}
if (isset($_GET['showcat'])) {
    $hidecats[$_GET['showcat']] = 0;
    if ($wbbuserdata['usecookies'] == 1) encode_cookie("hidecats", time() + 3600 * 24 * 365);
    else encode_cookie("hidecats");
}

$boardcache = array();
$permissioncache = array();
$modcache = array();

switch ($boardordermode) {
    case 1: $boardorder = 'b.title ASC'; break;
    case 2: $boardorder = 'b.title DESC'; break;
    case 3: $boardorder = 'b.lastposttime DESC'; break;
    default: $boardorder = 'b.boardorder ASC'; break;
}
$t = time();
$activtime = time() - 60 * $useronlinetimeout;

$boardvisit = array();
$result = $db->unbuffered_query("
SELECT
b.*".(($showlastposttitle == 1) ? (", t.topic, t.prefix AS threadprefix, i.*") : (""))."
".(($showuseronlineinboard == 1) ? (", COUNT(s.sessionhash) AS useronline") : (""))."
".(($wbbuserdata['userid']) ? (", bv.lastvisit") : (""))."
FROM bb".$n."_boards b
".(($showlastposttitle == 1) ? ("LEFT JOIN bb".$n."_threads t ON (t.threadid=b.lastthreadid)
LEFT JOIN bb".$n."_icons i USING (iconid)") : (""))."
".(($showuseronlineinboard == 1) ? ("LEFT JOIN bb".$n."_sessions s ON (s.boardid=b.boardid AND s.lastactivity>='$activtime')") : (""))."
".(($wbbuserdata['userid']) ? (" LEFT JOIN bb".$n."_boardvisit bv ON (bv.boardid=b.boardid AND bv.userid='".$wbbuserdata['userid']."')") : (""))."
".(($showuseronlineinboard == 1) ? ("GROUP BY b.boardid") : (""))."
ORDER by b.parentid ASC, $boardorder");
while ($row = $db->fetch_array($result)) {
    $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
    $boardvisit[$row['boardid']] = $row['lastvisit'];
}

if ($showuseronlineinboard == 2) {
    $userinboard = array();
    $online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
    $result = $db->unbuffered_query("SELECT s.userid, s.boardid, u.username, u.useronlinegroupid,g.useronlinemarking, u.invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity>='$activtime'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC");   
    while ($row = $db->fetch_array($result)) $userinboard[$row['boardid']][] = $row;   
}

$result = $db->unbuffered_query("SELECT t.boardid, t.threadid, t.lastposttime".(($wbbuserdata['userid']) ? (", tv.lastvisit") : (""))." FROM bb".$n."_threads t".(($wbbuserdata['userid']) ? (" LEFT JOIN bb".$n."_threadvisit tv ON (tv.threadid=t.threadid AND tv.userid='".$wbbuserdata['userid']."')") : (""))." WHERE t.visible = 1 AND t.lastposttime > '$wbbuserdata[lastvisit]' AND t.closed <> 3");
while ($row = $db->fetch_array($result)) {
    if ($row['lastposttime'] > $row['lastvisit']) $visitcache[$row['boardid']][$row['threadid']] = $row['lastposttime'];
}

// read permissions
$permissioncache = getPermissions();

if ($hide_modcell == 0) {
    $result = $db->unbuffered_query("SELECT bb".$n."_moderators.*, username FROM bb".$n."_moderators LEFT JOIN bb".$n."_users USING (userid) ORDER BY username ASC");
    while ($row = $db->fetch_array($result)) $modcache[$row['boardid']][] = $row;
}

$boardbit = makeboardbit(0);

$index_pms = '';
$quicklogin = '';
$index_showevents = '';
$index_useronline = '';
$index_stats = '';

/* ############## STATS ############## */
if ($showstats == 1) {
    $stats = $db->query_first("SELECT s.*, u.username FROM bb".$n."_stats s LEFT JOIN bb".$n."_users u ON(u.userid=s.lastuserid)");
    $stats['username'] = htmlconverter($stats['username']);
   
    $installdays = (time() - $installdate) / 86400;
    if ($installdays < 1) $postperday = $stats['postcount'];
    else $postperday = $stats['postcount'] / $installdays;
   
    $postperday = number_format($postperday, 2, $lang->get("LANG_GLOBAL_DEC_POINT"), $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
   
    if ($stats['usercount'] >= 1000) $stats['usercount'] = number_format($stats['usercount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
    if ($stats['threadcount'] >= 1000) $stats['threadcount'] = number_format($stats['threadcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
    if ($stats['postcount'] >= 1000) $stats['postcount'] = number_format($stats['postcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
}
// JGS-Chat
// Löschzeit
$chat_einstellungen=$db->query_first("SELECT * FROM bb".$n."_jgs_chat_einstellungen WHERE id='1'");
$online_reset=$chat_einstellungen[online_reset];
$loeschzeit=time()-(60*$online_reset);
if($showuseronline==1){
    $membercount_chat=0;
    $popup_erweiterung=md5($master_board_name);
    $online = new useronline($wbbuserdata['a_can_view_ghosts'],$wbbuserdata['buddylist']);
    $result = $db->unbuffered_query("SELECT s.userid,s.zeit,s.in_raum, u.username, useronlinegroupid, useronlinemarking, invisible FROM bb".$n."_jgs_chat_useronline s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid ORDER BY u.username ASC");
    while($row=$db->fetch_array($result)){
        // info beim verlassen
        if($row[zeit]<$loeschzeit){
            $db->query("DELETE FROM bb".$n."_jgs_chat_useronline WHERE userid = '$row[userid]'");
            $zeit_2=date("H:i:s");
            $db->query("INSERT INTO bb".$n."_jgs_chat_text (zeit,zeit_2,von_userid,von_username,an_userid,chat_text,farbe,fuer_raum) VALUES ('".time()."','$zeit_2','0','".addslashes($row['username'])."','0','".addslashes($row['username'])." {$lang->items['LANG_GLOBAL_JGSCHATRAUSAUSCHAT']}','','$row[in_raum]')");
        }else{
            $membercount_chat++;
            $online->user($row['userid'],htmlconverter($row['username']),$row['useronlinemarking'],$row['invisible']);
        }
    }
    if($membercount_chat==1){$erW="{$lang->items['LANG_START_USERONLINE_MEMBERS_ONE']}";$ist_sind="{$lang->items['LANG_START_USERONLINE_BE_ONE']}";}else{$erW="{$lang->items['LANG_START_USERONLINE_MEMBERS']}";$ist_sind="{$lang->items['LANG_START_USERONLINE_BE']}";}
    $online_chat=$online->useronlinebit;
    $gesamt_online_chat=$membercount_chat;
}
// JGS-Chat
/* ############## USERONLINE ############## */
if ($showuseronline == 1) {
    $guestcount = 0;
    $membercount = 0;
    $invisiblecount = 0;
    $online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
    $result = $db->unbuffered_query("SELECT s.userid, username, useronlinegroupid, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time() - 60 * $useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC");
    while ($row = $db->fetch_array($result)) {
        if ($row['userid'] == 0) {
            $guestcount++;
            continue;   
        }
        $membercount++;
        if ($row['invisible'] == 1) $invisiblecount++;
        $online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible']);
    }
    $useronline = $online->useronlinebit;
    $totaluseronline = $membercount + $guestcount;
    if ($totaluseronline > $rekord) {
        $rekord = $totaluseronline;
        $rekordtime = time();
        $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord' WHERE varname='rekord'", 1);
        $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime' WHERE varname='rekordtime'", 1);
        require("./acp/lib/class_options.php");
        $option = &new options("acp/lib");
        $option->write();
    }
    $rekorddate = formatdate($wbbuserdata['dateformat'], $rekordtime);
    $rekordtime = formatdate($wbbuserdata['timeformat'], $rekordtime);
   
    // format figures
    if ($guestcount >= 1000) $guestcount = number_format($guestcount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
    if ($membercount >= 1000) $membercount = number_format($membercount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
    if ($invisiblecount >= 1000) $invisiblecount = number_format($invisiblecount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
    if ($totaluseronline >= 1000) $totaluseronline = number_format($totaluseronline, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
    if ($rekord >= 1000) $rekord = number_format($rekord, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
   
    if ($totaluseronline == 1) {
        $useronline_BE = $lang->items['LANG_START_USERONLINE_BE_ONE'];
        $useronline_USER = $lang->items['LANG_START_USERONLINE_USER_ONE'];
    }
    else {
        $useronline_BE = $lang->items['LANG_START_USERONLINE_BE'];
        $useronline_USER = $lang->items['LANG_START_USERONLINE_USER'];
    }
   
    if ($guestcount == 1) $useronline_GUEST = $lang->items['LANG_START_USERONLINE_GUEST_ONE'];
    elseif ($guestcount > 1) $useronline_GUEST = $lang->items['LANG_START_USERONLINE_GUEST'];
    else {
        $useronline_GUEST = '';
        $guestcount = '';
    }
   
    if ($membercount == 1) $useronline_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
    elseif ($membercount > 1) $useronline_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS'];
    else {
        $useronline_MEMBERS = '';
        $membercount = '';
    }
   
    if ($invisiblecount == 1) $useronline_GHOSTS = $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
    elseif ($invisiblecount > 1) $useronline_GHOSTS = $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
    else $useronline_GHOSTS = '';
   
    if ($guestcount > 0 && $membercount > 0) $useronline_AND = $lang->items['LANG_START_USERONLINE_AND'];
    else $useronline_AND = '';
   
    $lang->items['LANG_START_USERONLINE'] = $lang->get("LANG_START_USERONLINE", array('$useronline_BE' => $useronline_BE, '$membercount' => $membercount, '$useronline_MEMBERS' => $useronline_MEMBERS, '$useronline_GHOSTS' => $useronline_GHOSTS, '$useronline_AND' => $useronline_AND, '$guestcount' => $guestcount, '$useronline_GUEST' => $useronline_GUEST, '$rekord' => $rekord, '$useronline_USER' => $useronline_USER, '$rekorddate' => $rekorddate, '$rekordtime' => $rekordtime));
    $lang->items['LANG_START_SHOWUSERONLINE'] = $lang->get("LANG_START_SHOWUSERONLINE", array('$useronline_BE' => $useronline_BE, '$totaluseronline' => $totaluseronline, '$useronline_USER' => $useronline_USER));
}
/* ############## BIRTHDAYS ############## */
unset($birthdaybit);
if ($showbirthdays == 1  && $wbbuserdata['can_view_calendar'] != 0) {
    $currentdate = formatdate("m-d", time());
    $currentyear = intval(formatdate("Y", time()));
    $result = $db->unbuffered_query("SELECT userid, username, birthday FROM bb".$n."_users WHERE birthday LIKE '%-$currentdate' ORDER BY username ASC");
    while ($row = $db->fetch_array($result)) {
        $row['username'] = htmlconverter($row['username']);
        $birthyear = intval(wbb_substr($row['birthday'], 0, 4));
        $age = $currentyear - $birthyear;
        if ($age < 1 || $age > 200) $age = '';
        else $age = "&nbsp;($age)";
        if (isset($birthdaybit)) eval("\$birthdaybit .= \"".$tpl->get("index_birthdaybit")."\";");
        else eval("\$birthdaybit = \"".$tpl->get("index_birthdaybit")."\";");
    }
}

/* ############## EVENTS ############## */
unset($eventbit);
if ($showevents == 1 && $wbbuserdata['can_view_calendar'] != 0) {
    $currentdate = date("Y-m-d");
    $result = $db->unbuffered_query("SELECT eventid, subject, public FROM bb".$n."_events WHERE eventdate = '$currentdate' AND (public=2 OR (public=0 AND userid = '$wbbuserdata[userid]')) ORDER BY public ASC, subject ASC");
    while ($row = $db->fetch_array($result)) {
        $row['subject'] = htmlconverter($row['subject']);
        if (isset($eventbit)) eval("\$eventbit .= \"".$tpl->get("index_eventbit")."\";");
        else eval("\$eventbit = \"".$tpl->get("index_eventbit")."\";");
    }
}

if (!$wbbuserdata['userid']) {
    $lang->items['LANG_START_WELCOME_TITLE'] = $lang->get("LANG_START_WELCOME_TITLE", array('$master_board_name' => $master_board_name));
    $lang->items['LANG_START_WELCOME'] = $lang->get("LANG_START_WELCOME", array('$SID_ARG_2ND' => $SID_ARG_2ND, '$SID_ARG_1ST' => $SID_ARG_1ST));
}
else {
    $currenttime = formatdate($wbbuserdata['timeformat'], time());
    $toffset = (($wbbuserdata['timezoneoffset'] >= 0) ? ("+") : ("")).$wbbuserdata['timezoneoffset'];
    $lang->items['LANG_START_TIMEZONE'] = $lang->get("LANG_START_TIMEZONE", array('$toffset' => $toffset));
    $lastvisitdate = formatdate($wbbuserdata['dateformat'], $wbbuserdata['lastvisit'], 1);
    $lastvisittime = formatdate($wbbuserdata['timeformat'], $wbbuserdata['lastvisit']);
    if ($showpmonindex == 1 && $wbbuserdata['can_use_pms'] == 1 && $wbbuserdata['receivepm'] == 1) {
        $counttotal = $wbbuserdata['pminboxcount'];
        $countunread = $wbbuserdata['pmunreadcount'];
        $countnew = $wbbuserdata['pmnewcount'];
        if ($countnew == 1) $pms_NEWMESSAGE = $lang->items['LANG_START_PMS_MESSAGE'];
        else $pms_NEWMESSAGE = $lang->items['LANG_START_PMS_MESSAGES'];
       
        if ($counttotal == 1) $pms_TOTALMESSAGE = $lang->items['LANG_START_PMS_MESSAGE'];
        else $pms_TOTALMESSAGE = $lang->items['LANG_START_PMS_MESSAGES'];
       
        $lang->items['LANG_START_PMS'] = $lang->get("LANG_START_PMS", array('$countnew' => $countnew, '$pms_NEWMESSAGE' => $pms_NEWMESSAGE, '$countunread' => $countunread, '$counttotal' => $counttotal, '$pms_TOTALMESSAGE' => $pms_TOTALMESSAGE));
    }
}
eval("\$tpl->output(\"".$tpl->get("index")."\");");
?>
Avatar billede mikze Nybegynder
18. januar 2007 - 19:23 #11
- Puha en bibel! Jeg har aldrig arbejdet med eval() funktioner før, men jeg har en fornemmelse af at det er i en af dem fejlen ligger??
Avatar billede zynzz Praktikant
18. januar 2007 - 19:28 #12
Jeg er enig med mikze..
Avatar billede kris75 Mester
18. januar 2007 - 20:39 #13
Ja, der er noget at tage fat på :-)
Avatar billede kris75 Mester
19. januar 2007 - 08:06 #14
Jeg løste problemet lagde index templaten ind igen og vupti, så var alt ok.
Tak for jeres tid.
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