php headerでのhttpステータス一覧

テーマ:

header("Not Found", true, 404);

//404

 

header( "HTTP/1.1 301 Moved Permanently" ); 

//301 SEO的に超重要

 

header("HTTP/1.1 200 OK");

//200

 

 

AD

絵文字がDBに保存されない!

テーマ:

写メ日記をDBに保存する際などに、絵文字が発生したところからごっそり表示されなくなるのを発見。

 

MySQLのutf-8にはutf8mb4とutf8mb3があるのを初めて知りました。

 

MySQL5.5からutf8mb4が使用できるのですが、短絡的にアップデートするとおそらくえらい目にあいそうだったので、取り急ぎ変換して入出力するようにしました。

 

//DBに保存する際

function utf8mb4_encode_numericentity($str)
{
    $re = '/[^\x{0}-\x{FFFF}]/u';
    return preg_replace_callback($re, function($m) {
        $char = $m[0];
        $x = ord($char[0]);
        $y = ord($char[1]);
        $z = ord($char[2]);
        $w = ord($char[3]);
        $cp = (($x & 0x7) << 18) | (($y & 0x3F) << 12) | (($z & 0x3F) << 6) | ($w & 0x3F);
        return sprintf("&#x%X;", $cp);
    }, $str);
}

 

//データを取り出す際

function utf8mb4_decode_numericentity($str)
{
    $re = '/&#(x[0-9a-fA-F]{5,6}|\d{5,7});/';
    return preg_replace_callback($re, function($m) {
        return html_entity_decode($m[0]);
    }, $str);
}

 

AD

いつもちょくちょく使うので、そのままペースト

 

 

function value_check(){
    var fm = document.form;

        if(fm.conname.value =="") {
            alert("お名前を入力して下さい。");
            return false;
        }
        if(fm.furigana.value =="") {
            alert("ふりがなを入力して下さい。");
            return false;
        }
        if(fm.address01.value =="") {
            alert("住所を入力して下さい。");
            return false;
        }
        if(fm.tel.value =="") {
            alert("電話番号を入力して下さい。");
            return false;
        }
        if(fm.nohin.value =="") {
            alert("納品方法を入力して下さい。");
            return false;
        }
        if(confirm("この内容で送信しますか?") == false){
            return false;
        }
        fm.submit();
}