ホームページ > バックエンド開発 > PHPチュートリアル > PHPとMySQLを使用してニュースレターシステムを構築します

PHPとMySQLを使用してニュースレターシステムを構築します

Joseph Gordon-Levitt
リリース: 2025-02-26 11:26:09
オリジナル
507 人が閲覧しました

今日、MySQLデータベースを使用してPHPを使用してニュースレターシステムを構築する予定です。このチュートリアルでは、複数のニュースレターリストと特定のリストへのメッセージの送信を可能にするシステムの構築について説明します。プロジェクトには2つのリソースが必要になります。

シルクアイコンセットライブラリを使用して、視覚的な才能をアプリケーションに追加します。メールの送信に使用。
  • アプリケーションの作成スケルトン
  • まず、プロジェクト全体のディレクトリ全体を見てみましょう構造。

先に進み、そもそもメインプロジェクトディレクトリを作成します。次に、プロジェクトフォルダー内に

admin

という名前のフォルダーを作成します。さらに移動して、

admin

フォルダー内には、メディアswiftという名前の2つのサブディレクトリが含まれています。さらに、メディアディレクトリ内で画像という名前の新しいフォルダーを作成します。以前に作成されたswiftフォルダー内にswiftlibフォルダーを配置することをお勧めします。さらに、私たちがする6つのシルクアイコンのセットを必ずコピーしてください使用🎜> email_go.Png

forチュートリアルの残りの部分では、主にCRUD機能を開発します(作成、読み取り、更新、削除)。アプリケーション全体で使用できる定数を定義するグローバル構成ファイルを作成します。名前を付けることができるとおり、
    admin/config.php
  • 。環境に従って上記の設定を変更してください。グローバルな構成ファイルを作成するためのことです。また、データベースクラスファイルも含めました。

    データベースのクラス

    このセクションでは、__constructメソッドを実装します。ユーザー認証。ユーザー名とパスワードをパラメーターとして使用し、true を呼び出します。それ以外の場合は、ユーザーがログインしてログインしてQueryメソッドが最初の引数で提供されているSQLクエリを実行した場合、ユーザーがログインしているかどうかをチェックするloggedInメソッドを返します。クエリを準備して実行します。次に、結果メタデータを取得し、結果を変数に結合し、結果を取得し、フェッチされたデータを含む配列を返します。 updateQuery 、およびcountQueryメソッドはSQLクエリを実行します。これは、カウントなどの単一の結果を返します。ユーザー名とパスワード。その場合、データベースクラスを呼び出します。その後、セッションエラーをユーザーテーブルに割り当てました。これは、ユーザー管理システムのデータベースに必要です。 、ユーザーは、必要な数のニュースレターを追加することを許可する必要があります。その場合、Newsletterters テーブルを作成する必要があります。ニュースレター管理に異なるページを実装します。 🎜> admin/newsletterts.phpファイル、次のスニペットに示すように。データベース

    クラス。ユーザーがログインされていない場合、ユーザーを

    login.phpページにリダイレクトします。 ID列からすべてのレコードを昇順で選択します。最後に、ニュースレターのレコードを反復し、HTMLテーブルリストを作成し、

    layout.php
    <?php <br>session_start(); <br>require_once 'database.php';<br><br>$mini = false;<br>$nonav = false;<br><br>error_reporting(0);<br><br>define('DB_SERVER', 'localhost');<br>define('DB_USER', 'root');<br>define('DB_PASSWORD', ''); <br>define('DB_NAME', 'tutsplus_ns_demo');<br>define('FROM_EMAIL', 'no_reply@ohyeahemail.com');<br>define('FROM_NAME', 'oh yeah email!');<br><br>$db = new Database(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);<br>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー
    ファイルを含めます。ニュースレターのリストを表示します。

    $ _POST ['name']

    のメソッドに既にいくつかのレコードがありますデータベースのニュースレター

    テーブル。最後に、それはユーザーをページにリダイレクトします。ユーザーが既存の編集を可能にする admin/newsletters_edit.php

    ファイルを作成しましょうニュースレター。

    全体として、既存のニュースレターを編集するフォームを表示する責任があります。送信すると、データベースの対応するレコードを更新し、結果に基づいてユーザーを適切なページにリダイレクトします。PHPとMySQLを使用してニュースレターシステムを構築しますPHPとMySQLを使用してニュースレターシステムを構築します

    ニュースレターを削除してください

    先に進んで、admin/newsletters_PHPとMySQLを使用してニュースレターシステムを構築します.phpファイルを作成します。これにより、ユーザーは既存のニュースレターを削除できます。 >

    テンプレート
    <?php <br>session_start(); <br>require_once 'database.php';<br><br>$mini = false;<br>$nonav = false;<br><br>error_reporting(0);<br><br>define('DB_SERVER', 'localhost');<br>define('DB_USER', 'root');<br>define('DB_PASSWORD', ''); <br>define('DB_NAME', 'tutsplus_ns_demo');<br>define('FROM_EMAIL', 'no_reply@ohyeahemail.com');<br>define('FROM_NAME', 'oh yeah email!');<br><br>$db = new Database(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);<br>
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー

    アプリケーションは、ニュースレターテンプレート管理もサポートしています。したがって、ニュースレターエンティティのためにそれを構築したのと同じように、CRUDを構築する必要があります。かなり似ているので、コードを提供することですぐにそれを調べます。

    次のスニペットに示されているように、購読者

    テーブルを作成しましょう。サブスクライバー

    テーブルを作成します。次に、このsqlを使用してメッセージテーブルのサブスクリプションレコードを作成または削除します。 Messages.php ファイル次のスニペットに示されているように。あなたのページは次のように見えるはずです:

    CREATE TABLE `users` ( <br>   `id` int(10) AUTO_INCREMENT, <br>   `username` varchar(50), <br>   `password` varchar(32), <br>   PRIMARY KEY (`id`) <br>) ENGINE=MyISAM DEFAULT CHARSET utf8; <br><br><br>INSERT INTO `users` (`id`, `username`, `password`) VALUES  ('1', 'admin', '5ebe2294ecd0e0f08eab7690d2a6ee69');<br>
    ログイン後にコピー

    今、私たちは新しいページの作業を開始します。

    最初のページでは、件名とテンプレート関連を収集します情報、そして次のページでは、実際のメッセージを収集します。
    <?php <br>require_once 'config.php'; <br><br>$response = $db->loginRequired();<br>if (!$response) {<br>    header('Location: login.php');<br>    exit;<br>}<br>$title = "Newsletters"; <br>$newsletters = $db->query("SELECT * FROM newsletters ORDER BY id ASC");<br><br>$tab = 'nl'; <br>$table = ""; <br><br>foreach($newsletters as $row) {<br>    $dlink = '<a href="newsletters_PHP%E3%81%A8MySQL%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E3%83%AC%E3%82%BF%E3%83%BC%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%BE%E3%81%99.php?id='.%24row%5B'id'%5D.'" onclick="return confirm(\'Are you sure you want to PHPとMySQLを使用してニュースレターシステムを構築します this newsletter?\');" title="PHPとMySQLを使用してニュースレターシステムを構築します"><img src="/static/imghw/default1.png" data-src="media/images/PHPとMySQLを使用してニュースレターシステムを構築します.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します"></a>';<br>    $elink = '<a href="newsletters_edit.php?id='.%24row%5B'id'%5D.'" title="edit"><img src="/static/imghw/default1.png" data-src="media/images/page_edit.png" class="lazy" alt="edit"></a>';<br>    if($row['visible'] == "1") {<br>        $visible = '<img  src="/static/imghw/default1.png" data-src="media/images/bullet_green.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します" >';} else {$visible = '<img  src="/static/imghw/default1.png" data-src="media/images/bullet_red.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します" >';<br>    }<br>    $table .= "<tr>
    <td>".$row['id']."</td>
    <td>".$row['name']."</td>
    <td>".$row['description']."</td>
    <td>$visible</td>
    <td>".$dlink." ".$elink."</td>
    </tr>\n";<br>} <br><br>$message = $db->errorMessages();<br>$content = '';<br>$content .= '<a href="newsletters_new.php">Add New Newsletter »</a> ';<br>$content .= $message;<br>$content .= '
    ログイン後にコピー







    ';
    $content .= $table;
    $content .= '
    name description visible
    ';

    include 'layout.php';
    ?>

    次の内容を持つ

    messages_new.phpファイルを作成します。 >これページは他の新しいページと非常によく似ていますが、マイナーな追加があります。新しいメッセージエントリを作成した直後に、最新の挿入IDが見つかります。

    ページは次のようになります。次の内容を備えた
    <?php <br>require_once 'config.php'; <br><br>$response = $db->loginRequired();<br>if (!$response) {<br>    header('Location: login.php');<br>    exit;<br>}<br><br>$tab = 'nl';<br><br>if(isset($_POST['submitted'])) { <br>    if(isset($_POST['visible'])) {$visible = 1;}else{$visible = 0;}<br>    $data = array('name'=>$_POST['name'],'description'=>$_POST['description'], 'visible'=>$visible);<br>    $db->updateQuery($data, $_POST['id'], 'newsletters');<br>    $_SESSION['success'] = "Updated newsletter.";<br>    header('Location: newsletters.php');<br>    exit;<br>} <br><br>$title = "Edit newsletter";<br>$id = (int) $_GET['id'];<br><br>$results = $db->query("SELECT * FROM newsletters WHERE id='".$id."' LIMIT 1");<br>$name = $results[0]['name'];<br>$description = $results[0]['description'];<br>$visible = ($results[0]['visible'] == "1") ? 'checked="checked"' : '';<br><br>$content = '
    ログイン後にコピー






















    ';

    include 'layout.php';
    ?>
    admin/messages_new_step2.php

    ファイルを作成しましょう。

    PHPとMySQLを使用してニュースレターシステムを構築します

    まず、操作しているメッセージを見つけてから、すべてのテンプレートを見つけて構成します。ドロップダウンメニュー。次に、そもそもサブスクライバー

    テーブルがあります。次に、選択したすべてのニュースレターについて、 subscriptions<p>テーブルにエントリを作成します。 </p> <p>ユーザーがニュースレターの好みを保存できるようにするために使用されています。<strong></strong>まず、フォームが読み込まれたとき、これ。</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;?php &lt;br&gt;require_once 'config.php'; &lt;br&gt;&lt;br&gt;$response = $db-&gt;loginRequired();&lt;br&gt;if (!$response) {&lt;br&gt; header('Location: login.php');&lt;br&gt; exit;&lt;br&gt;}&lt;br&gt;&lt;br&gt;$id = (int) $_GET['id']; &lt;br&gt;$stmt = $db-&gt;PHPとMySQLを使用してニュースレターシステムを構築しますQuery($id);&lt;br&gt;$_SESSION['success'] = &quot;Newsletter PHPとMySQLを使用してニュースレターシステムを構築しますd.&quot;; &lt;br&gt;&lt;br&gt;header('Location: newsletters.php');&lt;br&gt;?&gt;&lt;br&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div> <p></p> <p> find</p>ボタンをクリックすると、ユーザーが次のページになります。私の設定を保存する<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174054037797672.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します" >ボタンを保存すると、次の画像に示されているページが表示されます。メッセージの送信<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174054038267947.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します" ><h2>このセクションでは、最後のページを作成します。これにより、メッセージを送信できます。次のスニペットに示されているように</h2>ファイル。<p> </p> <p>フォームの構築に使用されています。これは、最初にニュースレターをリストします。管理者がニュースレターを選択してフォームを提出すると、これらの選択したニュースレターに購読されている購読者を取得します。そして最後に、私たちは彼らに電子メールを送ります。<strong></strong>Symfony Mailer Libraryを使用してメールを送信したことに注意することも重要です。次のスニペットに示すように、作曲家と一緒にインストールできます。環境に従って設定を調整する必要があります。このトピックの詳細については、この記事をご覧ください。これは、Symfony Mailer Libraryの詳細なガイドを提供します。ホームページ</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;?php &lt;br&gt;session_start(); &lt;br&gt;require_once 'database.php';&lt;br&gt;&lt;br&gt;$mini = false;&lt;br&gt;$nonav = false;&lt;br&gt;&lt;br&gt;error_reporting(0);&lt;br&gt;&lt;br&gt;define('DB_SERVER', 'localhost');&lt;br&gt;define('DB_USER', 'root');&lt;br&gt;define('DB_PASSWORD', ''); &lt;br&gt;define('DB_NAME', 'tutsplus_ns_demo');&lt;br&gt;define('FROM_EMAIL', 'no_reply@ohyeahemail.com');&lt;br&gt;define('FROM_NAME', 'oh yeah email!');&lt;br&gt;&lt;br&gt;$db = new Database(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);&lt;br&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>ここで、アプリケーションの全体的な統計を表示する管理者ホームページを構築しましょう。次の内容を掲載したファイル。同じように。チュートリアルで多くの根拠を取り上げ、ニュースレターアプリをゼロから完全に作成しました!<p></p>

以上がPHPとMySQLを使用してニュースレターシステムを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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