#3674 Missing parameter: goto

Ann + J.M.

Apache 2.2.21
PHP 5.3.15
IE: 9.0.8112.16421
FF: 14.0.1
"Server": Windows 7, desktop PC

The software is running on a local desktop PC with intranet. This workstation is used for testing purposes. PHPMyAdmin is accessed via http://localhost/ or its computers local IP address. Via a secundairy PC, PHPMyAdmin can be accessed too.

tbl_replace.php: Missing parameter: goto (Link: http://localhost/SQL%20phpMyAdmin/Documentation.html#faqmissingparameters\)

I startup any browser, IE or FF, on my workstation PC. Go to the address of PHPMyAdmin and select a already excisting database. In any database I select a random table, and try to insert a new row. No matter if i fill in information for the new row, the above error will appear.
Though!!! If i repeat the same above steps with from a secundairy PC, PHPMyAdmin functions normally and gives me the expected error that the sql Query is incorrect.

The check that causes the error "tbl_replace.php: Missing parameter: goto", is initiated on line 32 of tbl_replace.php:
"PMA_checkParameters(array('db', 'table', 'goto'));"

function PMA_checkParameters (line 2055 of common.lib.php), checks wherever $GLOBALS['goto'] exists.
The fact that false is returned (that is, $GLOBALS['goto'] is not set), means that $_POST['goto'] is not submitted to tbl_replace.php

The HTML source generated by "navigation.php?...." does however create a hidden field for goto:
<input type="hidden" name="goto" id="LeftDefaultTabTable" value="tbl_structure.php" />

Thus, or this is not submitted once pressed the submit button, or something is broke.

Printing the content of $_POST ABOVE line 28 of tbl_replace.php, tells me that $_POST['goto'] is submitted correctly. Thus, something is broke.
Printing the content of $_POST directly BELOW line 28, shows only a few values:
[db] => jeabsyweb_main
[table] => jb_mods
[lang] => en
which indicates that "./libraries/common.inc.php" has done something with the values of $_POST, and yes... after tracking down some code it seems $_REQUEST (a merge from $_POST and $_GET) handles over the goto value to $GLOBALS['goto'], so far, it works as expected.

However on line 516 of common.inc.php, $GLOBALS['goto'] had disappeared!
common.inc.php:516 = PMA_remove_request_vars($allow_list);

Since goto is not in the $allow_list, its being unset on line 25 of cleanup.lib.php

So, why does the script cleanup? well... the tokens are off :|
on line 489 of common.inc.php i added:

echo PMA_isValid($_REQUEST['token']) . '<br />';
echo $_SESSION['PMA_token'] . '<br />';
echo $_REQUEST['token'];

giving the result:

Since the problem lays in the tokens, I have removed all PHP session files. thought without success.
In order to solve my problem for now, i have disabled PMA_remove_request_vars by returning directly...

So, the actual bug is that the tokens are not corresponding on the workstation, while they are on the secundairy computer.

# http://localhost/SQL%20phpMyAdmin/Documentation.html#faqmissingparameters
#1: config.inc.php does not contain $cfg['PmaAbsoluteUri'], so it is empty.
#2: Maybe you have a broken PHP installation or you need to upgrade your Zend Optimizer. Regarding the PHP bug, I do not have thisone on my workstation, nor is PHP acting weird in other scripts on the workstation.
#3 I do not use "Hardened PHP"
#4: php.ini "arg_separator.input" is currently set to ";&", thought "&" and "&;" do not solve the problem.
#5: I do not use "Hardened PHP"
#6: php.ini "session.save_path" is set, and to an existing directory. It also contains files which tells me it works correctly.

If i can provide extra information, I love to hear it.



  • Ann + J.M.
    Ann + J.M.

    Hello Jeffrey,
    First of all, thank you for your research and your detailed bug report.

    We are now doing research about the bug you describe.
    In the meantime, would you mind providing us with your config.inc.php (feel free to remove your user name/password and blowfish_secret from it)?

    Best thanks!

  • Ann + J.M.
    Ann + J.M.

    • assigned_to: nobody --> mynetx
  • Jeffrey

    Hello Mynetx,

    Hereby the full content of config.inc.php
    Note that it states the config was generated by "phpMyAdmin setup script", however, the current running version is
    Since gave me the above problems, I installed 3.4.11 which gave the exact same problem. The config i kept, but the rest of the files are all
    Second note, my blowfish actually is empty! First it was automatically filled in by the config generator, which resulted in the same problem, and now, while its empty the problem still exists.


    * Generated configuration file
    * Generated by: phpMyAdmin setup script
    * Date: Wed, 05 Sep 2012 14:26:41 +0200

    /* Servers configuration */
    $i = 0;

    /* Server: localhost [1] */
    $cfg['Servers'][$i]['verbose'] = '';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['port'] = 3306;
    $cfg['Servers'][$i]['socket'] = '';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['extension'] = 'mysqli';
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = '**********';
    $cfg['Servers'][$i]['password'] = '**********';

    /* End of servers configuration */

    $cfg['blowfish_secret'] = '';
    $cfg['DefaultLang'] = 'en';
    $cfg['ServerDefault'] = 1;
    $cfg['UploadDir'] = '';
    $cfg['SaveDir'] = '';

  • Marc Delisle
    Marc Delisle

    JM (mynetx),
    any progress on this?

  • Marc Delisle
    Marc Delisle

    the current version is phpMyAdmin 4.0.9. How is this version working for you?

  • Marc Delisle
    Marc Delisle

    • status: open --> pending
  • Marc Delisle
    Marc Delisle

    • status: pending --> out-of-date