You cannot create the administrator account

3.9.16. You cannot create the administrator account

Figure 3-34. Administration panel: Edit Admins.

Administration panel: Edit Admins.



Everything looks fine with your newly created PHP-Nuke site, then you are told by the system that there is no administrator yet and you should create one:

There are no Administrators Accounts yet, proceeed to create the Super User:

You do what you are told and create that Super User, but the next time you get the same message. It seems that you cannot create the administrator account!

The message that asks you to create the Super User is the _NOADMINYET message whose translation you can find in the various language files (see Section 13.1) in the admin/language folder. For example, in admin/language/lang-english.php, we read:

define("_NOADMINYET","There are no Administrators Accounts yet, proceeed to create the Super User:");

The _NOADMINYET message is output in admin.php:

$the_first = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_authors"));
if ($the_first == 0) {
    if (!$name) {
    include("header.php");
    title("$sitename: "._ADMINISTRATION."");
    OpenTable();
    echo "<center><b>"._NOADMINYET."</b></center><br><br>"

From the code we see that it is echoed only if $the_first is 0, meaning no entries in the $prefix_authors table. Thus, for some reason, the nuke_authors table (assuming your $prefix is "nuke" in config.php), is not filled. You can do the following (see I cant make my Admin acount work):

You should check the entries in nuke_authors. You can do this either from the MySQL prompt with

select aid, name, email, pwd from nuke_authors;

or with the "browse" function of phpMyAdmin (Section 3.4).

If your Super Admin is there, then it is weird...

If the Super Admin is not there, then you can't write to the database. To check this possibility, find the function create_first() in admin.php. There, you will see two lines with a call to sql_query. They are both identical:

$db->sql_query($sql);

Insert the line:

echo mysql_error();

after each one. This will echo a more descriptive error message (see Section 3.9.23) and may lead you to the solution. But, as experience shows (see I cant make my Admin acount work), you most probably have set the wrong values in your config.php (Section 3.7).This is a known issue and a solution is presented in Section 3.10.1.

 

Site Info v2.2.2

Last SeenLast Seen
Server TrafficServer Traffic
  • Total: 339,009,307
  • Today: 37,269
Server InfoServer Info
  • Oct 19, 2017
  • 01:20 pm PDT
 
 

Daily Inspiration