当前位置:Gxlcms > PHP教程 > 求个一个smarty写的登记登录页面

求个一个smarty写的登记登录页面

时间:2021-07-01 10:21:17 帮助过:3人阅读

求个一个smarty写的注册登录页面
需要一个smarty 写的注册登录页面的代码,另外需要项目建立需要的什么文件能截图,百度搜索的不能用,本人想通过这个学习下samrty,我这里先谢谢了。
------解决思路----------------------
自己写一个smarty自定义函数,按照规范放到插件目录下就行了呗.......比如 函数名是login 后面的几个作为参数


smarty的可扩展性非常好,所以系统函数并不多,你需要什么功能,你就可以自己定义,规范也挺简单的,
比如smarty_function_自定义函数名,然后把文件名也写成这样,然后放到plugin目录下就行了。

smarty的作用不仅仅是界面分离的一种正则替换,缓存技术才是关键,不过这个也不过是filemtime和crc32等等的校验
------解决思路----------------------
======================sql========================
CREATE TABLE `user` (
`user_id` int(5) NOT NULL AUTO_INCREMENT,
`user_name` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8




========================db.php=====================
class DB {
private $host;
private $db_name;
private $user_name;
private $password;
private $conn;

public function __construct($host, $user_name, $password, $db_name) {
$this->host = $host;
$this->user_name = $user_name;
$this->password = $password;
$this->db_name = $db_name;
$this->connect();
}
public function connect() {
$this->conn = mysql_connect($this->host, $this->user_name, $this->password) or die("数据库连接失败!");
mysql_select_db($this->db_name);
mysql_query("SET CHARACTER SET utf8");
}
public function getObj($sql) {
$rs = mysql_query($sql, $this->conn) or die (mysql_error());
$arr = array();
while ($row = mysql_fetch_array($rs)) {
if (!empty($row))
$arr[] = $row;
}
return $arr;
}
public function add_data($table, $fields = array(), $values = array()) {
$sql = "insert into " . $table . "(" ;
for($i = 0; $i < count($fields); $i++) {
if ($i < count($fields) - 1)
$sql .= $fields[$i] . ',';
else
$sql .= $fields[$i] . ")";
}
$sql .= " values (";
for($i = 0; $i < count($values); $i++) {
if ($i < count($values) - 1)
$sql .= "'" . $values[$i] . "'" . ',';
else
$sql .= "'" . $values[$i] . "')";
}
mysql_query($sql, $this->conn) or die (mysql_error());
$insert_id = mysql_insert_id($this->conn) or die (mysql_error());
return $insert_id;
}
public function close() {
mysql_close($this->conn);
}

}
$db = new DB('localhost', 'root', '', 'test');
?>
==========================User类=====================================
require './Mysql/db.php';
?>

class User {
private $user_name;
private $password;
private $table;
function __construct($table, $user_name, $password) {
$this->user_name = $user_name;
$this->password = $password;
$this->table = $table;
}
public function add_user() {
global $db;
$user_data = array($this->user_name, $this->password);
return $db->add_data($this->table, array('user_name', 'password'), $user_data);
}
public function get_user($user_name) {
global $db;
$sql = "select * from $this->table where user_name = '" . $user_name . " '";
return $db->getObj($sql);
}

}
?>

===================user.php================================
session_start();
header("Content-type: text/html; charset=utf-8");
require 'User.class.php';
require './Smarty-2.6.26/libs/Smarty.class.php';
$smarty = new Smarty;
$smarty->compile_check = true;
$smarty->debugging = false;

if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'register') {
$user_name = $_REQUEST['user'];
$password = $_REQUEST['password'];
$user = new User('user', $user_name, $password);
$user_arr = $user->get_user($user_name);
if (empty($user_arr)) {
$user->add_user();
echo "用户注册成功!" . "
";
} else {
echo "用户已经存在!" . "
";
}
} elseif (isset($_REQUEST['act']) && $_REQUEST['act'] == 'login') {
$user_name = $_REQUEST['user'];
$password = $_REQUEST['password'];
$user = new User('user', $user_name, $password);
$user_arr = $user->get_user($user_name);
if (empty($user_arr)) {
echo "用户不存在!" . "
";
} else {
if ($user_arr[0]['user_name'] == $user_name && $user_arr[0]['password'] == $password) {
echo "登录成功!";
/***
* 然后就是记录session,跳转到登录成功的页面
* 把用户名使用smarty常用的assign变量方法,在注册成功的页面取出来,
*/
}
}
} elseif (isset($_REQUEST['act']) && $_REQUEST['act'] == 'login_page'){
$smarty->display('login.html');
} elseif (isset($_REQUEST['act']) && $_REQUEST['act'] == 'register_page'){
$smarty->display('register.html');
} else {
$smarty->display('register.html');
}

?>


==============register.html==============



用户注册







==============login.html=========================



用户登录








人气教程排行