如何设置管理员必须批准用户注册...
许多管理员可以批准许多用户。因此,如果用户注册,他们必须先获得批准才能访问页面。如何最好地做到这一点?
-- 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 @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@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', 'jameshalpin@halpin.com'),
(2, 'Sarah', 'Faulkner', 'Sarah', 'PASS1234', 'm', 'sfaulkner@faulkner.com'),
(3, 'Barney', 'Mitchell', 'BM', '987654', 'm', 'bmitchell@mitchell.com'),
(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 CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
最佳答案
您应该在user
表中再添加一列,比方说status
您的表格将如下所示:
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 ;
当用户注册到您的网站时,他的默认状态将是0,当您批准后,状态将变为1
关于php - 设置它以便管理员可以在注册后批准用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27053745/