Home arrow PHP arrow Page 5 - User Authentication With patUser (part 2)

All For One, And One For All - PHP

In this second part, find out how you can use the patUser API toview, add, edit and delete users (and user attributes) from your userdatabase.

TABLE OF CONTENTS:
  1. User Authentication With patUser (part 2)
  2. Meeting The Family
  3. Asking For More
  4. Drilling Deeper
  5. All For One, And One For All
  6. Accounting For Change
  7. California Calling
  8. Making New Friends
  9. A Fast Edit
  10. Here Today, Gone Tomorrow
  11. Connecting The Dots
  12. A Well-Formed Plan
  13. Slice And Dice
By: icarus, (c) Melonfire
Rating: starstarstarstarstar / 7
May 01, 2003

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement
patUser also allows you to organize users into named collections or groups. You might remember, from the discussion of the patUser database schema in the previous segment of this article, that there are two tables designed specifically for this task, the "groups" table (which maintains a list of available groups) and the "usergroups" table (which maintains a list of which users belong to which group).

Here's the schema for the "groups" tables:


# # Table structure for table 'groups' # CREATE TABLE groups ( gid int(11) NOT NULL auto_increment, name varchar(50), UNIQUE gid (gid) );
Let's now add a couple of groups to the system,

INSERT INTO groups (gid, name) VALUES (1, 'Accounts'); INSERT INTO groups (gid, name) VALUES (2, 'Administration'); INSERT INTOgroups (gid, name) VALUES (3, 'Operations');
and verify that they have been added correctly via an SQL query:

mysql> SELECT * FROM groups; +-----+----------------+| gid | name |+-----+----------------+| 1 | Accounts || 2 | Administration || 3 | Operations |+-----+----------------+3 rows in set (0.04 sec)
Obviously, we can perform the same task using patUser's getGroups() function, which works in much the same way as the getUsers() function discussed on the previous page. The following code listing demonstrates:

<?php // include classes include("../include/patDbc.php"); include("../include/patUser.php"); // initialize database layer $db = new patMySqlDbc("localhost", "db211", "us111", "secret"); // initialize patUser $u = new patUser(true); // connect patUser to database $u->setAuthDbc($db); // set tables $u->setAuthTable("users"); $u->setGroupTable("groups"); // get group list $list = $u->getGroups(array("gid", "name")); // uncomment this to see data structure // print_r($list); // print as list echo "<h2>Groups</h2>"; echo "<ul>"; foreach ($list as $l) { echo "<li>" . $l['name'] . " (" . $l['gid'] . ")"; } echo "</ul>"; ?>
Here's the output:



Note the introduction of a new method in the script above, setGroupTable(). This method, together with the setGroupFields()method, allows you to configure patUser to use a different set of tables than its default by remapping the default table and column references to custom values.

 
 
>>> More PHP Articles          >>> More By icarus, (c) Melonfire
 

blog comments powered by Disqus
   

PHP ARTICLES

- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...
- PHP: Building Concrete Validators
- Sanitizing Input with PHP
- Executing Shell Commands with PHP
- Handling File Data with PHP
- File Security and Resources with PHP
- ArrayObject PHP Class Examples
- ArrayObject PHP Class: An Introduction
- Getting File System Data with PHP
- PHP Tools for Working with the File and Oper...
- Working with the File and Operating System w...
- PHP Proxy Patterns: Completing a Blog


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 10 - Follow our Sitemap

Dev Shed Tutorial Topics: