アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年01月17日

【Javascript】ファイルダウンロード後にページ遷移させる


エクセルファイルなど、ファイルをダウンロードさせた後にページ遷移や再読み込みを行うことがありました。

PHPの処理だけでは、ダウンロードの際にheaderを使用しているため、
ひとつの処理のなかでページ遷移を行うことができません。

javascript(今回はjQueryで記述)と
Cookie を利用することでファイルダウンロード後に処理を行うことができます。

処理の順番としては、
@クッキーの発行(ダウンロードフラグをたてる)
Aファイルダウンロード
Bダウンロードフラグがある場合、クッキー情報を削除してページ遷移

サンプルコードは以下。

PHPでクッキーを発行する


setcookie ("downloaded","yes","","/");

// ファイルダウンロード処理



HTML


<form>
<input type="submit" value="ダウンロード" />
</form>



javascript
※jquery.js, jquery.cookie.js を使用していることが前提。


// aタグで行う場合は、clickイベントで同様のことを行う
$("form").submit(function() {
setInterval(function () {
if ($.cookie("downloaded")) {
$.removeCookie("downloaded", { path: "/" });
window.location.href = '遷移先パス';
}
}, 1000);
});





2016年01月12日

【Smarty】PHPでメール本文を別ファイルから読み込む


PHPでmb_send_mailを使ってメールを送る場合、
smartyを使うと別ファイルのテンプレートファイルにメール本文を用意しておいたものを
組み込むことが簡単にできます。

smartyのインスタンスを生成した状態で以下のように記述します。

テンプレートファイル
【sample.tpl】


------------------------
名前 : {$name} 様
メールアドレス:{$address}
------------------------



PHPファイル


<?php
// Smarty のインスタンスを生成
省略

// Smarty に変数を設定
$smarty->assign('name', "hoge");
$smarty->assign('address', "hoge@hoge.com");

// send_mailに必要な宛先等を記述
$to = 宛先メールアドレス;
$subject = 件名;
$header = ヘッダー情報;

// テンプレート(xxx.tpl)からメール本文を取得
$body = $smarty->fetch('sample.tpl');

// メール送信
mb_send_mail($to,$subject,$body,$header);
?>



これでメール本文を別ファイルに持っておいてsend_mailすることができます。





posted by newprogramer at 01:22| Comment(0) | TrackBack(0) | Smarty

2016年01月07日

【HTML】陥りがちなbuttonタグのミス〜リロードされてしまう


初歩的なのですが、buttonタグで少しハマりました・・・

buttonタグでボタンを作成し、クリックするとonclickで指定したURLにとばず、
画面がリロードされてしまう・・・(-"-)

解決は単純で、typeが抜けています。

【誤】<button onclick="URL">ボタン</button>
【正】<button type="button" onclick="URL">ボタン</button>

typeを指定しない場合、デフォルトの処理でリロードされるようです。

buttonタグのtype属性でとれる値は以下の3つです。
【submit】送信ボタン
(例)
<button type="submit">送信</button>

【reset】リセット
(例)
<button type="reset">リセット</button>

【button】
(例)
<button type="button" onclick="URL">ページ遷移</button>





posted by newprogramer at 00:11| Comment(0) | TrackBack(0) | HTML
検索
カテゴリーアーカイブ

最新記事
×

この広告は30日以上新しい記事の更新がないブログに表示されております。