2014-11-21 26 views
1

我如何设置它,一个管理员必须批准用户注册后批准的用户...设定以使管理员可以在注册

许多管理员可以批准许多用户。因此,如果用户注册,则必须先获得批准才能访问页面。这最好如何完成?

-- phpMyAdmin SQL Dump 
-- version 4.1.14 
-- http://www.phpmyadmin.net 
-- 
-- Host: 127.0.0.1 
-- Generation Time: Nov 21, 2014 at 04:39 AM 
-- Server version: 5.6.17 
-- PHP Version: 5.5.12 

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 
SET time_zone = "+00:00"; 


/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 

-- 
-- Database: `membersappdb` 
-- 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `admin` 
-- 

CREATE TABLE IF NOT EXISTS `admin` (
    `adminID` int(11) NOT NULL AUTO_INCREMENT, 
    `userID` int(11) NOT NULL, 
    PRIMARY KEY (`adminID`), 
    KEY `userID` (`userID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 

-- 
-- Dumping data for table `admin` 
-- 

INSERT INTO `admin` (`adminID`, `userID`) VALUES 
(1, 1); 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `groups` 
-- 

CREATE TABLE IF NOT EXISTS `groups` (
    `grpID` int(11) NOT NULL AUTO_INCREMENT, 
    `grptype` varchar(500) DEFAULT NULL, 
    `createdAdminID` int(11) DEFAULT NULL, 
    `createdMemID` int(11) DEFAULT NULL, 
    `approvedAdminID` int(11) DEFAULT NULL, 
    PRIMARY KEY (`grpID`), 
    KEY `createdAdminID` (`createdAdminID`), 
    KEY `createdMemID` (`createdMemID`), 
    KEY `approvedAdminID` (`approvedAdminID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 

-- 
-- Dumping data for table `groups` 
-- 

INSERT INTO `groups` (`grpID`, `grptype`, `createdAdminID`, `createdMemID`, `approvedAdminID`) VALUES 
(1, 'TechnoMusic', 1, NULL, NULL); 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `member` 
-- 

CREATE TABLE IF NOT EXISTS `member` (
    `memID` int(11) NOT NULL AUTO_INCREMENT, 
    `userID` int(11) NOT NULL, 
    `signupDate` datetime DEFAULT NULL, 
    `lastlogin` datetime DEFAULT NULL, 
    `location` varchar(1000) DEFAULT NULL, 
    `age` int(11) DEFAULT NULL, 
    `bio` varchar(1000) DEFAULT NULL, 
    PRIMARY KEY (`memID`), 
    KEY `userID` (`userID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `memberjoinedgroup` 
-- 

CREATE TABLE IF NOT EXISTS `memberjoinedgroup` (
    `memID` int(11) NOT NULL, 
    `grpID` int(11) NOT NULL, 
    `joinedDate` datetime DEFAULT NULL, 
    PRIMARY KEY (`memID`,`grpID`), 
    KEY `grpID` (`grpID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `profile` 
-- 

CREATE TABLE IF NOT EXISTS `profile` (
    `profileID` int(11) NOT NULL AUTO_INCREMENT, 
    `imagepath` varchar(1000) DEFAULT NULL, 
    `memID` int(11) NOT NULL, 
    PRIMARY KEY (`profileID`), 
    KEY `memID` (`memID`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `user` 
-- 

CREATE TABLE IF NOT EXISTS `user` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `fname` varchar(200) DEFAULT NULL, 
    `lname` varchar(200) DEFAULT NULL, 
    `username` varchar(200) DEFAULT NULL, 
    `password` varchar(200) DEFAULT NULL, 
    `usertype` varchar(20) DEFAULT 'm', 
    `email` varchar(200) NOT NULL, 
    PRIMARY KEY (`ID`), 
    UNIQUE KEY `email` (`email`), 
    UNIQUE KEY `username` (`username`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; 

-- 
-- Dumping data for table `user` 
-- 

INSERT INTO `user` (`ID`, `fname`, `lname`, `username`, `password`, `usertype`, `email`) VALUES 
(1, 'james', 'halpin', 'jamesh', '1234', 'a', '[email protected]halpin.com'), 
(2, 'Sarah', 'Faulkner', 'Sarah', 'PASS1234', 'm', '[email protected]'), 
(3, 'Barney', 'Mitchell', 'BM', '987654', 'm', '[email protected]'), 
(7, '', '', '', '', 'm', ''); 

-- 
-- Constraints for dumped tables 
-- 

-- 
-- Constraints for table `admin` 
-- 
ALTER TABLE `admin` 
    ADD CONSTRAINT `admin_ibfk_1` FOREIGN KEY (`userID`) REFERENCES `user` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE; 

-- 
-- Constraints for table `groups` 
-- 
ALTER TABLE `groups` 
    ADD CONSTRAINT `groups_ibfk_1` FOREIGN KEY (`createdAdminID`) REFERENCES `admin` (`adminID`) ON DELETE CASCADE ON UPDATE CASCADE, 
    ADD CONSTRAINT `groups_ibfk_2` FOREIGN KEY (`createdMemID`) REFERENCES `member` (`memID`) ON DELETE CASCADE ON UPDATE CASCADE, 
    ADD CONSTRAINT `groups_ibfk_3` FOREIGN KEY (`approvedAdminID`) REFERENCES `admin` (`adminID`) ON DELETE CASCADE ON UPDATE CASCADE; 

-- 
-- Constraints for table `member` 
-- 
ALTER TABLE `member` 
    ADD CONSTRAINT `member_ibfk_1` FOREIGN KEY (`userID`) REFERENCES `user` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE; 

-- 
-- Constraints for table `memberjoinedgroup` 
-- 
ALTER TABLE `memberjoinedgroup` 
    ADD CONSTRAINT `memberjoinedgroup_ibfk_1` FOREIGN KEY (`memID`) REFERENCES `member` (`memID`) ON DELETE CASCADE ON UPDATE CASCADE, 
    ADD CONSTRAINT `memberjoinedgroup_ibfk_2` FOREIGN KEY (`grpID`) REFERENCES `groups` (`grpID`) ON DELETE CASCADE ON UPDATE CASCADE; 

-- 
-- Constraints for table `profile` 
-- 
ALTER TABLE `profile` 
    ADD CONSTRAINT `profile_ibfk_1` FOREIGN KEY (`memID`) REFERENCES `member` (`memID`) ON DELETE CASCADE ON UPDATE CASCADE; 

/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; 
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; 
/*!40101 SET [email protected]_COLLATION_CONNECTION */; 

回答

1

你应该多一个列添加到user表,让我们说状态 你的表格看起来就像这样:

CREATE TABLE IF NOT EXISTS `user` (
`ID` int(11) NOT NULL AUTO_INCREMENT, 
`fname` varchar(200) DEFAULT NULL, 
`lname` varchar(200) DEFAULT NULL, 
`username` varchar(200) DEFAULT NULL, 
`password` varchar(200) DEFAULT NULL, 
`usertype` varchar(20) DEFAULT 'm', 
`status` tinyint unsigned NOT NULL DEFAULT '0', 
`email` varchar(200) NOT NULL, 
PRIMARY KEY (`ID`), 
UNIQUE KEY `email` (`email`), 
UNIQUE KEY `username` (`username`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; 

当用户注册到你的网站,他的默认状态会,那么当你批准它时,状态将变为1

+0

嘿,谢谢,另外如果你正在创建一个php脚本..你需要设置状态为1数据库。 – 2014-11-21 10:46:07

+0

不,您的脚本应该只在**用户**表中更改“状态”。其他表格包含用户数据,例如档案信息,组信息,最后登录等。 – AnfEn 2014-11-21 14:59:44

相关问题