忍者ブログ

からすまる日誌

2020030203

×

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

2020030203

sendmail.php
 
<?php
session_start();
if(empty($_SESSION["login"])){
 header("Location: login.php");
 exit();  
}
if(empty($_POST["m_to"]) || empty($_POST["subject"]) || empty($_POST["content"])){
 header("Location:mailform.php");
 exit();
}
require_once("config.php");
$sql="INSERT INTO mails(subject,m_to,m_from,content)";
$sql .=" VALUES(:subject,:m_to,:m_from,:content)";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(":subject", $_POST["subject"], PDO::PARAM_STR);
$stmt->bindValue(":m_to",$_POST["m_to"],PDO::PARAM_INT);
$stmt->bindValue(":m_from",$_SESSION["id"],PDO::PARAM_INT);
$stmt->bindValue(":content",$_POST["content"],PDO::PARAM_STR);
$stmt->execute();
header("Location: mypage.php");
?>
 

またエラーがでたが解決できた
 
Parse error: syntax error, unexpected '"', expecting ')' in C:\xampp\htdocs\php\makino\intra_mail\sendmail.php on line 17
 
ぜったいこの前の行のどこかでの閉じ忘れと踏んだが、ほんとうにその行で"がおかしかったというめずらしいケース↓
 
$stmt->bindValue(":subject", $_POST["subject"], PDO::PARAM_STR");
 
このPARAM_STRの後の"が不要
自分で突き止められるようになってきた。よかった
 
自分あて(どらえもん→どらえもん)に送るとこの通り増えた
 

自分でcssで
hr{
margin: 1rem 0 1rem 0;
}
を加えたらキャッシュがきつかった。ctrl+f5連打で反映
cssのキャッシュは強いようだ
 

h1{
 border-left:15px solid #368dff;
 border-radius:3rem;
}
こんなにして遊んでたら
 
こんな風になって面白い
 

ログアウト処理
 
え?mypageにlogoutつけた?
1限目でやったのかな
 
login.phpを修正
現状実際にloginの処理はここではされていないので冒頭部分を作り直す
phpを追加
 
ここでやること:
セッション開始
$SESSIONをリセット
手元のクッキーを消す
サーバ側のクッキーをデストロイ
 
setcookie 
 
第1引数 クッキーの名前
2 クッキーの名前
3 有効期限
このあたりまでコントロールできたらよろしい
オプションがたくさんあるが3つ出来たらよろしいらしい
 
セッションネームというずばりな関数をつかうとよい(環境によって名前が違うのでこれを第1にいれるとクッキーの名前にまちがいがない)
セッションに使われているクッキーの名前を取得できる便利な関数
 
消したいときには第1引数のかっこの中はから、第2"",
第3は今すぐ消したいので「過去」を指定
time()というのを使うと現在時刻が取得できる
time()-360
とかしてマイナスな数(過去)にする
 
session_start();
$_SESSION=[];//セッションデータを破棄
setcookie(session_name(),"",time()-360);//クライアントのクッキー削除
session_destroy();//サーバー側のクッキー削除
 

ログインページとログアウトページをわけると「ログアウトしました」みたいのが表示できるメリットはある
 
物理的に分けたほうがシンプルはシンプルかもしれないとのこと
  

mypageに追加
  <div>
   <a href="mailform.php">新規メール作成</a> | <a href="login.php">logout</a>
  </div>
 
 

sessionのデータにjsからアクセスできるというのはセキュアじゃない考え方らしい 
 
PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30