1

Topic: ok in ie, not in firefox!

Hi all,

Got a little integration problem. Please take a look at my site http://www.team-wold.dk/board pat attention to the logo placement.

Now click on "User list"

The logo "jumps" up a little, this is were it should be, but unfortunately it isn't on the index page! Now this is only a problem in firefox! In ie, the logo is placed correctly.

main.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">

<head>

 <title>[WOLD] Weapons of low Destruction</title>
 <link rel="stylesheet" type="text/css" href="../css/style_board.css" />
 <meta http-equiv="Content-Type" content="text/html; charset=<pun_char_encoding>" />
 <meta name="Description" content="[WOLD] Wepons of low Destruction, et airsoft team fra fyn." />
 <meta name="Keywords" content="airsoft: wold: [WOLD]: " />
 <meta name="Copyright" content="WOLD" />
 <meta name="Language" content="Danish" />
 
<pun_head>

</head>

<body>

<div id="container">
    <div id="logo">
      <h1><a href="../index.html"><img class="left" src="../logo.gif" title="W.O.L.D" alt="W.O.L.D Logo"/></a></h1>
    </div>

<div class="br"></div>

  <div id="navlist">
    <ul>
      <li><a href="../index.html">home</a></li>
      <li><a href="../news.html">news</a></li>
      <li><a href="../members.html">members</a></li>
      <li><a href="../rules.html">rules</a></li>
      <li><a href="../gallery.html">gallery</a></li>
      <li><a href="../board/index.php">forum</a></li>
    </ul>
    <br />
    <p>  <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.team-wold.dk%2F"><img src="../valid-xhtml10.png" alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a></p>
  </div>


  <div id="content">
  

<div id="pun<pun_page>" class="pun">
<div id="brdheader" class="block">
    <div class="box">
        <div id="brdtitle" class="inbox">
            <pun_title>
            <pun_desc>
        </div>
        <pun_navlinks>
        
    </div>
</div>

<pun_main>


</div>

 
  <div class="br"></div>

  <div id="footer">
    <p class="center">Copyright © 2006 | <a href="http://www.arniesairsoft.co.uk/">arnies</a> | <a href="http://www.airsoftzone.dk/community/">ASZ</a> | design by scuga</p> 
    <br />
  </div>

  </div>

</body>

</html>

index.php

<?php
/***********************************************************************

  Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)

  This file is part of PunBB.

  PunBB 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.

  PunBB 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

************************************************************************/


define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';


if ($pun_user['g_read_board'] == '0')
    message($lang_common['No view']);


// Load the index.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/index.php';

$page_title = pun_htmlspecialchars($pun_config['o_board_title']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';

// Print the categories and forums
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

$cur_category = 0;
$cat_count = 0;
while ($cur_forum = $db->fetch_assoc($result))
{
    $moderators = '';

    if ($cur_forum['cid'] != $cur_category)    // A new category since last iteration?
    {
        if ($cur_category != 0)
            echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";

        ++$cat_count;

?>
<div id="idx<?php echo $cat_count ?>" class="blocktable">
    <h2><span><?php echo pun_htmlspecialchars($cur_forum['cat_name']) ?></span></h2>
    <div class="box">
        <div class="inbox">
            <table cellspacing="0">
            <thead>
                <tr>
                    <th class="tcl" scope="col"><?php echo $lang_common['Forum'] ?></th>
                    <th class="tc2" scope="col"><?php echo $lang_index['Topics'] ?></th>
                    <th class="tc3" scope="col"><?php echo $lang_common['Posts'] ?></th>
                    <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
                </tr>
            </thead>
            <tbody>
<?php

        $cur_category = $cur_forum['cid'];
    }

    $item_status = '';
    $icon_text = $lang_common['Normal icon'];
    $icon_type = 'icon';

    // Are there new posts?
    if (!$pun_user['is_guest'] && $cur_forum['last_post'] > $pun_user['last_visit'])
    {
        $item_status = 'inew';
        $icon_text = $lang_common['New icon'];
        $icon_type = 'icon inew';
    }

    // Is this a redirect forum?
    if ($cur_forum['redirect_url'] != '')
    {
        $forum_field = '<h3><a href="'.pun_htmlspecialchars($cur_forum['redirect_url']).'" title="'.$lang_index['Link to'].' '.pun_htmlspecialchars($cur_forum['redirect_url']).'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
        $num_topics = $num_posts = ' ';
        $item_status = 'iredirect';
        $icon_text = $lang_common['Redirect icon'];
        $icon_type = 'icon';
    }
    else
    {
        $forum_field = '<h3><a href="viewforum.php?id='.$cur_forum['fid'].'">'.pun_htmlspecialchars($cur_forum['forum_name']).'</a></h3>';
        $num_topics = $cur_forum['num_topics'];
        $num_posts = $cur_forum['num_posts'];
    }

    if ($cur_forum['forum_desc'] != '')
        $forum_field .= "\n\t\t\t\t\t\t\t\t".$cur_forum['forum_desc'];


    // If there is a last_post/last_poster.
    if ($cur_forum['last_post'] != '')
        $last_post = '<a href="viewtopic.php?pid='.$cur_forum['last_post_id'].'#p'.$cur_forum['last_post_id'].'">'.format_time($cur_forum['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_forum['last_poster']).'</span>';
    else
        $last_post = ' ';

    if ($cur_forum['moderators'] != '')
    {
        $mods_array = unserialize($cur_forum['moderators']);
        $moderators = array();

        while (list($mod_username, $mod_id) = @each($mods_array))
            $moderators[] = '<a href="profile.php?id='.$mod_id.'">'.pun_htmlspecialchars($mod_username).'</a>';

        $moderators = "\t\t\t\t\t\t\t\t".'<p><em>('.$lang_common['Moderated by'].'</em> '.implode(', ', $moderators).')</p>'."\n";
    }

?>
                 <tr<?php if ($item_status != '') echo ' class="'.$item_status.'"'; ?>>
                    <td class="tcl">
                        <div class="intd">
                            <div class="<?php echo $icon_type ?>"><div class="nosize"><?php echo $icon_text ?></div></div>
                            <div class="tclcon">
                                <?php echo $forum_field."\n".$moderators ?>
                            </div>
                        </div>
                    </td>
                    <td class="tc2"><?php echo $num_topics ?></td>
                    <td class="tc3"><?php echo $num_posts ?></td>
                    <td class="tcr"><?php echo $last_post ?></td>
                </tr>
<?php

}

// Did we output any categories and forums?
if ($cur_category > 0)
    echo "\t\t\t".'</tbody>'."\n\t\t\t".'</table>'."\n\t\t".'</div>'."\n\t".'</div>'."\n".'</div>'."\n\n";
else
    echo '<div id="idx0" class="block"><div class="box"><div class="inbox"><p>'.$lang_index['Empty board'].'</p></div></div></div>';


// Collect some statistics from the database
$result = $db->query('SELECT COUNT(id)-1 FROM '.$db->prefix.'users') or error('Unable to fetch total user count', __FILE__, __LINE__, $db->error());
$stats['total_users'] = $db->result($result);

$result = $db->query('SELECT id, username FROM '.$db->prefix.'users ORDER BY registered DESC LIMIT 1') or error('Unable to fetch newest registered user', __FILE__, __LINE__, $db->error());
$stats['last_user'] = $db->fetch_assoc($result);

$result = $db->query('SELECT SUM(num_topics), SUM(num_posts) FROM '.$db->prefix.'forums') or error('Unable to fetch topic/post count', __FILE__, __LINE__, $db->error());
list($stats['total_topics'], $stats['total_posts']) = $db->fetch_row($result);



if ($pun_config['o_users_online'] == '1')
{
    // Fetch users online info and generate strings for output
    $num_guests = 0;
    $users = array();
    $result = $db->query('SELECT user_id, ident FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());

    while ($pun_user_online = $db->fetch_assoc($result))
    {
        if ($pun_user_online['user_id'] > 1)
            $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.pun_htmlspecialchars($pun_user_online['ident']).'</a>';
        else
            ++$num_guests;
    }

    $num_users = count($users);
    


    if ($num_users > 0)
        echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
    else
        echo "\t\t\t".'<div class="clearer"></div>'."\n";

}
else
    echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";


?>
        </div>
    </div>
</div>
<?php

$footer_style = 'index';
require PUN_ROOT.'footer.php';

Hope somebody can help.

Thanks

/Michael

2

Re: ok in ie, not in firefox!

Well you could start by getting rid of the div id="brdtitle" ...> and its contents from main.tpl since you are not using it and it is throwing up validation errors.  Its difficult to work out the problem while the markup is invalid. Incidentally, the problem is only FF, everything works fine in Opera.

Re: ok in ie, not in firefox!

Using Firebug I can see the <h1> tag is causing the extra hight in Firefox.

4

Re: ok in ie, not in firefox!

if I remove id=brdtitle, User list, search and so, will not look right!

if I remove the h1 formatting in my css, index page looks fine, but then the other pages will be to high. 

Seems like the index page, and the other pages (user list, search etc) is using different css's. Hmm i'm a little lost now, gotta fiddle a little bit more...

thanks anyway.

/Michael

5

Re: ok in ie, not in firefox!

Ok, tried with a standard "main.tpl", no issues here. Although it still doesn't validate!

Tried removing the h1 formatting in my css. Now index.php has right height, but then userlist.php, search.php, register.php jumps right up, and sits to high!

Cannot figure out why, but it seems as the h1 formatting is only read from index.php and not from the other the other pages!

How can I "force" all pages to have the same h1 formatting? I know this is to be done through css, but obviously, I cannot make that work!

Thanks

/Michael

6

Re: ok in ie, not in firefox!

Hmm dont really know why, but adding <br/> after the logo placement seems to solve the problem....

Now it looks right in both ie and ff ;-)

Now, on with the validation problems. Feel free, to help out ;-)

Thanks.

/Michael

7

Re: ok in ie, not in firefox!

Looks exactly the same in all Moz browsers compared to IE here. You should sort your html first though, then work on styling/placement specifics.

8 (edited by MattF 2007-10-04 12:55)

Re: ok in ie, not in firefox!

Scuga wrote:

Hmm dont really know why, but adding <br/> after the logo placement seems to solve the problem....

Now it looks right in both ie and ff ;-)

Wouldn't worry about it then. big_smile There always tends to be one browser cocks it up. (Usually IE, as a rule).

Scuga wrote:

Now, on with the validation problems. Feel free, to help out ;-)

Run it through the validator and start on the uppermost tag eror listed. You'll often find that top error may be causing several phantom erors below it in the validation list. Work on the top error shown each time, revalidate, and see which errors still exist.

9 (edited by Scuga 2007-10-04 12:25)

Re: ok in ie, not in firefox!

thanks man, will do ;-)

/Michael

10

Re: ok in ie, not in firefox!

Another helpful prog is the html validator plugin for FF. That will highlight the errant tags when you view source, so you have a better idea of what part of the page you're looking for errors in. Just reference which script generates that part of the page output, and you're halfway there. smile

11

Re: ok in ie, not in firefox!

Woohuuu ;-) finally. Now it's valid :-)

/Michael

12

Re: ok in ie, not in firefox!

Nice. smile At least now you know that any viewable browser specific differences aren't caused by code errors. They're just down to quirks or browser specific requirements/interpretations. smile

13

Re: ok in ie, not in firefox!

Hmm still got 1 problem though. The footer on the page, seems to have the same "illness". When on index page, it looks fine. But on Userlist/Search/profile pages, footer looks wrong. Now this IS the same, for both ff and ie, so it's not quite the same problem. Did however, try the <br /> trick, but unfortunately, that didn't help :-(

Help please :-)

/Michael