●JavascriptとPHPの連携
PHPが使えないサーバー(例えば、無料ブログや無料HP)でPHPを使いたい場合、
Javascript経由でPHPを呼び出すことになります。
もちろん、PHPが動作するサーバーは別に持っていることが必要なのは、言うまでもありません。
なので、あまり需要がないかな?という気もするのですが、
自分の場合、メインブログがLOVELOGなので、個人的には利用価値あり、ということで。
ここでは、その一例をご紹介。
--
まず、PHPをJavascriptで呼び出す場合は、普通にprintやechoを使っても、呼び出し元には何も表示されません。
呼び出し元は、Javascriptなわけですから、PHPでも、Javascriptから呼ばれていることを意識して、文字を出力する必要があります。
結論だけ先に言うと、
document.writeで括ってあげればOKです。
<?php if(isset($_GET['str_in'])) { $str_in = $_GET['str_in']; } if(isset($_GET['charcode'])) { $charcode = $_GET['charcode']; } $str = mb_convert_encoding($str_in,$charcode); $str = "document.write('$str');\n"; echo "$str"; ?>mb_convert_encodingは呼び出し元の文字コードで出力するためにコード変換しています。 呼び出し元のJavascriptコードは、以下のようになります。
<script language="JavaScript" src="filename.php?str_in=%E5%8D%92%E6%A5%AD&charcode=SJIS" type="text/javascript"></script>str_inには、PHPの保存コードでエンコードした文字列(ここでは、UTF-8でエンコードした「卒業」という文字を指定しています。) charcodeには、呼び出し元のページの文字コード種別を指定します。 一般的には、SJIS、EUC-JP、UTF-8のどれかを指定することになるかと思います。
これだけで、PHPに対応していないサーバーでもPHPが使えるようになります。
もちろん、Javascriptで取得したデータも渡せるので、基本的には何でも出来ます。
場合によっては、単にiframeのほうがよい場合もあるので、使い分けが難しいところです。
--
Comments
コメント入力は停止しています
海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。