Closed Bug 246844 Opened 20 years ago Closed 20 years ago

PHPMyAdmin: left frame menu for accesing tables doesn't work, neither the DB select menu

Categories

(Firefox :: General, defect)

x86
Windows 2000
defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 246923

People

(Reporter: c0p0n, Assigned: bugzilla)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040614 Firefox/0.8
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040614 Firefox/0.8

On the left frame at myadmin you can select a database from a dropdown list,
then the frame changes to another with a list of links to the several tables the
database has. Noone of that links work, actually (you can, btw, open them in new
tab or new window without probs). Also, when you select the DB on the dropdown
list, the right frame should change also, showing you a page with the actual DB
information (it doesn't work).

FireFox 0.9 on Windows 2000 PRO (tested on 2 computers), PHPMyAdmin 2.5.4 on
Debian Woody. The code of the frameset is this:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<title>phpMyAdmin 2.5.4 - servidor</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css"
href="./css/phpmyadmin.css.php?lang=en-iso-8859-1&amp;js_frame=right" />
</head>

<script type="text/javascript">
<!--
    document.writeln('<frameset cols="150,*" rows="*" border="1" frameborder="1"
framespacing="0">');
    document.writeln('    <frameset rows="*, 50" framespacing="0"
frameborder="0" border="0">');
    document.writeln('        <frame
src="left.php?lang=en-iso-8859-1&amp;server=1&amp;hash=af46b888533de31a9f065cde5d54c3361087311226"
name="nav" frameborder="0" />');
    document.writeln('        <frame
src="queryframe.php?lang=en-iso-8859-1&amp;server=1&amp;hash=af46b888533de31a9f065cde5d54c3361087311226"
name="queryframe" frameborder="0" scrolling="no" />');
    document.writeln('    </frameset>');
    document.writeln('    <frame src="main.php?lang=en-iso-8859-1&amp;server=1"
name="phpmainaf46b888533de31a9f065cde5d54c3361087311226" border="0"
frameborder="0" />');
    document.writeln('    <noframes>');
    document.writeln('        <body bgcolor="#FFFFFF">');
    document.writeln('            <p>phpMyAdmin is more friendly with a
<b>frames-capable</b> browser.</p>');
    document.writeln('        </body>');
    document.writeln('    </noframes>');
    document.writeln('</frameset>');
//-->
</script>

<noscript>
<frameset cols="150,*" rows="*"  border="1" frameborder="1" framespacing="0">
    <frameset rows="*, 50" framespacing="0" frameborder="0" border="0">
        <frame
src="left.php?lang=en-iso-8859-1&amp;server=1&amp;hash=af46b888533de31a9f065cde5d54c336"
name="nav" frameborder="0" />

        <frame
src="queryframe.php?lang=en-iso-8859-1&amp;server=1&amp;hash=af46b888533de31a9f065cde5d54c336"
name="queryframe" frameborder="0" scrolling="no" />
    </frameset>
    <frame src="main.php?lang=en-iso-8859-1&amp;server=1"
name="phpmainaf46b888533de31a9f065cde5d54c336" frameborder="0" />

    <noframes>
        <body bgcolor="#FFFFFF">
            <p>phpMyAdmin is more friendly with a <b>frames-capable</b> browser.</p>

        </body>
    </noframes>
</frameset>
</noscript>

</html>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

This is the code for a left frame:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">

<head>
    <title>phpMyAdmin</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <base href="http://servidor.factorydea.com:8080/myadmin/"
target="phpmainaf46b888533de31a9f065cde5d54c3361087311226" />

    <script type="text/javascript" language="javascript">
    <!--
   
window.parent.frames['phpmainaf46b888533de31a9f065cde5d54c3361087311226'].location.replace('./db_details_structure.php?lang=en-iso-8859-1&server=1&db=archivero');
    //-->
    </script>


    <link rel="stylesheet" type="text/css"
href="./css/phpmyadmin.css.php?js_frame=left&amp;num_dbs=0" />
    
</head>

<body bgcolor="#D0DCE0">

    <!-- phpMyAdmin logo -->
    <a href="http://www.phpmyadmin.net" target="_blank"><img
src="./images/pma_logo.png" width="88" height="31" border="0" alt="phpMyAdmin"
/></a>
    

    <!-- Link to the welcome page -->
    <div id="el1Parent" class="parent" style="margin-bottom: 5px">
        <nobr><a class="item"
href="main.php?lang=en-iso-8859-1&amp;server=1"><span
class="heada"><b>Home</b></span></a></nobr>

    </div>


    <!-- Databases and tables list -->
        <script type="text/javascript" language="javascript">
            document.writeln('<form method="post" action="left.php" name="left"
target="nav">');
        </script>
        <noscript>
            <form method="post" action="index.php" name="left" target="_parent">
        </noscript>
        <input type="hidden" name="lang" value="en-iso-8859-1" />

<input type="hidden" name="server" value="1" />
        <input type="hidden" name="hash"
value="af46b888533de31a9f065cde5d54c3361087311226" />
        <select name="lightm_db" onchange="this.form.submit()">
            <option value="">(Databases) ...</option>

            <option value="alcazar">alcazar (5)</option>

            <option value="archivero" selected="selected">archivero (2)</option>

            <option value="deportes">deportes (3)</option>

            <option value="deportes_usuarios">deportes_usuarios (1)</option>

            <option value="estante">estante (15)</option>

            <option value="fyportal">fyportal (19)</option>

            <option value="fyportal_dev">fyportal_dev (19)</option>

            <option value="fyportal_pruebas">fyportal_pruebas (18)</option>
           
        </select>
        <noscript><input type="submit" name="Go" value="Go" /></noscript>
    </form>

    <hr noshade="noshade" />

    <a class="item" target="phpmainaf46b888533de31a9f065cde5d54c3361087311226"
href="db_details_structure.php?lang=en-iso-8859-1&amp;server=1&amp;db=archivero">
        <span class="heada"><b>archivero</b><bdo
dir="ltr">&nbsp;&nbsp;</bdo></span></a><br />

    <nobr><a target="phpmainaf46b888533de31a9f065cde5d54c3361087311226"
href="sql.php?lang=en-iso-8859-1&amp;server=1&amp;db=archivero&amp;table=tblArchivo&amp;sql_query=SELECT+%2A+FROM+%60tblArchivo%60&amp;pos=0&amp;goto=tbl_properties_structure.php">
              <img src="images/button_smallbrowse.png" width="10" height="10"
border="0" alt="Browse: (160397 Rows)" title="Browse: (160397 Rows)" /></a><bdo
dir="ltr">&nbsp;</bdo>
          <a class="tblItem" id="tbl_f0fa10b94a692cceae2cbd5dd9487d4e"
title="(160397 Rows)" target="phpmainaf46b888533de31a9f065cde5d54c3361087311226"
href="tbl_properties_structure.php?lang=en-iso-8859-1&amp;server=1&amp;db=archivero&amp;table=tblArchivo">tblArchivo</a></nobr><br
/>
    <nobr><a target="phpmainaf46b888533de31a9f065cde5d54c3361087311226"
href="sql.php?lang=en-iso-8859-1&amp;server=1&amp;db=archivero&amp;table=tblMedia&amp;sql_query=SELECT+%2A+FROM+%60tblMedia%60&amp;pos=0&amp;goto=tbl_properties_structure.php">
              <img src="images/button_smallbrowse.png" width="10" height="10"
border="0" alt="Browse: (201 Rows)" title="Browse: (201 Rows)" /></a><bdo
dir="ltr">&nbsp;</bdo>

          <a class="tblItem" id="tbl_f904b9e84ee6553e8e2c054d310944aa"
title="(201 Rows)" target="phpmainaf46b888533de31a9f065cde5d54c3361087311226"
href="tbl_properties_structure.php?lang=en-iso-8859-1&amp;server=1&amp;db=archivero&amp;table=tblMedia">tblMedia</a></nobr><br
/>

    <hr noshade="noshade" />


</body>
</html>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

I have tested some other sites that use frames (like www.doom9.org) that run fine.

This behaviour was not present on FFox 0.8, on Win2k and Linux Gentoo GTK2

I'll test on Linux Gentoo @ home as soon as I have the ebuild.


Reproducible: Always
Steps to Reproduce:
1. Load up PHPMyAdmin and select any database on the dropdown list on the left frame
2. When the table links appear on that frame, click on any of them
3. Nothing happens
4. Also, you can notice that selecting the DB on the dropdown menu does nothing
on the right frame (it should change to a page with info about the actual DB)

Actual Results:  
Click on a link inside the left frame, nothing happens on the right frame

Expected Results:  
The right frame should load info of the database as soon as you select something
on the database select dropdown list on the left frame. 

The right frame should load the contents of the links of the table listing on
the left frame.

- Firefox 0.9
- Windows 2000 PRO SP4
- PHPMyADmin 2.5.4
Could you try following the instructions in the Known Issues part of the Release
Notes (specifically the third bullet in the section) to see if the problem
disappears or not, thanks.

http://www.mozilla.org/products/firefox/releases/#issues
hmm you said this:

> ... set docshell.frameloadcheck.disabled to true ...

But my copy of FFox doesn't have that key on the about:config section, dunno how
to add one.

I am sure that we are speaking about the thing you pointed to. I have a linux
server on the office, that I access through its hostname. But myadmin is
configured with the full domain name from which it is accessible from outside
our network. If I use the same address, I can workaround the problem. I mean: I
loaded http://server and all links pointed to http://server.domain.com (which is
accessible from our network also). So that security check is doing things here.
To add a new pref in about:config, right-click then select New->Boolean then
enter the name (docshell.frameloadcheck.disabled) in the first box that appears
and the value (true) in the second.
Works beautifully. 
Although this feature could improve security, I still cannot see the advantage
of using it, being a feature that could cause problems - I suppose that it
should avoid a secure page loading an unsecure frame from other server or
protocol (http instead of https, I noticed also that if the port is not the
same, FFox come with that behaviour) without being noticed by the user, but the
behaviour could restrict to that case only. 
I should leave it on "off" by default (that is to say, the traditional
behaviour) and let experienced users mess with it. I've seen lots of sites with
frames that sometimes need to load on one of them a foreign page. This could be
confusing to new users (you know, *what a **** browser* and so), that only
could see that the link does not work on FFox, while it does on IE. I am a power
user (not a hacker) and web developer, and I figured that it had something to do
with the way phpmyadmin builds its links, but could not find a solution by myself...
Luis, did the patch in bug 246923 fix this, even with
docshell.frameloadcheck.disabled false?  If so, please mark this as a dup of bug
246923.
It does, I'll mark this as a dupe of 246923. 
Thanx a lot, Jesse :)

*** This bug has been marked as a duplicate of 246923 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.