文件布局
<!--index.php--><meta http-equiv="content-type" content="text/html" charset="utf-8"><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/26 * Time: 9:47 */ //优化换成和跳转ob_start();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <title>会员系统</title> <link rel="stylesheet" type="text/css" href="style.css"/></head><body> <?php function __autoload($_className){ require $_className.‘.class.php‘; } //实例化对象 if(isset($_GET[‘index‘])) { $_main=new Main($_GET[‘index‘]); }else{ $_main=new Main(); } //运行 $_main->_run(); ?> </body></html>
<!--Login.class.php--><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/26 * Time: 14:26 */ //登录类class Login extends User { public function __construct($_userName,$_passWord) { // TODO: Implement __construct() method. $this->_username=$_userName; $this->_password=$_passWord; } /** *从xml文件里读取信息 */ public function _query() { // TODO: Implement _query() method. //载入xml文件 $_sxe=simplexml_load_file(‘user.xml‘); if($this->_username==$_sxe->username&&$this->_password==$_sxe->password){ setcookie(‘username‘,$this->_username); Tool::_alertLocation(‘登录成功!‘,‘?index=member‘); }else{ Tool::_alertBack(‘登录失败!‘); } } public function _check() { // TODO: Implement _check() method. if( empty($this->_username)|| empty($this->_password) ){ return false; }else{ return true; } }} ?>
<!--login.inc.php--><h3>请登录您的账号</h3> <div class="login"> <form method="post" action=""> <p>用 户 名:<input type="text" name="username"></p> <p>密 码:<input type="password" name="password"></p> <p><input type="submit" name="send" value="登录"></p> <p>[<a href="?">返回上一层</a>]</p> </form></div>
<!--Main.class.php--><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/26 * Time: 13:48 */ //主类,控制界面载入,处理数据class Main { private $_index; private $_send; /**初始化数据 * @param string $_index */ public function __construct($_index=‘‘) { // TODO: Implement __construct() method. $this->_index=$_index; if(isset($_POST[‘send‘])){ $this->_send=$_POST[‘send‘]; } } /**总管 * */ public function _run(){ //处理数据 $this->_send(); //载入主界面面 include $this->_ui(); } /**载入主页面的方法 * @return string */ private function _ui(){ if(empty($this->_index)||!file_exists($this->_index.‘.inc.php‘)){ $this->_index=‘start‘; } return $this->_index.‘.inc.php‘; } /**接收注册和登录发来的操作 * @return mixed */ private function _send(){ switch($this->_send){ case ‘注册‘: $this->_exec(new Register($_POST[‘username‘],$_POST[‘password‘],$_POST[‘notpassword‘],$_POST[‘email‘])); break; case ‘登录‘: $this->_exec(new Login($_POST[‘username‘],$_POST[‘password‘])); break; } } /** *创建一个执行方法,里面传一个参数,是Register或Login类的对象引用 */ private function _exec($_class){ if($_class->_check()){ $_class->_query(); }else{ Tool::_alertBack(‘字段不能为空!‘); } } } ?>
<!--member.inc.php--><h3>欢迎您回来</h3> <div class="start"> <p>欢迎您的归来,[<?php echo $_COOKIE[‘username‘]?>]</p></div>
<!--Register.class.php--><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/26 * Time: 14:26 */ //注册类class Register extends User{ public function __construct($_userName,$_passWord,$_notPassWord,$_email) { // TODO: Implement __construct() method. $this->_username=$_userName; $this->_password=$_passWord; $this->_notpassword=$_notPassWord; $this->_email=$_email; } /** *将信息注册到xml文件里 */ public function _query() { // TODO: Implement _query() method. $_xml=<<<_xml<?xml version="1.0" encoding="UTF-8"?><user> <username>$this->_username</username> <password>$this->_password</password> <email>$this->_email</email></user>_xml; //使用SimpleXMLElement创建模板 $_sxe=new SimpleXMLElement($_xml); //生成xml文件 $_sxe->asXML(‘user.xml‘); //跳转到登录页面 Tool::_alertLocation(‘恭喜你,注册成功!‘,‘?index=login‘); } public function _check() { // TODO: Implement _check() method. if( empty($this->_username)|| empty($this->_password)|| empty($this->_notpassword)|| empty($this->_email) ){ return false; }else{ return true; } }} ?>
<!--register.inc.php--><h3>请注册您的信息</h3> <div class="register"> <form method="post" action=""> <p>用 户 名:<input type="text" name="username"></p> <p>密 码:<input type="password" name="password"></p> <p>确认密码:<input type="password" name="notpassword"></p> <p>电子邮件:<input type="text" name="email"></p> <p><input type="submit" name="send" value="注册"></p> <p>[<a href="?">返回上一层</a>]</p> </form></div>
<!--start.inc.php--><h3>欢迎光临会员俱乐部</h3> <div class="start"> <a href="index.php?index=login">登录</a> <a href="index.php?index=register">注册</a></div>
<!--style.css-->@CHARSET "UTF-8";h3,.start,.register,.login{ margin: 20px; text-align: center;}
<!--Tool.class.php--><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/26 * Time: 22:32 */ //辅助类,里面都是放的静态方法,直接调用,无需实例化final class Tool { //弹窗,跳转到指定页面 static public function _alertLocation($_info,$_url){ echo "<script type=‘text/javascript‘>alert(‘$_info‘);location.href=‘$_url‘;</script>"; exit(); } //弹窗,返回页面 static public function _alertBack($_info){ echo "<script type=‘text/javascript‘>alert(‘$_info‘);history.back();</script>"; exit(); } } ?>
<!--User.class.php--><?php/** * Created by PhpStorm. * User: Administrator * Date: 2015/8/26 * Time: 14:21 */ //抽象类规范字段和方法abstract class User { //成员字段 protected $_username; protected $_password; protected $_notpassword; protected $_email; //方法 注册和登录 abstract function _query(); abstract function _check();} ?>
<!--user.xml--><?xml version="1.0" encoding="UTF-8"?><user> <username>小一</username> <password>123456</password> <email>[email protected]</email></user>
时间: 2024-10-19 16:59:25