忍者ブログ

からすまる日誌 mySQL

授業ノートのまとめ

応用(31) intra mail(8)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用(31) intra mail(8)

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
 

 
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
karasumaru
性別:
非公開

P R