2006-09-21
■[プログラミング][php][Web2.0]受信部一応完成
エンコード変換と、getリクエストが送られたときにDBに保存しないようにコーディング。
$charset = 'utf-8'; //サイトのエンコードを入力
$host = 'localhost'; //MySQLホスト
$db_name = 'db_name';
$user = 'user'; //ユーザー名
$password = 'pass'; //パスワード
$title = $_POST['title'];
$excerpt = $_POST['excerpt'];
$blog_name = $_POST['blog_name']; //postされた情報を変数に格納
$date_time = date("y/n/j G:i");//投稿日時を取得
if ($url == ""){//URLが空の時エラーを返す
print "\n";
print "<response>\n";
print "<error>1</error>\n";
print "<message>Error</message>\n";
print "</response>\n";
exit; //ここでexitすれば余分なデータは格納されずに済む
}
else{//受け付けたときのレスポンス
print "\n";
print "<response>\n";
print "<error>0</error>\n";
print "</response>\n";
}
//文字コード変換
$encode_post = mb_detect_encoding($title); //TB送信元の文字コードを取得
if($encode_post != $charset){
mb_convert_encoding($title,$charset);
mb_convert_encoding($url,$charset);
mb_convert_encoding($excerpt,$charset);
mb_convert_encoding($blog_name,$charset);
}
//MySQLに接続
mysql_connect($host,$user,$password)or die(mysql_error()); //MySQLに接続
mysql_select_db($db_name)or die(mysql_error()); //tb受信用のDBを呼び出す
$sql = "select max(tb_no) from track_back"; //track_backテーブルの中で、tb_noの最大値を取得
$result = mysql_query($sql); //SQL文の送信
$array = mysql_fetch_array($result); //該当した行を配列で取得
$n_tb_no = $array[0] + 1; //受け付けたTBのtb_noを生成
$sql = "insert into track_back(tb_no,name,title,url,gaiyou,pdate)values($n_tb_no,'$blog_name','$title','$url','$excerpt','$date_time')"; //データを格納
if(!(mysql_query($sql))){
echo "クエリの実行に失敗しました";
exit;
?>
といったところです。
欲を言えば、概要部分は256バイト以上になる前に切りたいところですがまぁそのへんは後々追加しましょう。
最後の
if(!(mysql_query($sql))){
echo "クエリの実行に失敗しました";
exit;
これは、エラー確認用に付けたヤツです。
このコードじゃ役に立たないけどまぁご愛敬w
2006-09-20
■[プログラミング][php][Web2.0]トラックバックを受信してMySQLに格納する。
とりあえずベースになる部分だけ完成。
とはこれに、日時記録、文字コード変換を付けていくつもり。
$charset = 'utf-8'; //サイトのエンコードを入力
$host = 'localhost'; //MySQLホスト
$db_name = 'db_name';
$user = 'user'; //ユーザー名
$password = 'pass'; //パスワード
$title = $_POST['title'];
$excerpt = $_POST['excerpt'];
$blog_name = $_POST['blog_name']; //postされた情報を変数に格納
mysql_connect($host,$user,$password)or die(mysql_error()); //MySQLに接続
mysql_select_db($db_name)or die(mysql_error()); //tb受信用のDBを呼び出す
$sql = "select max(tb_no) from track_back"; //track_backテーブルの中で、tb_noの最大値を取得
$result = mysql_query($sql); //SQL文の送信
$array = mysql_fetch_array($result); //該当した行を配列で取得
$n_tb_no = $array[0] + 1; //受け付けたTBのtb_noを生成
$sql = "insert into track_back(tb_no,name,title,url,gaiyou)values($n_tb_no,'$blog_name','$title','$url','$excerpt')"; //データを格納
if(!(mysql_query($sql))){
echo "クエリの実行に失敗しました";
exit;
}
だれかダメだしくれー(ぉ
2006-09-19
■[TODO]何を思ったかphpの本を買ってしまった。
電車の中で見れるようにと思ってperl本を買いに行ったのに、半額になってたphp5の入門書を買ってしまった。
なのでphpの勉強をすることに。
まぁ、perlは最低さんの担当なのでヨシとする(違
MT回帰の件も含めていろいろ考えてみよう。
■[Tips]Webページのチェックボックスを一度にチェックする方法
var targets = external.menuArguments.document.all.tags("input"); for(i=0;i<targets.length;i++){ if(targets[i].type == "checkbox"){ targets[i].checked = "true"; } } </script>
以上を適当なフォルダにallcheck.htmlとして保存。
レジストリエディタでHKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
を開いてallcheckというキーを追加。
allcheckの標準の値を、保存したallcheck.htmlのパスに設定。
contextsという名前でDWORDの値を作って1に設定。
→右クリックメニューにallcheckが追加される。
使う局面:K4に迷惑メールがたくさんたまってるとき。
