Which browser are you using to test it?
I tried it with my Cpanel and using IE 8.0 I got the same error message. Checking on the web, it appears that IE no longer supports the passing of usernames and passwords within the URL
By default, versions of Windows Internet Explorer that were released starting with the release of security update 832894 do not support handling user names and passwords in HTTP and HTTP with Secure Sockets Layer (SSL) or HTTPS URLs. The following URL syntax is not supported in Internet Explorer or in Windows Explorer:
http(s)://username:password@server/resource.ext
I thne tried it on Chrome and it appears to work - having said that, it looks like you might need to pass a database name as a variable as calling the link with addb.html at the end resulted in a message that a database had been created with a blank name - it hadn;t so I guess the name is needed. I then tried passing ?dbname=test appended to the URL but still got the same message.
Using wizard1.html instead of addb.html was more successful in that it starts the add database wizard, but without knowing your potential clients, its impossible to know whether this could provide a solution?
Alternatively have you looked at simply issuing mysql commands through PHP once you have connected to the DB server? something along the lines of
Code: Select all
$createSQL = sprintf("CREATE DATABASE $database_conndb1");
$Result1 = mysql_query($createSQL, $conndb1) or die(mysql_error());
mysql_select_db($database_conndb1, $conndb1);
$insertSQL = sprintf("CREATE TABLE people (
id int UNIQUE NOT NULL,
first_name varchar(40),
surname varchar(50),
PRIMARY KEY(id))"
);
$Result1 = mysql_query($insertSQL, $conndb1) or die(mysql_error());
Having said all that, and moving to the question around allowing a user to directly create a database, this would worry me as this implies some form of access rights to create/amend databases and internal structures on scripts available to the public.
Could you instead create a number of empty databases, pre-populated with tables, indexes etc, and simply allocate new users to one of these via their signup routines - e.g. by including variables within their user profile for the data-empty database name you have allocated to them, along with their MySQL user name and password? This would ensure that all administration rights are kept internal, with user called scripts only ever needed restricted access rights?
You could automate the allocation of the databases by simply holding a database of all the precreated dbs, along with assigned user details, and then use your signup scripts to assign the next empty db in your control table to the user in question. At least this way the db is available as soon as teh user signs up, rather than you having to create it "on-demand"