1限目遅刻
intra mailのつづき
mail.phpを作成
style.cssの修正
idとm_nameの一覧が欲しい
ループでかきだしたい
ループにしたいのはここ
<?php while($row = $res->fetch(PDO::FETCH_ASSOC)): ?>
<option value=""></option> <?php endwhile; ?>
先にendwhileまで書いておく
みかんのふさ(データ)がなくなると
$rowにfalseが入るのでそこでwhileが終了する
ある間はoption要素を書き出させる
<option value="<?php echo $row["id"]; ?>">
<?php echo htmlspecialchars($row["m_name"],ENT_QUOTES); ?>
</option>
ここは文字列なのでスペシャルチャーズをかます
サンプルとしておいておいた
<option value="1">ドラえもん</option>
を消す段だが、せっかくなので
<option value="">選択してください</option>
としておく
またエラーが出たがすぐどこだかわかった
またSELECT文を閉じる"が抜けていた(3度目)
$sql = "SELECT id,m_name FROM members";
3度やったおかげですぐわかるようになってよかった
別表を参照してリストをつくるというのはよくあるやり方
この出力にはひとによって個性が出るらしい
foreachでやる人もいる
sendmail.phpをつくりにかかる
まずログインをほんとにしてるのかチェックしたいので
セッションをスタート
session_start();
if(empty($_SESSION["login"])){
header(Location: "login.php");
exit();
}
いつもの
送られてきたデータが空の分の分岐も
if(empty($_POST["m_to"]) || empty($_POST["subject"]) || empty($_POST["content"])){
最後は))になるからね
emptyの閉じとifの閉じで2つ
件名がなかったら無題とかにしたかったら2つめの判定は外せるが
その場合、通常、前の画面でjsではじく→ここでもなければはじくみたいな流れにするらしい
今回は文字列結合の文法で記述してみる
$sql="INSERT INTO mails(subject,m_to,m_from,content)";
$sql .=" VALUES(:subject,:m_to,:m_from,:content)";
2行目"の次に半角スペース忘れずに
2行目は全部プレイスホルダーなので:が要る
続けてbindValue