ホームページ > バックエンド開発 > PHPチュートリアル > Smarty によって作成された登録およびログイン ページをお探しですか?

Smarty によって作成された登録およびログイン ページをお探しですか?

WBOY
リリース: 2016-06-23 13:43:53
オリジナル
1085 人が閲覧しました

Smarty で作成された登録とログイン ページのコードが必要です。また、プロジェクトの作成に必要なファイルのスクリーンショットを撮る必要があります。これを通じて Samrty を学習したいと思います。 。


ディスカッションに返信 (解決策)

オンラインで待機中、qq906988410 を追加できます

意味がわかりません? Smarty の目的は、ページ分離をより適切に実行することです。PHP コードはページ上に表示されず、PHP 変数はコントローラー内で置き換えられます。登録ページでは PHP 変数をまったく使用しません。 HTML ファイルに JavaSCRIPT 検証をテンプレートとして記述するだけで十分ではないでしょうか? Baidu から静的登録ページをダウンロードできます。 。
Smarty の役割を理解していない場合は、PHP 変数を置き換える必要はありません。

Smarty で書かれた登録コードが必要ですが、Samarty の使い方がわからないので、インターネットで読んだことを参考にして学ぶことができますが、成功しませんでした。賢さの影はないので、マスターたちが私に

オンラインで待ちきれないですか?

みんなが見てもらえるように、書いたものを投稿してください。
Smarty は、プログラム テンプレートを分離するのが難しくないことを意味します

php+smarty の設定、インストール、使用方法を確認することをお勧めします。

スマートなカスタム関数を自分で作成し、仕様に従ってプラグイン ディレクトリに配置するだけです。たとえば、 関数名は、login です。パラメータとして


Smarty は拡張性が非常に優れているため、必要な関数を自由に定義できます。例えば、smarty_function_custom 関数名をファイルに置きます。 name このように書いてプラグインディレクトリに置くだけです。

Smarty の役割はインターフェース分離の定期的な置き換えだけではなく、キャッシュ技術が鍵ですが、これは単なる filemtime や crc32 などの検証です。

したがって、smarty の鍵は、php をよく学ぶこと、php の使い方を学ぶことです。はい、これで Smarty が完成します

======================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=====================<?phpclass 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类=====================================<?phprequire './Mysql/db.php';?><?phpclass 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================================<?phpsession_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 "用户注册成功!" . "<br/>";    } else {        echo "用户已经存在!" . "<br/>";    }} 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 "用户不存在!" . "<br/>";    } 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==============<!DOCTYPE html><html>    <head>        <title>用户注册</title>        <meta charset="UTF-8">    </head>    <body>        <form action="/csdn/user.php" method="post" />        User Name: <input type="text" name="user" /><br/><br/>        Password:   <input type="password" name="password" /><br/><br/>        <input type="submit" name="register" value="register"/> | <a href="/csdn/user.php?act=login_page">登录</a>                <input type="hidden" name="act" value="register" />        </form>    </body></html>==============login.html=========================<!DOCTYPE html><html>    <head>        <title>用户登录</title>        <meta charset="UTF-8">    </head>    <body>        <form action="/csdn/user.php" method="post" />        User Name: <input type="text" name="user" /><br/><br/>        Password:  <input type="password" name="password" /><br/><br/>        <input type="submit" name="login" value="login"/> | <a href="/csdn/user.php?act=register_page">注册</a>                <input type="hidden" name="act" value="login" />        </form>    </body></html>
ログイン後にコピー

elseif (isset($_REQUEST['act']) && $_REQUEST['act'] == 'login_page'){    $smarty->assign("title", "用户登录");    $smarty->display('login.html');} elseif (isset($_REQUEST['act']) && $_REQUEST['act'] == 'register_page'){    $smarty->assign("title", "用户注册");    $smarty->display('register.html');} else {    $smarty->assign("title", "用户注册");    $smarty->display('register.html');}<html>    <head>        <title>{$title}</title>                         <!--assign进来的变量--> <strong></strong>        <meta charset="UTF-8">    </head>    <body>        <form action="/csdn/user.php" method="post" />        User Name: <input type="text" name="user" /><br/><br/>        Password:  <input type="password" name="password" /><br/><br/>        <input type="submit" name="login" value="login"/> | <a href="/csdn/user.php?act=register_page">注册</a>                <input type="hidden" name="act" value="login" />        </form>    </body></html>
ログイン後にコピー

ユーザークラスがそのファイルに追加され、最後のコードがそこに追加されました。誰か教えてください

ユーザークラスはどのファイルに追加されましたか? これは実行できますか?

最後の段落、assign 関数の例を挙げてください。

賢い 頭が痛くなる事が多すぎる


賢い 頭が痛くなる事が多すぎる

テンプレートの原則のほとんどは同じ、検索と置換です。次に、PHP の配列と文字列処理の知識が必要です。これら 2 つを学習すれば、PHP を始めるのはとても簡単です

これを使用することはできません。ポイントを差し上げます

親愛なる、あなたはそれを使うことができます、これは私が書き終えてデバッグを通して確認しました
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート