2009年1月30日金曜日

簡単なPHPフォーム CSV付

久し振りにform を作ることにして、この頃PHPが書けるようになったから(本当にカメよりも遅い成長ですが)


シンプルなプログラムを加工して、自分で作ろうと思った。
このform プログラマー的に言うと「美しく書かれている」と思う。(キャー偉そう!)

今回は商品の注文を受けるシステムなので、dataが万が一見落としがないように、csvを残しておきたいと思う。 こんな質問もあったのですが、ここの書き込みは結局あまり参考にならず 結局自力で解決してしまった。 苦節3年?でここまで来たなと…。

200行目の送信確認画面レイアウトの終了の下に


<?php
//--- csv に入力 ----->
$file_name="./himitu/chumon.csv"; //これはファイルの場所
$date=date("Y/m/d H:i:s"); // 日時をゲット
array_splice($_POST,15,3); //無駄な最後を切る
array_push($_POST,$date); //最後に日時を入れて
$string = implode(",",$_POST); // ,入れながらつないで
$string=mb_convert_encoding($string,"SJIS"); //SJIS にする
$file =fopen($file_name, "a") or die("OPENエラー $file_name"); // ファイルあける
flock($file,LOCK_EX); // ロック
fputs($file,$string."n"); //書き込み
flock($file,LOCK_UN); // 解放
fclose($file); //閉じる
?>


と書くことによって実現。

data.csv をexcelで見るためには、SJISに変換しておかないといけないのね。

尚、ファイルの安全を高めるためには、隠フォルダやアクセス制限をかけたフォルダに置いたり、パーミッションの設定を忘れてはいけません。



他、加工したのは配列のキーと値があって、最初の値であるお名前を

$name= reset($_POST);

で取り出し、

<? echo $name; ?>
様 ありがとうございます!<br/>

と様をつけたりしました。 結構楽しかったです。

シンプルなので逆に応用がきいていいかと思います。

携帯でも動くけど、docomo1.0はsjisじゃないとダメだし、
docomo2.0はutf-8 と コンバートの調整が必要
nameを日本語にするとうまく動かないみたいです

入力フォームに使えそうなjqueryの加工

オシャレな入力フォームのデザインについて


簡易メールフォーム 初心者にもわかりやすい書き方

↓コヒーおごってください!







さくらレンタルサーバーは、php.iniの設定を以下のように設定しないと???になりました。
language = "Japanese"
mbstring.internal_encoding = "utf-8"
mbstring.encoding_translation = Off
display_errors = Off
magic_quotes_gpc = On

お問合せフォーム

お名前 :
Email: (必須)
メッセージ: (必須)


0 コメント :

コメントを投稿



連絡フォーム

名前

メール *

メッセージ *

サイト内検索

View My Stats