PHPでのcookie
2014/07/03
aaa.comにログインフォームがあって、IDパスを入れて
ログインするとbbb.jpのindex.phpに入る。
aaa.comで「IDパスを記憶する」というチェックボックスに
チェックを入れるとcookieで保存させたいということがあった。
知らなかったけどajaxみたいにcookieもクロスドメインは
できないみたい。
最初考えた時、bbb.jpでincludeとか使ってaaa.comにクエリを
投げてcookieをセットしようとしたけど上手いこといかず。
aaa.comでログインする際に一枚ページをかませて
遷移させるのが正解とのこと。
例)
・ログインフォーム
aaa.com/login.php
<?php
extract($_REQUEST);
if (isset($_COOKIE['login_id']) && isset($_COOKIE['login_pass'])) { //cookieがあればチェックボックスにチェック入れる為に変数セット
$checked = ' checked';
}
?>
<!--HTML部分-->
<form action="./redirect.php">
<!--cookieがセットされていればデフォでテキストボックスに入力されており、チェックボックスがチェックされている状態へ-->
<input type="text" name="login_id" value="<?=$_COOKIE['login_id'];?>" />
<input type="text" name="login_pass" value="<?=$_COOKIE['login_pass'];?>" />
<input type="checkbox" name="id_pass_save" value="on"<?=$checked;?> />
</form>
・cookie保存&遷移させるページ
aaa.com/redirect.php
<?php
extract($_REQUEST);
if ($id_pass_save == 'on') { //IDパス保存のチェックがあれば
if (isset($login_id)) {
setcookie('login_id',$login_id); //ID保存
}
if (isset($login_pass)) {
setcookie('login_pass',$login_pass); //パス保存
}
}
//bbb.jpに遷移させる。IDパスはクエリで投げる
header("Location:bbb.jp/index.php?login_id={$login_id}&login_pass={$login_pass}");
?>
関連記事
-
MySQLのダンプとリストアをコマンドで行う
MySQLのダンプとリストアをコマンドで行う ■ダンプ mysqldump -u ...
-
Codeigniter4でエラーログ設定、出力及び確認方法
Codeigniter4.4.4でエラーログの設定を行い特定のファイルに出力させ ...
-
PHPでファイルパスorフォルダパスの確認
PHPで画像とか触る際にフォルダのパス、ファイルのパスを 知りたいことがあったの ...
-
MySQLで重複を除く
ユニークな値を取り出したいときに使う。 DISTINCT(ディスティンクト) S ...
-
PHPでファイルを添付してメール送信
PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ...