面向对象 登录与注册

文件布局

<!--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>密&nbsp;&nbsp;码:<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>密&nbsp;&nbsp;码:<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

面向对象 登录与注册的相关文章

利用面向对象写的登录与注册

登陆成功之后修改密码 import os # 定义一个用户类,用户名和密码是这个类的属性,实例化两个用户,分别有不同的用户名和密码 # 登陆成功之后才创建用户对象 # 设计一个方法 修改密码 def login(user, passwd): user_pwd_dict = {} with open("ab.txt", encoding="utf-8") as f: for line in f: name, pwd = line.strip().split("

登录和注册(Js)的写法

今天在做小组项目的时候发现登录和注册的使用不是很熟,记录下来: <script> //弹出框中的css部分 input { font-family: Arial, sans-serif;} .login { width: 270px; margin: 0 auto; padding: 30px 40px; background-color: #f7f7f7;} .login ul { list-style-type: none;} .login li { padding: 10px 0; ov

抄袭的用Jsp+JavaBean+Mysql实现的登录和注册

用Jsp+JavaBean+Mysql实现的登录和注册 (2010-11-18 20:54:43) 转载▼ 标签: 软件   共同学习和进步:一个简单的用户登录和注册系统. 代码比较简单,希望对刚开始学习的同学有所帮助. 具体代码如下: *******用户注册页面 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%><html>  <he

UI进阶 即时通讯之XMPP登录、注册

一.即时通讯 什么是即时通讯. 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能. 即时通讯的实现方式 即时通讯有多种实现方式,例如:XMPP.环信.融云等. 什么是XMPP XMPP(XML,Messages,Presence,Protocol)是基于可扩展标记语言(XML)的协议,可用于即时通信(IM).——可扩展消息处理现场协议 XMPP优点 开放XMPP协议是由JSF开源

即时通讯:第一阶段(登录和注册)

首先是配置XMPP环境,然后建立一个工程,需要建立Core Data的项目,要引入三个框架,如下图,因为用到的XMPPFramework第三方框架中用到了XML解析,所以还要在设置中设置Header Search Paths为/usr/include/libxml2,Other Linker Flags改为-lxml2 XMPPManger.h 1 #import <Foundation/Foundation.h> 2 #import "XMPPFramework.h" /

JSP之登录,注册页面(四)

摘要:本系列会制作一个简单的需要JSP,servlet,oracle一起完成的登录,注册页面 8,pojo层   User.java 1 package pojo; 2 3 public class User { 4 private String name; 5 private String password; 6 public String getName() { 7 return name; 8 } 9 public void setName(String name) { 10 this.n

JSP之登录,注册页面(三)

摘要:本系列会制作一个简单的需要JSP,servlet,oracle一起完成的登录,注册页面 6,注册界面  regist.jsp 1 <%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%> 2 <% 3 String path = request.getCo

使用PHP实现用户登录和注册的功能

登陆界面 login.PHP [html] view plain copy <form action="logincheck.php" method="post"> 用户名:<input type="text" name="username" /> <br /> 密码:<input type="password" name="password" 

登录及注册模块设置与流程图

原文地址:http://www.cocoachina.com/design/20170320/18918.html 一.登录/注册模块流程图 1.电商&O2O类产品下单注册逻辑 2.类似于简书&知乎等内容型社区产品 二.关于注册流程 1.同一页面中完成注册 较适合填写信息较少(往往不包含关于用户个人信息的设置),注册流程简洁的产品,这类产品的注册所需的信息往往只包含:手机号.验证码.密码等最简单的信息. 在同一页面中完成注册,能够能够让用户对整个注册流程有个心理预期,对填写的信息能够进行预