Page 1 of 2
DBTS Admin Object/WB Login System **UPDATED June 19,2010***
Posted: Thu May 13, 2010 12:01 pm
by Navaldesign
June 21, 2010 Update:
Two more tools have been added.
The package now includes 4 separate extensions:
1. DBTS Admin Object Extension
This object is intended to replace the standard Admin Object. It has of course many similarities, as it is based on the same core code, but also many differences.
Main features added are:
1. Automatic creation of the database file or the database table.
2. Automatic creation of a file or a DB table for storage of the administrator
password and email address.
3. “Change Password” feature for the Admin password.
4. “Forgot Password” feature for the Admin password.
5. Error reporting system that allows you to view any error or any
confirmation messages created by the script.
6. Customization of the labels, buttons and linked texts.
7. Password check: it will check if the users password already exists in the
database. WB’s standard object only checked the username.
This extension has been already tested and used by many users, and it can manage the same fields that the standard WB6 login script creates and manages, only that it provides the above mentioned additional features.
2. DBTS Admin MySQL Object Extension
This is a new extension. It provides the same more or less features as the previous one, with the following differences:
1. It will only work with MySQL. The flat file database is not supported.
2. It allows you to add as many fields you like, and to control how they will be displayed in the Administration page.
3. DBTS Login Extension:
This tool allows you to take advantage of the previous one's ability to create additional fields in the database.
In fact, it allows you to check not only if a user is logged in, but also if the membership is still valid (expiry date) and it will redirect the user to any page of his own other than the default redirect page (please see manual)
4. DBTS page Protect Tool
This toll will also take advantage of the DBTS Admin MySQL Extension ability to create additional fields.
In fact, it will allow usergroup based access, thus allowing some users to reach certain pages, and some others to reach other pages. You can create practically unlimited usergroups, and assign to your page ANY possible combination of usergroups that are allowed to reach the page.
You can run a test and download the script from
http://www.dbtechnosystems.com/wb6/login/
Demo 1 and Demo 2 are relevant to the DBTS Admin Object Extension
Demo 3 is relevant to the DBTS Admin MySQL Object Extension
Please note that there is completely different approach in the database creation section, as many of the users issues with the WB Login script were due to this. So we have implemented the necessary routines that will automatically create the database file or MySQL database tables for you.
The script will also report any errors that it will encounter during this stage, so you can take proper actions.
As always, feedback is appreciated.
Posted: Thu May 13, 2010 12:47 pm
by me.prosenjeet
A big
THANKYOU!!!
Thanks for taking the initiative. I will try this and let you know.
However, one thing:
7. Password check: it will check if the users password already exists in the
database. WB’s standard object only checked the username.
What is the benefit of this?
Two different usernames can have the same password. It is more important for the script to check if the username exists in the database, there is no harm if two usernames have the same password, so whats the point?
Posted: Thu May 13, 2010 1:02 pm
by Navaldesign
I have built more than 200 custom login scripts, and believe me, there is a difference.
You shoud look not only at the script itself, but also (in the case of a MySQL database) other scripts that will "cooperate" with your specific table, and might require different passwords.
Posted: Thu May 13, 2010 3:59 pm
by me.prosenjeet
Ok, thanks for your reply.
I wish Pablo atleast adds this in the official Membership system and removes the current Admin system in it so things become simple for the users.
I hope Version 7 utilises this wonderfull addon by Naval which was not comming in the next version had Naval not taken the initiative. Thinking out of the box, that was required and was done by Naval...kudos to you!
Thanks Naval for coming to our (my) rescue
Posted: Thu May 13, 2010 4:29 pm
by Navaldesign
Adding this to the built in features, will mean that there will be little space for further improvements. Since all objects can be further improved with extra features, leaving it as extension would mean allowing to easily implement these improvements at any time without need for a new WB7 release.
Scheduled additions:
Expiry date field (for those that have paid for subscriptions)
Usergroup field (in conjunction with a new Page Protect object)
Custom fields
User specific page redirect (in conjunction with a new Login object)
Most probably when I build the above I will only limit this to the MySQL version, as, nowdays, there is virtually no webhosting provider that doesn't allow MySQL databases.
Posted: Fri May 14, 2010 12:18 am
by star57
George, You rock! I only wish I had employees like you!.
Posted: Fri May 14, 2010 10:29 am
by BaconFries
Yabba Yabba thank you George....
Posted: Mon May 31, 2010 7:58 am
by neo_webbuilder
Thank You Naval !!! Men you are good !!!
Posted: Sat Jun 19, 2010 2:25 pm
by Navaldesign
The new version of the extension is released.
It allows you to add as many fields as you like in the standard WB6 Login Script database.
It works ONLY with MySQL.
Please read initial post of this same thread, where you can find more details and Demo links.
Posted: Mon Jun 21, 2010 9:52 pm
by Navaldesign
21/06/2010 UPDATE:
Added two more tools: DBTS Login and DBTS Protect page.
The first allows membership Expiry Date check (optional) and User Specific Redirect Page after login.
The second allows Different Levels of access based in Usergroups.
Supports unlimited usergroups.
Each member may belong to one or more usergroups.
Each page can be accessed by one or more usergroups.
There has also been an update of the DBTS Admin MySQL core code: if the Admin by mistake added a column that already existed, the script crashed. Fixed.
Also fixed an issue with Datatypes.
Please update.
Posted: Tue Aug 10, 2010 6:22 am
by Navaldesign
It works just fine in WB 7
DBTS Protect Page ****24/09/2010 Update****
Posted: Fri Sep 24, 2010 9:12 pm
by Navaldesign
24/09/2010 Update
Due to a bug in the usergroup permissions, the extension has been updated.
Only the dbts_protect_page extension was affected.
Please download again.
Uninstall the "DBTS Protect Page" extension
Install the new one.
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Wed Sep 29, 2010 6:51 am
by Navaldesign
Password turned back to "admin" for all cases. I suggest that you use Demo 3, that is, the pure MySQL version of the extension.
The extension does allow to add users through the Admin area, plase look at the demos, under the users list. (bottom)
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 9:01 pm
by Patrik iden
Hi, i get this msg: Failed adding new user in the database. when trying to creat a new user?
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 9:07 pm
by Navaldesign
Which extension are you using ? With flat file database or MySQL ?
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 9:11 pm
by Patrik iden
DBTS Admin MySql.
I'm using MySql.
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 9:19 pm
by Navaldesign
Then, most probably, the user you have created has no permissions to read / write in the database.
Check it, allow your Database user ALL permissions to the specific database, and test again.
Was the table automatically created ? or did you create it manually ?
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 9:31 pm
by Patrik iden
The table was created automaticly whit your extention.
How do i grant ALL permission to the databas?
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 9:44 pm
by Navaldesign
If th etable was created automatically, you probably have the correct permissions.
To check it, and see what permissions the user actually has, you need to go in your hosting account CPanel, Databases section, and ADD again the user to the database, the wizard should dislay the uer's permissions and there you can select "ALL".
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Sun Oct 31, 2010 10:08 pm
by Patrik iden
OK, i'l try that.
In youe extention, what is this?
latin1_german1_ci
latin1
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Tue Nov 09, 2010 11:33 am
by Navaldesign
Yes, it is possible.
Please read this tutorial:
http://www.wysiwygwebbuilder.com/customize_signup.html
In time, a DBTS Signup object will be available to make this task easier.
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Tue Nov 09, 2010 9:43 pm
by Navaldesign
Yes, the code is similar to that for editboxes-
MySQL Details: depends on your hosting account. Click on the Signup object properties
Usually:
Server = 'localhost'; (usually
Username = 'dbuser';
Password = 'dbpassword';
Database = 'dbname';
Table = 'users';
dbuser, dbpassword, dbname are the details of the MySQL database that you MUST create in your cpanel before this can work.
If you have converted the form, then the code is in the HTML box beside the form.
You will see the following code:
$mysql_server = 'localhost';
$mysql_username = 'dbuser';
$mysql_password = 'dbpassword';
$mysql_database = 'dbname';
$mysql_table = 'users';
Change the settings accordingto your real database details.
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Wed Nov 10, 2010 7:12 am
by Navaldesign
Code: Select all
<?php
$error_message = "";
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$action = isset($_POST['action']) ? $_POST['action'] : '';
$mysql_server = 'localhost';
$mysql_username = 'removed';
$mysql_password = 'removed';
$mysql_database = 'removed';
$mysql_table = 'removed';
$success_page = './account_pending.php';
if ($action == 'signup')
{
$newusername = $_POST['username'];
$newemail = $_POST['email'];
$newpassword = $_POST['password'];
$confirmpassword = $_POST['confirmpassword'];
$newfullname = $_POST['fullname'];
$citytown = $_POST['citytown'];
$gender = $_POST['gender'];
$age_group = $_POST['age_group'];
$colour_bow = $_POST['colour_bow'];
if ($newpassword != $confirmpassword)
{
$error_message = 'Password and Confirm Password are not the same!';
}
else
if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $newusername))
{
$error_message = 'Username is not valid, please check and try again!';
}
else
if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $newpassword))
{
$error_message = 'Password is not valid, please check and try again!';
}
else
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $newfullname))
{
$error_message = 'Fullname is not valid, please check and try again!';
}
else
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $citytown))
{
$error_message = 'The entered City or Town name is not valid, please check and try again!';
}
else
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $gender))
{
$error_message = 'The selection is not valid, please check and try again!';
}
else
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $age_group))
{
$error_message = 'The selection is not valid, please check and try again!';
}
else
if (!ereg("^[A-Za-z0-9_!@$.' &]{1,50}$", $colour_bow))
{
$error_message = 'The selection is not valid, please check and try again!';
}
if (!ereg("^.+@.+\..+$", $newemail))
{
$error_message = 'Email is not a valid email address. Please check and try again.';
}
if (empty($error_message))
{
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
mysql_select_db($mysql_database, $db);
$sql = "SELECT username FROM ".$mysql_table." WHERE username = '".$newusername."'";
$result = mysql_query($sql, $db);
if ($data = mysql_fetch_array($result))
{
$error_message = 'Username already used. Please select another username.';
}
}
if (empty($error_message))
{
$crypt_pass = md5($newpassword);
$sql = "INSERT `".$mysql_table."` (`username`, `password`, `fullname`, `email`, `active`, `citytown`, `gender`, `age_group`, `colour_bow`) VALUES ('$newusername', '$crypt_pass', '$newfullname', '$newemail', 1, '$citytown', '$gender', '$age_group', '$colour_bow')";
$result = mysql_query($sql, $db);
mysql_close($db);
$mailto = $newemail;
$subject = 'New Account';
$message = 'Account pending';
$message .= "\r\nUsername: ";
$message .= $newusername;
$message .= "\r\nPassword: ";
$message .= $newpassword;
$message .= "\r\n";
$header = "From: removed for this example"."\r\n";
$header .= "Reply-To: removed for this example"."\r\n";
$header .= "MIME-Version: 1.0"."\r\n";
$header .= "Content-Type: text/plain; charset=utf-8"."\r\n";
$header .= "Content-Transfer-Encoding: 8bit"."\r\n";
$header .= "X-Mailer: PHP v".phpversion();
mail($mailto, $subject, $message, $header);
mail('youremail@yourdomain.com', $subject, $message, $header);
header('Location: '.$success_page);
exit;
}
}
}
?>
I have replaced "s e x" with "gender" and lower cased all fields, you need to change accordingly your form.
Please note that this is not standard support, debugging user issues of this type requires too much time.
Re: DBTS Admin Object/WB Login System ***UPDATED June 19,201
Posted: Wed Nov 10, 2010 1:19 pm
by Navaldesign
Please note that the DBTS MySQL Admin object creates the database table by itself (you don't need to create it) and BY DESIGN it ads three standard fields apart the ones you might want to add yourself: creation_date, expiry_date, redirect.
So these columns already exist in the database table.
Now, regarding your question:
Add the following hidden fields / values in the form:
Field: creation_date
value: <?php echo date('Y-m-d');?>
Field: expiry date
value (all in one line or WB will truncate it):
<?php $time_period = "1 year"; $expiry = strtotime(date('Y-m-d')); $new_expiry = strtotime($time_period, $expiry); $expiry_date = date('Y-m-d', $new_expiry );echo $expiry_date;?>
You can replace "1 year" with any valid time period expression, like:
2 months
120 days
2 years
etc.
This will set the expiry to whatever period you set.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Thu Nov 11, 2010 5:52 am
by Navaldesign
You are right about the "creation_date"
The password becoming blank, instead, is not normal behavior.
In any case, displaying the password is meaningless, as it is encrypted, so what you would see has no sense and can't be used.
I will investigate this and apply necessary corrections to the code if necessary.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Thu Nov 11, 2010 6:20 am
by Navaldesign
I have checked the code and it should update the password details IF and ONLY IF the Admin submits a whatever value, if it remains empty it will not update the password.
This, on theoretical level.
I will check it in practical level (test the script) as soon as possible.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Nov 12, 2010 9:49 pm
by Navaldesign
I did find a bug in the code and I edited it as required.
You can download the zip and replace the DBTS Admin MySQL extension with the new one.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 21, 2010 7:27 am
by Navaldesign
brassnugget wrote:There doesn't appear to be a 'recover forgotten password' (user not admin) extension for this new login system - would that be correct?
Is there a solution I can use to enable members to have their forgotten password emailed to them or reset and emailed at their request using the MySQL version of this login system?
Cheers.
You simply use the standard "Recover Password" tool of WB. Of course you need to set it up with the specific MySQL database details
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 21, 2010 7:31 am
by Navaldesign
brassnugget wrote:Trying to test user login using standard form and the MySQL login extension but getting this page error: .....................................
Had it working perfectly previously, don't remember making any changes to login (DBTS extension is moved to back). The MySQL admin area works fine as does the signup page, just can't login with user details.
This message can ONLY mean that somehow, the Login tool has lost the MySQL details. In fact the error message has no username.
Check the MySQL DB details in the Login tool properties, NySQL section. Save, Publish and check again.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 21, 2010 10:33 am
by Navaldesign
There is no SignupObject among the DBTS login tools extensions. I suppose that you are using the standard WB Signup form ?
Or did you customize the form yourself ?
Is the error message displayed in a Javascript alert popup or in the page itself ?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Mon Nov 22, 2010 12:36 pm
by Navaldesign
As you understand, this has nothing to do with the extension. It has to do with how you have modified the code to customize it according to your enriched signup form.
To be able to give you any guidance I would need to see the code of the page (not in the browser, but in WB -> View -> Page HTML
In all cases this is about the extension but about your own amendments.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Wed Jun 22, 2011 1:57 pm
by Navaldesign
Not yet, I'm afraid.
However, I will be releasing the DBTS Form Processor v 3 as soon as tests are completed, which will have the possibility to do this, and therefore can be used to read, display and allow to edit fields from the database, ncluded the Login system tables.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Jun 24, 2011 11:41 am
by Navaldesign
The standard WB login system does have this integrated : Login Name tool. This is why I never added it in my own Login extension
I believe that there is also a user extension for this:
viewtopic.php?t=18538
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Mon Sep 19, 2011 11:49 am
by Patrik iden
Hi, i'm using DBTS Admin Mysql. When i try to change a user ex, to activate a user i just get (User details update failed)
How come?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Mon Sep 19, 2011 1:22 pm
by Navaldesign
Do the other features of the Admin area work ?
In example, Create user ?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Mon Sep 19, 2011 2:08 pm
by Patrik iden
No, only to delete user seem to work.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Mon Sep 19, 2011 6:24 pm
by Navaldesign
I'm sorry but I don't see any reason why it shouldn't work for certain features whilst it works for others. I would need access to your account to check what might be wrong.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Mon Sep 19, 2011 9:22 pm
by Patrik iden
it's strange.The original WB Admin login works.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Nov 16, 2012 8:35 am
by adex1
Using DBTS Login Extension: I did not see a redirect field name on the extension.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Nov 16, 2012 12:05 pm
by Navaldesign
When you go in the Admin area, (only the DBTS Admin MySQl version) you will see that there is a field named "User Redirect URL".
http://www.dbtechnosystems.com/wb6/logi ... image1.gif
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Nov 16, 2012 7:40 pm
by adex1
Reading the document l am not sure which one should come first between DBTS login and DBTS Admin MYSQL. Should l use Admin to create the user details and assign their folder levels or user get sign up and later l will assign them their level to have access to?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Nov 16, 2012 9:21 pm
by Navaldesign
Users signup using the standard WWB Signup tool.
After a user has signed up, you can assign usergroup and USer Redirect page. Of course, you will need to use the DBTS Login instead of the standard WWB login.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 18, 2012 12:55 pm
by adex1
Navaldesign wrote:Users signup using the standard WWB Signup tool.
After a user has signed up, you can assign usergroup and USer Redirect page. Of course, you will need to use the DBTS Login instead of the standard WWB login.
Hi George,
Is it this you mean I should use?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 18, 2012 1:51 pm
by Navaldesign
Yes. The standard WWB can't redirect each user to his own page.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 18, 2012 2:36 pm
by adex1
Navaldesign wrote:Yes. The standard WWB can't redirect each user to his own page.
Alright thanks. It is seem like the extension fornt end can not be preview on the localhost, except when it is publish am I right?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Nov 18, 2012 2:41 pm
by Navaldesign
Correct. It is PHP code so it must be published.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Fri Oct 04, 2013 5:36 pm
by Rob
Naval design,
I am working on a client project. They would like to have only certain pages password protected, depending on the user.
This is what I need - a login form and user redirect to a protected page depending on the user name entered in the login form. I don't need (I am struggeling with) a MySQL database, so I was hoping a simple txt database would work. I am struggeling with the simple WB9 login form to get it to connect to the txt database created within / edited within WB9.
I don't want a sign up form, I don't want an admin panel to edit users online. All I need is a contact page and a login page with a user redirect. A potential user will need to contact me to sign up for an account (after it's been paid for). Then I can add & edit users in the txt database from within WB9 and reupload each change to the server. Then send them their account info. Depending on the user name used, they will be redirected to their respective page.
It was my understanding this was possible via WB9 tools but still not working. So close yet so far.... Do you have any simple to use extensions to make this work?
If you like, feel free to contact me directly via my website. Thank you for your time.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sat Oct 05, 2013 4:58 am
by Navaldesign
You can't have a script without EITHER a signup form or an Admin backend to allow you to edit users. Otherwise, creating and managing the users file would be rather complicated (you would need to create and modify it in Notepad, each time there is an amendement, and then load it on the server with FTP)
You can't edit this file from within WWB. You wrote "It was my understanding this was possible via WB9 tools but still not working." but this is not correct. WWB allows you to create the file on the server, but that is an empty file. You need the Admin part to add / edit / delete users.
However, please note that using my own extensions (the MySQL version) is quite simple, you don't need to do anything else than create the database on the server (using your control panel automated procedures), write down the database credentials, and use them in my Login and my MySQL Admin object.
However, if you still want to go the way you described, you simply need to:
Use the DBTS Login extension (which supports user redirect to a specific page after login)
Create the trext file (with the correct structure and columns, in the correct order) and upload it on the server.
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sat Oct 05, 2013 7:13 pm
by maxime
However, if you still want to go the way you described, you simply need to:
Use the DBTS Login extension (which supports user redirect to a specific page after login)
Create the trext file (with the correct structure and columns, in the correct order) and upload it on the server.
very intersting, but i do not undesrstand
i tough the dbts login was working only with msql.
do we have to create a login form wit the wwb login object or we can create our own form.
and what is the correct structure and columns? an exemple ?
Re: DBTS Admin Object/WB Login System **UPDATED June 19,2010
Posted: Sun Oct 06, 2013 5:45 am
by Navaldesign
@ maxime: if you read the thread related to the DBTS login tools, you will see that there are two versions (for some tools), one that works with a flat file, just as the WWB built in tools, and one that works with MySQL.
Login form: ( from the manual, please read it)
DBTS MySQL Login Extension:
This tool is NOT independent. In fact it should be used TOGETHER with WWB’s
Login tool, or with a standard WB form that allows the user to login. It adds Expiry
Date check and User Specific Redirect. It ONLY works with the DBTS MySQL
Admin Extension. Please see details in the related paragraph.
Correct columns and structure: again, depends on if you are using the standard fields or if you have added additional fields. Also you must have the columns in the correct order and use the correct separator.
To see what the correct order and structure is, you should download from the server and analyze the file created by the WWB Login tools.