PHPショッピングカートモジュールの徹底した機能解析(機能説明、ソースコード添付)_PHPチュートリアル
1. ショッピングカートの概要
ショッピングカートは、消費者がオンラインショッピング中に商品を一時的に保管する場所です。その主な機能には、製品の追加、製品の削除、製品数量の変更、製品金額の小計、製品金額の合計、およびショッピング カートのクリアが含まれます。また、注文の作成、注文の印刷、注文のプレビュー、注文の送信、ショッピングのキャンセルなども含まれます。
ショッピングカートの操作手順: まず、Webサイトにログインして商品を閲覧し、指定された商品を購入してショッピングカートページに入り、商品の数量変更、商品の削除、注文内容のクリアを行うことができます。ショッピングカート、買い物の続行など、最後に荷受人情報の入力、注文の作成、注文の印刷とプレビュー、注文の送信およびその他の操作。
2. ホットキーテクノロジー
1. Smarty モジュールのインストールと設定
smarty は、アプリケーションをビューとロジック制御の 2 つの部分に分割します。それは、UI と PHP コードを分離することです。 PHP には組み込みの Smarty テンプレート クラスがありません。これは個別にダウンロードして構成する必要があります。また、Smarty を使用するには、サーバー上の PHP バージョンが少なくとも 4.0.6 である必要があります。 PHP Smarty は http://www.smarty.net/download からダウンロードできます。圧縮パッケージを解凍します。このパッケージには、Smarty クラス ライブラリのすべてのコア ファイルを含む libs ディレクトリが含まれています。これには、smarty.class.php、smarty_Compiler.class.php、config_File.class.php、debug.tpl の 4 つのファイルと、internals と plug-ins の 2 つのディレクトリが含まれています。
libs ディレクトリをサーバーのルート ディレクトリにコピーし、名前を変更します。ここで、libs ディレクトリの名前を Smarty に変更します。これで Smarty テンプレートがインストールされました。
2. Smartyテンプレートの設定
(1) まずSmartyディレクトリの場所を決定します。 Smarty クラス ライブラリはユニバーサルであるため、基本的にどのプロジェクトでもこれを使用します。呼び出しの便宜のため、smarty はルート ディレクトリに配置するのが一般的です。
(2) 異なるファイルを保存するための 4 つの新しいディレクトリ templates_c、configs、cache を作成します。構成ファイルのパスが正しく設定されている限り、新しく作成された 4 つのディレクトリの場所を選択できます。
(3) 設定ファイルを作成します。 Smarty テンプレートが適用される限り、Smarty クラス ライブラリと関連情報が含まれている必要があります。すべてのページの構成を記述するのは非現実的です。最善の方法は、すべての構成情報をファイルに書き込み、インクルードを通じて構成ファイルを呼び出すことです。構成ファイルが作成されると、ルート ディレクトリに保存されます。このモジュール構成ファイル config.php のコードは次のとおりです:
/* サーバーの絶対パスを定義します */
define ('BASE_PATH','E:PHPservices\ ');
/* Smarty ディレクトリのパスを定義します */
define('SMARTY_PATH','SourceCode12
<{セクション名=データループ=$myrow}>
<{/section}> ;b) php タグの機能は、PHP スクリプトをテンプレートに直接埋め込むことです。タグの形式は「<{php}>」および「<{/php}>」です。
c) Smarty テンプレートにも同じことが当てはまります。また、if ステートメントと else ステートメントもサポートしており、テンプレート エンジンに適応するためのいくつかの機能が追加されています。 if と /if はペアで指定する必要があります。else 句と elseif 句は次の条件修飾子を使用できます: eq、ne、neq、gt、lt、lte、le、gte、ge、is Even、is od、is not Even 、奇数ではありません、not、mod、div by、even by、odd by、===、!=、>、<、<=、>=。修飾子を使用する場合は、変数または定数とスペースで区切る必要があります。例: 「center」> 申し訳ございませんが、ショッピング カートに商品情報がありません。
<{else}>
<{セクション名=データループ=$myrow}>
<{/section}>
<{/if}>
(2) PHP コードでテンプレート変数を定義し、テンプレート変数に値を割り当てます
UI のデータは、PHP コードで定義されたテンプレート変数から取得されます。 PHP コードでは、PHP コードの記述を完了し、出力する値をテンプレート変数に代入し、最後に出力用のテンプレート ページを作成します。 a) テンプレート変数への値の割り当ては、カスタム関数 assign() によって完了します。最初のパラメーターは割り当てられる変数の名前、2 番目のパラメーターは変数に割り当てられる値です。 assign() 関数を適用するためのキー コードは次のとおりです:
$smarty->assign("myrow",$array); //assign メソッドを通じて配列 $array のデータを myrow に書き込みます b) 仕様テンプレート ページの作成は、display メソッドを通じて行われます。構文は次のとおりです。 void display(string template[,string cache_id[,string combi_id]])
このメソッドは、テンプレート ページを指定するために使用され、最初の必須パラメータは、有効なテンプレート リソースを指定するもので、2 番目のオプション パラメータはキャッシュ番号を指定し、3 番目のオプション パラメータは、テンプレートを異なるバージョンにコンパイルするときに使用されます。表示メソッドのアプリケーションのキー
コードは次のとおりです:
$smarty->display("index.tpl") // 出力するテンプレート ページ 3 を指定し、セッション ショッピング カートを作成します;セッション ショッピング カートは、主にセッション変数を使用して実装されます。いわゆるショッピング カートは、session_register() 関数によって作成された 2 つのセッション変数です。goodsid には製品の ID が格納され、goodsnum には製品の数量が格納されます。セッションショッピングカートを作成するコードは次のとおりです:
コードをコピーします
session_register("goodsnum"); //購入した商品の数量を格納するセッション変数を定義する
?>
session_register() 関数は、ドメイン全体にセッション変数を追加します。構文: boolean session_register(string name);
パラメータ名は、新しいセッション変数の名前を指定するために使用されます。
4. 配列関数を使用して、ショッピングカートに商品が重複して追加されることを避けるために、追加された商品とショッピングに保存されている商品を判断する必要があります。カート。
a)explode()関数を適用して、goodsid変数に格納されている文字列を@を区切り文字とした配列に変換します。 explode() 関数は文字列で構成される配列を返します。各要素は境界点としてセパレータで区切られた部分文字列です。
構文: arrayexplode(string separator,string string,[ing limit])
パラメータの説明: separator: 必須、文字列を分割する場所を指定します。空の文字列にすることはできません。それ以外の場合、explode() は FALSE
string: 必須、分割される文字列を返します。 limit: オプションで、返される配列要素の最大数を指定します。 limit パラメーターが設定されている場合、返される配列には制限要素までが含まれ、最後の要素には文字列の残りの部分が含まれます。 limit パラメータが負の場合、最後の -limit 要素を除くすべての要素が返されます。
b) in_array() 関数は、指定された製品 ID が配列内に存在するかどうかを判断します。存在する場合、製品はすでにショッピング カート内にあります。存在しない場合は、製品 ID がショッピングに追加されます。カート。
in_inarray() 関数は、配列内の指定された値を検索します。見つかった場合は True を返し、見つからなかった場合は False を返します。
構文: bool in_array(混合値, 配列 array[,bool type])
パラメータの説明: value: 必須、配列内で検索する値を指定します
array: 必須、検索する配列を指定します。 type: オプション。true に設定すると、検索されたデータと配列の型が同じかどうかを確認します。
ショッピング カート モジュールで、指定された商品がショッピング カートに存在するかどうかを確認するコードは次のとおりです:
session_register ("goodsid"); //商品IDを格納するセッション変数を定義します
session_register("goodsnum") //購入した商品の数量を格納するセッション変数を定義します
if($_SESSION) ["goodsid"]=="" && $_SESSION["goodsnum"]==""){ //セッション変数が空かどうかを判断します
$_SESSION["goodsid"]=$_GET["id"]." @"; //セッション変数が空の場合は、製品のIDを割り当て、@
で区切ります $_SESSION["goodsnum"]="1@"; //セッション変数が空の場合は、それを割り当てます値 1 を @
で区切ります }else { //セッション変数が空でない場合
$array=explode("@",$_SESSION["goodsid"]) // @ を区切り文字として使用して、セッション変数のデータを配列に入れる
if (in_array($_GET["id"],$array){ //指定されたIDが読み取り配列に存在する場合
echo "<script>alert('この商品はショッピングカートに入れてください!');history .back();</script>";
exit;
}
//指定された ID が配列に存在しない場合は、商品が置かれていないことを意味しますショッピングカート内
$_SESSION["goodsid"].= $_GET["id"]."@" //商品をショッピングカートに追加します
$_SESSION["goodsnum"].="1@"; //商品の数量を変更します
}
echo "

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
