ホームページ >バックエンド開発 >PHPチュートリアル >PHPとMySQLを使用してニュースレターシステムを構築します
今日、MySQLデータベースを使用してPHPを使用してニュースレターシステムを構築する予定です。このチュートリアルでは、複数のニュースレターリストと特定のリストへのメッセージの送信を可能にするシステムの構築について説明します。プロジェクトには2つのリソースが必要になります。
シルクアイコンセットライブラリを使用して、視覚的な才能をアプリケーションに追加します。メールの送信に使用。という名前のフォルダーを作成します。さらに移動して、
adminフォルダー内には、メディアとswiftという名前の2つのサブディレクトリが含まれています。さらに、メディアディレクトリ内で画像という名前の新しいフォルダーを作成します。以前に作成されたswiftフォルダー内にswiftlibフォルダーを配置することをお勧めします。さらに、私たちがする6つのシルクアイコンのセットを必ずコピーしてください使用🎜> email_go.Png
forチュートリアルの残りの部分では、主にCRUD機能を開発します(作成、読み取り、更新、削除)。アプリケーション全体で使用できる定数を定義するグローバル構成ファイルを作成します。名前を付けることができるとおり、このセクションでは、__constructメソッドを実装します。ユーザー認証。ユーザー名とパスワードをパラメーターとして使用し、true を呼び出します。それ以外の場合は、ユーザーがログインしてログインしてQueryメソッドが最初の引数で提供されているSQLクエリを実行した場合、ユーザーがログインしているかどうかをチェックするloggedInメソッドを返します。クエリを準備して実行します。次に、結果メタデータを取得し、結果を変数に結合し、結果を取得し、フェッチされたデータを含む配列を返します。 updateQuery 、およびcountQueryメソッドはSQLクエリを実行します。これは、カウントなどの単一の結果を返します。ユーザー名とパスワード。その場合、データベースクラスを呼び出します。その後、セッションエラーをユーザーテーブルに割り当てました。これは、ユーザー管理システムのデータベースに必要です。 、ユーザーは、必要な数のニュースレターを追加することを許可する必要があります。その場合、Newsletterters
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_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>
次のスニペットに示されているように、購読者
テーブルを作成しましょう。サブスクライバーテーブルを作成します。次に、このsqlを使用してメッセージテーブルのサブスクリプションレコードを作成または削除します。 Messages.php 今、私たちは新しいページの作業を開始します。 messages_new.phpファイルを作成します。 >これページは他の新しいページと非常によく似ていますが、マイナーな追加があります。新しいメッセージエントリを作成した直後に、最新の挿入IDが見つかります。 ファイルを作成しましょう。 まず、操作しているメッセージを見つけてから、すべてのテンプレートを見つけて構成します。ドロップダウンメニュー。次に、そもそもサブスクライバー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/imghwm/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/imghwm/default1.png" data-src="media/images/page_edit.png" class="lazy" alt="edit"></a>';<br> if($row['visible'] == "1") {<br> $visible = '<img src="/static/imghwm/default1.png" data-src="media/images/bullet_green.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します" >';} else {$visible = '<img src="/static/imghwm/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 .= '
';
';
name
description
visible
$content .= $table;
$content .= '
include 'layout.php';
?>次の内容を持つ
<?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 subscriptions<p>テーブルにエントリを作成します。 </p>
<p>ユーザーがニュースレターの好みを保存できるようにするために使用されています。<strong></strong>まず、フォームが読み込まれたとき、これ。</p> <pre class="brush:php;toolbar:false"><?php <br>require_once 'config.php'; <br><br>$response = $db->loginRequired();<br>if (!$response) {<br> header('Location: login.php');<br> exit;<br>}<br><br>$id = (int) $_GET['id']; <br>$stmt = $db->PHPとMySQLを使用してニュースレターシステムを構築しますQuery($id);<br>$_SESSION['success'] = "Newsletter PHPとMySQLを使用してニュースレターシステムを構築しますd."; <br><br>header('Location: newsletters.php');<br>?><br></pre>
<p></p> <p> find</p>ボタンをクリックすると、ユーザーが次のページになります。私の設定を保存する<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174054037797672.png" class="lazy" alt="PHPとMySQLを使用してニュースレターシステムを構築します" >ボタンを保存すると、次の画像に示されているページが表示されます。メッセージの送信<img src="/static/imghwm/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>
<pre class="brush:php;toolbar:false"><?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></pre>ここで、アプリケーションの全体的な統計を表示する管理者ホームページを構築しましょう。次の内容を掲載したファイル。同じように。チュートリアルで多くの根拠を取り上げ、ニュースレターアプリをゼロから完全に作成しました!<p></p>
以上がPHPとMySQLを使用してニュースレターシステムを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。