php - 设置它以便管理员可以在注册后批准用户

标签 php mysql phpmyadmin

如何设置管理员必须批准用户注册...

许多管理员可以批准许多用户。因此,如果用户注册,他们必须先获得批准才能访问页面。如何最好地做到这一点?

-- 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/

相关文章:

php - 引入模态弹出窗口会导致手机和平板电脑上的触摸区域无响应

php - 是否有在数组之间进行选择的方法,特定位置具有最高值的数组

mysql - 选择 CHAR c 之后的所有记录

mysql - 如何从 node.js 中的 mysql 获取最近添加的重新编码 ID

mysql - phpMyAdmin SQL 转储 - 重复 "INSERT INTO"行的模式

php - 来自 PHP 和直接在 PHPMyAdmin 的 MySQL 查询的不同 MySQL 行为

php - 将 JSON 解析为 mySQL

订阅 PostgreSQL/MySql 的 Java 应用程序

php - Mysql大数据库迁移

php - 警告 : array_push() expects parameter 1 to be array