kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

TOOL更新_「kaz PHPプログラム自動作成◎自動生成お助けツール」をjQuery Mobileでスマートフォン対応にする。その1。index.php関連

TOOL更新_「kaz PHPプログラム自動作成◎自動生成お助けツール」をjQuery Mobileでスマートフォン対応にする。その1。index.php関連

☆とりあえずindex.php画面のハードコピー。「http://kazpgm.ddo.jp/kaz01u/admin/index.php?mode_suma=yes」、「http://kazpgm.ddo.jp/kaz01u/index.php?mode_suma=yes」でスマートフォンIE9fireFox4.0.1かで動くようにしてみました。<=IE8は固まります。気をつけて。
 <<管理者側のログイン画面とログイン後のメニュー画面>>
    
 <<ユーザ側のログイン画面とログイン後のメニュー画面>>
    

1.php部分はできるだけ変えない。

■.kazphp/common.php  修正
 ・スマートフォン用にview_sumaフォルダを作成
<<追加  start>>
// VIEW DIR SUMAPHO
define('DIR_VIEW_SUMA', dirname(__FILE__) . '/view_suma/');
<<追加  end>>

■kaz/admin/index.php  管理者側index.php  修正
 ・「/kazu01/admin/index.php?mode_suma=yes」で普通のブラウザからでも
  スマートフォン画面を表示させるため。「mode_suma」を使う。
   セッション消すタイミングを「$mode」が空のときのみに変更する。

    <<修正  start>>
    //if ($mode != 'login_do') {
    if ($mode == '') {
    <<修正  end>>
    ・・・
        session_destroy();
    }
    <<追加  start>>
    // スマフォモード決定。テストのためにここでは'mode_suma'パラメータ入力可能にする。
    $mode_suma = strtolower($_REQUEST['mode_suma']);
    if ($mode_suma!='yes' && $mode_suma!='no') { 
        $mode_suma = ''; 
    }
    if ($mode_suma == '') { 
        if (chk_sumapho()) { // スマフォの場合
            $mode_suma = 'yes';
        } else {
            $mode_suma = 'no';
        }
    }
    $_SESSION['mode_suma'] = $mode_suma; // スマフォモード保存
    $o['mode_suma'] = $mode_suma; // スマフォモード保存
    <<追加  end>>

    <<修正  start>>
    //require_once(DIR_VIEW . 'admin/index.html');
        require_once(($mode_suma == 'no'?DIR_VIEW:DIR_VIEW_SUMA) . 'admin/index.html');
    <<修正  end>>

■kaz/index.php  ユーザ側index.php  修正
 ・「/kazu01/index.php?mode_suma=yes」で普通のブラウザからでも
  スマートフォン画面を表示させるため。「mode_suma」を使う。
  セッション消すタイミングを「$mode」が空のときのみに変更する。
    <<修正  start>>
    //if ($mode != 'login_do') {
    if ($mode == '') {
    <<修正  end>>
   ・・・
        session_destroy();
    }
    <<追加  start>>
    // スマフォモード決定。テストのためにここでは'mode_suma'パラメータ入力可能にする。
    $mode_suma = strtolower($_REQUEST['mode_suma']);
    if ($mode_suma!='yes' && $mode_suma!='no') { 
        $mode_suma = ''; 
    }
    if ($mode_suma == '') { 
        if (chk_sumapho()) { // スマフォの場合
            $mode_suma = 'yes';
        } else {
            $mode_suma = 'no';
        }
    }
    $_SESSION['mode_suma'] = $mode_suma; // スマフォモード保存
    $o['mode_suma'] = $mode_suma; // スマフォモード保存
    <<追加  end>>

    <<修正  start>>
    //require_once(DIR_VIEW . '/index.html');
    require_once(($mode_suma == 'no'?DIR_VIEW:DIR_VIEW_SUMA) . 'index.html');
    <<修正  end>>

■kaz/admin/index1.php  管理者側index1.php 修正
・index1.phpをindex1.phpと(.kazphp/view/admin/index1.html(PC用)、
 .kazphp/view_suma/admin/index1.html(スマートフォン用))に分ける。
    <<修正後  start>>
    <?php
    //  ============================================================================
    //  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
    //  ============================================================================
    require_once('../common_admin.php');
        session_start();
        if ($_SESSION['mode_suma'] != '') { // スマフォモード決定
            $mode_suma = $_SESSION['mode_suma'];
        } else { // 初期状態
            if (chk_sumapho()) { // スマフォの場合
                $mode_suma = 'yes';
            } else {
                $mode_suma = 'no';
            }
        }
        $_SESSION['mode_suma'] = $mode_suma; // スマフォモード保存
        require_once(($mode_suma == 'no'?DIR_VIEW:DIR_VIEW_SUMA) . 'admin/index1.html');
        index1($o, $err);
    ?>
    <<修正後  end>>

■.kazphp/view/admin/index1.html  PC用管理者側index1.html  新規
<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
// index1  画面
function index1($o, $err) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>kaz PHP自動作成お助けTOOL  サイト管理システム</title>
<link rel="stylesheet" href="/kaz01u/admin/css/screen.css" type="text/css" media="screen,print" />
</head>

<body>
<!-- wrapper start -->
<div id="wrapper">

<!-- #BeginLibraryItem "/Library/header.lbi" -->
<?php require_once(DIR_VIEW . 'admin/header.lbi'); ?>
<!-- #EndLibraryItem -->

    <!-- contents start -->
    <div id="contents">
<!-- #BeginLibraryItem "/Library/menu.lbi" -->
<?php require_once(DIR_VIEW . 'admin/menu.lbi'); ?>
<!-- #EndLibraryItem --><br>

    
    <p class="clear"></p>
    </div>
    <!-- contents end -->

<!-- #BeginLibraryItem "/Library/footer.lbi" -->
<?php require_once(DIR_VIEW . 'admin/footer.lbi'); ?>
<!-- #EndLibraryItem -->
</div>
<!-- wrapper end -->
<?php require_once(DIR_VIEW . 'admin/analytics.lbi'); ?>

</body>
</html>
<?
}
?>

■.kazphp/view_suma/admin/index1.html  スマートフォン用管理者側index1.html  新規
<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
// index1 画面
function index1($o, $err) {
?>
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>kaz PHP自動作成お助けTOOL サイト管理システム サンプル</title>
</head>
<body>

<!-- #BeginLibraryItem "/Library/header.lbi" -->
<?php require_once(DIR_VIEW_SUMA . 'admin/header.lbi'); ?>
<!-- #EndLibraryItem -->
<form name="frm" method="POST" action="/kaz01u/admin/index1.php">
<input type="text" name="dummy" style="display:none;" />
</form>
<form name="fmModeSuma" id="fmModeSuma">
<input type="hidden" name="mode_suma" id="mode_suma" value="no" />
</form>

<!-- /////////////////////////////////////////////////// -->
<div data-role="page" id="mob-menu" data-theme="a"> 
    <div data-role="header"> 
        <h1>管理者メニュー</h1> 
        <div data-type="horizontal">
            <a href="#mob-menu" data-role="button" data-icon="check">menu</a>
            <a href="javascript:on_btn_mode_suma();" data-role="button" name='btn_mode_suma' id='btn_mode_suma'>PC</a>
            <a href="/kaz01u/admin/index.php?mode_suma=yes" rel="external" data-role="button">アウト</a>
        </div>
    </div><!-- /header --> 
    <!-- #BeginLibraryItem "/Library/menu.lbi" -->
    <?php require_once(DIR_VIEW_SUMA . 'admin/menu.lbi'); ?>
    <!-- #EndLibraryItem --><br>
    <div data-role="footer"> 
        <!-- #BeginLibraryItem "/Library/footer.lbi" -->
        <?php require(DIR_VIEW_SUMA . 'admin/footer.lbi'); ?>
        <!-- #EndLibraryItem -->
    </div><!-- /footer --> 
</div><!-- /page --> 

<?php require_once(DIR_VIEW_SUMA . 'admin/analytics.lbi'); ?>

</body>
</html>
<?
}
?>

■kaz/index1.php  ユーザ側index1.php 修正
・index1.phpをindex1.phpと(.kazphp/view/index1.html(PC用)、
     .kazphp/view_suma/index1.html(スマートフォン用))に分ける。
    <<修正後  start>>
    <?php
    //  ============================================================================
    //  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
    //  ============================================================================
    require_once('common_user.php');
        session_start();
        if ($_SESSION['mode_suma'] != '') { // スマフォモード決定
            $mode_suma = $_SESSION['mode_suma'];
        } else { // 初期状態
            if (chk_sumapho()) { // スマフォの場合
                $mode_suma = 'yes';
            } else {
                $mode_suma = 'no';
            }
        }
        $_SESSION['mode_suma'] = $mode_suma; // スマフォモード保存
        require_once(($mode_suma == 'no'?DIR_VIEW:DIR_VIEW_SUMA) . 'admin/index1.html');
        index1($o, $err);
    ?>
    <<修正後  end>>

■.kazphp/view/index1.html  PC用ユーザ側index1.html  新規

<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
// index1 画面
function index1($o, $err) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>kaz PHP自動作成お助けTOOL サイト管理システム</title>
<link rel="stylesheet" href="/kaz01u/css/screen.css" type="text/css" media="screen,print" />
</head>

<body>
<!-- wrapper start -->
<div id="wrapper">

<!-- #BeginLibraryItem "/Library/header.lbi" -->
<?php require_once(DIR_VIEW . '/header.lbi'); ?>
<!-- #EndLibraryItem -->

    <!-- contents start -->
    <div id="contents">
<!-- #BeginLibraryItem "/Library/menu.lbi" -->
<?php require_once(DIR_VIEW . '/menu.lbi'); ?>
<!-- #EndLibraryItem --><br>

    
    <p class="clear"></p>
    </div>
    <!-- contents end -->

<!-- #BeginLibraryItem "/Library/footer.lbi" -->
<?php require_once(DIR_VIEW . '/footer.lbi'); ?>
<!-- #EndLibraryItem -->
</div>
<!-- wrapper end -->
<?php require_once(DIR_VIEW . '/analytics.lbi'); ?>

</body>
</html>
<?
}
?>

■.kazphp/view_suma/index1.html  スマートフォン用ユーザ側index1.html  新規

<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
// index1 画面
function index1($o, $err) {
?>
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>kaz PHP自動作成お助けTOOL サイト管理システム サンプル</title>
</head>
<body>

<!-- #BeginLibraryItem "/Library/header.lbi" -->
<?php require_once(DIR_VIEW_SUMA . 'header.lbi'); ?>
<!-- #EndLibraryItem -->
<form name="frm" method="POST" action="/kaz01u/index1.php">
<input type="text" name="dummy" style="display:none;" />
</form>
<form name="fmModeSuma" id="fmModeSuma">
<input type="hidden" name="mode_suma" id="mode_suma" value="no" />
</form>

<!-- /////////////////////////////////////////////////// -->
<div data-role="page" id="mob-menu" data-theme="a"> 
    <div data-role="header"> 
        <h1>ユーザメニュー</h1> 
        <div data-type="horizontal">
            <a href="#mob-menu" data-role="button" data-icon="check">menu</a>
            <a href="javascript:on_btn_mode_suma();" data-role="button" name='btn_mode_suma' id='btn_mode_suma'>PC</a>
<?php 
    if ( '' != $_SESSION['u_login_id_login']) { // ユーザのログイン
?>
            <a href="/kaz01u/index.php?mode_suma=yes" rel="external" data-role="button">アウト</a>
<?php 
    } else {
?>
            <a href="/kaz01u/index.php?mode_suma=yes" rel="external" data-role="button">LOGIN</a>
<?PHP } ?>
        </div>
    </div><!-- /header --> 
    <!-- #BeginLibraryItem "/Library/menu.lbi" -->
    <?php require_once(DIR_VIEW_SUMA . 'menu.lbi'); ?>
    <!-- #EndLibraryItem --><br>
    <div data-role="footer"> 
        <!-- #BeginLibraryItem "/Library/footer.lbi" -->
        <?php require(DIR_VIEW_SUMA . 'footer.lbi'); ?>
        <!-- #EndLibraryItem -->
    </div><!-- /footer --> 
</div><!-- /page --> 

<?php require_once(DIR_VIEW_SUMA . 'analytics.lbi'); ?>

</body>
</html>
<?
}
?>

■(kaz/index.php、kaz/admin/index.php、kaz/admin/index1.php)以外のphpプログラムの修正内容
    ・・・
    <<追加  start>>
    if ($_SESSION['mode_suma'] != '') { // スマフォモード決定
        $mode_suma = $_SESSION['mode_suma'];
    } else { // 初期状態
        if (chk_sumapho()) { // スマフォの場合
            $mode_suma = 'yes';
        } else {
            $mode_suma = 'no';
        }
    }
    $_SESSION['mode_suma'] = $mode_suma; // スマフォモード保存
    <<追加  end>>

    <<修正  start>>
    //require_once(DIR_VIEW . 'xxxxx.html');
        require_once(($mode_suma == 'no'?DIR_VIEW:DIR_VIEW_SUMA) . 'xxxxx.html');
    <<修正  end>>

2.viewはスマートフォン用にview_sumaフォルダを作成して同じ名前で使う。(1対1とする。)
  スマートフォンのhtml作成は「jquery.mobile-1.0a4.1.js」を使う。

■kaz/js/または、kaz/admin/js/フォルダ  修正
    <<追加  start>>
    suma/jquery-1.5.2.min.js
    suma/jquery.mobile-1.0a4.1.min.js

■kaz/css/または、kaz/admin/css/フォルダ  修正
    <<追加  start>>
    suma/jquery.mobile-1.0a4.1.min.css
    suma/mobileparts.css

■(.kazphp/view_suma/または、.kazphp/view_suma/admin/)header.lbi  スマートフォン用管理者側ユーザ側header.lbi  新規
<link rel="stylesheet" href="/kaz01u/admin/css/suma/jquery.mobile-1.0a4.1.min.css" />
<script type="text/javascript" src="/kaz01u/admin/js/suma/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="/kaz01u/admin/js/suma/jquery.mobile-1.0a4.1.min.js"></script>
<link rel="stylesheet" href="/kaz01u/admin/css/suma/mobileparts.css" />
<script type="text/javascript" src="/kaz01u/admin/js/kaz.js"></script>
<script type="text/javascript" src="/kaz01u/admin/js/jkl-calendar_20090707u.js" charset="SHIFT-JIS"></script>
<form name="fmatag" id="fmatag" method="POST" action="">
</form>

■(.kazphp/view_suma/または、.kazphp/view_suma/admin/)
 analytics.lbi、footer.lbi、pagetop.lbi  スマートフォン用管理者側ユーザ側  新規
内容はほとんど空なので省略

■.kazphp/view_suma/admin/menu.lbi スマートフォン用管理者側メニュー 新規
    <div data-role="content">
        <!-- menu-top start -->
        <div>
        <a href="/kaz01u/admin/index1.php" data-role="button" rel="external">管理者機能TOP</a>
        </div>
        <!-- menu-top end -->
<?php if( $_SESSION['login_type'] == '1'){ ?>
<!-- menu buhin -->
        <div>
            <p>ログイン情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/logininfo/logininfo.php?mode=ins" rel="external">ログイン情報登録</a></li>
            <li><a href="/kaz01u/admin/logininfo/logininfo.php?mode=list" rel="external">ログイン情報一覧</a></li>
        </ul><?php } ?>
<!-- menu buhin -->
        <div>
            <p>会員情報1管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/user/user.php?mode=ins" rel="external">会員情報1登録</a></li>
            <li><a href="/kaz01u/admin/user/user.php?mode=list" rel="external">会員情報1一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>業種情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/biztype/biztypeA.php?mode=ins" rel="external">業種情報登録</a></li>
            <li><a href="/kaz01u/admin/biztype/biztypeA.php?mode=list" rel="external">業種情報一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>企業情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/corp/corpA.php?mode=ins" rel="external">企業情報登録</a></li>
            <li><a href="/kaz01u/admin/corp/corpA.php?mode=list" rel="external">企業情報一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>使用できる項目管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/item/itemA.php?mode=ins" rel="external">使用できる項目登録</a></li>
            <li><a href="/kaz01u/admin/item/itemA.php?mode=list" rel="external">使用できる項目一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>大分類情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/category/categoryA.php?mode=ins" rel="external">大分類情報登録</a></li>
            <li><a href="/kaz01u/admin/category/categoryA.php?mode=list" rel="external">大分類情報一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>中分類情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/subcategory/subcategoryA.php?mode=ins" rel="external">中分類情報登録</a></li>
            <li><a href="/kaz01u/admin/subcategory/subcategoryA.php?mode=list" rel="external">中分類情報一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>小分類情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/extracategory/extracategoryA.php?mode=ins" rel="external">小分類情報登録</a></li>
            <li><a href="/kaz01u/admin/extracategory/extracategoryA.php?mode=list" rel="external">小分類情報一覧</a></li>
        </ul><!-- menu buhin -->
        <div>
            <p>商品情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/shohin/shohinA.php?mode=ins" rel="external">商品情報登録</a></li>
            <li><a href="/kaz01u/admin/shohin/shohinA.php?mode=list" rel="external">商品情報一覧</a></li>
        </ul>
<!-- menu buhin -->
        <div>
            <p>初期データアップロード管理</p>
        </div>
<!-- menu buhin -->
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/admin/initupload/iUplogininfoCsv.php" rel="external">ログイン情報アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpuserCsv.php" rel="external">会員情報1アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpbiztypeACsv.php" rel="external">業種情報アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpcorpACsv.php" rel="external">企業情報アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpitemACsv.php" rel="external">使用できる項目アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpcategoryACsv.php" rel="external">大分類情報アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpsubcategoryACsv.php" rel="external">中分類情報アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpextracategoryACsv.php" rel="external">小分類情報アップロード</a></li>
            <li><a href="/kaz01u/admin/initupload/iUpshohinACsv.php" rel="external">商品情報アップロード</a></li>

        </ul>

    </div>
<!-- /content --> 

■.kazphp/view_suma/menu.lbi スマートフォン用ユーザ側メニュー 新規
    <div data-role="content">
<!-- menu start -->
        <div>
            <p>企業情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/corp/corpUadd.php?mode=ins" rel="external">企業情報登録</a></li>
<?PHP 
    if (( '' == $_SESSION['u_login_id_login']) &&  // ユーザのログイン
        ( $_SESSION['login_type'] != '1' && $_SESSION['login_type'] != '2' && $_SESSION['login_type'] != '3')) { // 管理者のログイン
?>
            <li><a href="/kaz01u/corp/corpU.php?mode=list" rel="external" disabled >企業情報一覧</a></li>
<?PHP 
    } else {
?>
            <li><a href="/kaz01u/corp/corpU.php?mode=list" rel="external">企業情報一覧</a></li>
<?PHP } ?>
            <li><a href="/kaz01u/corp/corpU.php?mode=list_new" rel="external">企業情報登録日時降順</a></li>
        </ul><!-- menu buhin user -->

        <div>
            <p>使用できる項目管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/item/itemUadd.php?mode=ins" rel="external">使用できる項目登録</a></li>
<?PHP 
    if (( '' == $_SESSION['u_login_id_login']) &&  // ユーザのログイン
        ( $_SESSION['login_type'] != '1' && $_SESSION['login_type'] != '2' && $_SESSION['login_type'] != '3')) { // 管理者のログイン
?>
            <li><a href="/kaz01u/item/itemU.php?mode=list" rel="external" disabled >使用できる項目一覧</a></li>
<?PHP 
    } else {
?>
            <li><a href="/kaz01u/item/itemU.php?mode=list" rel="external">使用できる項目一覧</a></li>
<?PHP } ?>
            <li><a href="/kaz01u/item/itemU.php?mode=list_new" rel="external">使用できる項目登録日時降順</a></li>
        </ul><!-- menu buhin user -->

        <div>
            <p>大分類情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/category/categoryUadd.php?mode=ins" rel="external">大分類情報登録</a></li>
<?PHP 
    if (( '' == $_SESSION['u_login_id_login']) &&  // ユーザのログイン
        ( $_SESSION['login_type'] != '1' && $_SESSION['login_type'] != '2' && $_SESSION['login_type'] != '3')) { // 管理者のログイン
?>
            <li><a href="/kaz01u/category/categoryU.php?mode=list" rel="external" disabled >大分類情報一覧</a></li>
<?PHP 
    } else {
?>
            <li><a href="/kaz01u/category/categoryU.php?mode=list" rel="external">大分類情報一覧</a></li>
<?PHP } ?>
            <li><a href="/kaz01u/category/categoryU.php?mode=list_new" rel="external">大分類情報登録日時降順</a></li>
        </ul><!-- menu buhin user -->

        <div>
            <p>中分類情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/subcategory/subcategoryUadd.php?mode=ins" rel="external">中分類情報登録</a></li>
<?PHP 
    if (( '' == $_SESSION['u_login_id_login']) &&  // ユーザのログイン
        ( $_SESSION['login_type'] != '1' && $_SESSION['login_type'] != '2' && $_SESSION['login_type'] != '3')) { // 管理者のログイン
?>
            <li><a href="/kaz01u/subcategory/subcategoryU.php?mode=list" rel="external" disabled >中分類情報一覧</a></li>
<?PHP 
    } else {
?>
            <li><a href="/kaz01u/subcategory/subcategoryU.php?mode=list" rel="external">中分類情報一覧</a></li>
<?PHP } ?>
            <li><a href="/kaz01u/subcategory/subcategoryU.php?mode=list_new" rel="external">中分類情報登録日時降順</a></li>
        </ul><!-- menu buhin user -->

        <div>
            <p>小分類情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/extracategory/extracategoryUadd.php?mode=ins" rel="external">小分類情報登録</a></li>
<?PHP 
    if (( '' == $_SESSION['u_login_id_login']) &&  // ユーザのログイン
        ( $_SESSION['login_type'] != '1' && $_SESSION['login_type'] != '2' && $_SESSION['login_type'] != '3')) { // 管理者のログイン
?>
            <li><a href="/kaz01u/extracategory/extracategoryU.php?mode=list" rel="external" disabled >小分類情報一覧</a></li>
<?PHP 
    } else {
?>
            <li><a href="/kaz01u/extracategory/extracategoryU.php?mode=list" rel="external">小分類情報一覧</a></li>
<?PHP } ?>
            <li><a href="/kaz01u/extracategory/extracategoryU.php?mode=list_new" rel="external">小分類情報登録日時降順</a></li>
        </ul><!-- menu buhin user -->

        <div>
            <p>商品情報管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/shohin/shohinUadd.php?mode=ins" rel="external">商品情報登録</a></li>
<?PHP 
    if (( '' == $_SESSION['u_login_id_login']) &&  // ユーザのログイン
        ( $_SESSION['login_type'] != '1' && $_SESSION['login_type'] != '2' && $_SESSION['login_type'] != '3')) { // 管理者のログイン
?>
            <li><a href="/kaz01u/shohin/shohinU.php?mode=list" rel="external" disabled >商品情報一覧</a></li>
<?PHP 
    } else {
?>
            <li><a href="/kaz01u/shohin/shohinU.php?mode=list" rel="external">商品情報一覧</a></li>
<?PHP } ?>
            <li><a href="/kaz01u/shohin/shohinU.php?mode=list_new" rel="external">商品情報登録日時降順</a></li>
        </ul><!-- menu buhin user -->

        <div>
            <p>お問い合わせ管理</p>
        </div>
        <ul data-role="listview" data-inset="true">
            <li><a href="/kaz01u/contact/inqUadd.php?mode=ins" rel="external">お問い合わせ登録</a></li>
        </ul>
    </div>
<!-- /content --> 

3.PCとスマートフォンの切り替えボタンを作りjQueryAJAXでセッションのフラグを切り替える。

■(kaz/js/または、kaz/admin/js/)kaz.js  修正
    <<追加  start>>
    //--  ここからは  jQueryを使っています。  ------
    //--  ブラウザのスマートフォン/PC切替処理
    function on_btn_mode_suma() {
        $.ajax({
            url: '/kaz01u/chgModeSuma.php',
            type: 'POST',
            dataType: 'text',
    //        data: '{mode_suma:["no"]}' ,
            data: $('#fmModeSuma').serializeArray(),
            timeout: 5000,
            success: function(data, status, xhr){
                //alert('次の処理からブラウザが' + data + 'に切り替わります。');
                window.location.reload();
            },
            error: function (XMLHttpRequest, status, errorThrown) {
                alert('サーバーとの通信エラーが発生しました。');
            }
        });
    }
    <<追加  end>>

■kaz/chgModeSuma.php  新規
・テストでスマフォにモードを変えるには
  URLに"http://localhost/kaz01u/chgModeSuma.php?mode_suma=yes"と入れる。
<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
require_once('../.kazphp/common.php');

$o =& htmlspecialchars_r($_REQUEST); // output用(FORMからの入力値)

$mode_suma = strtolower($_REQUEST['mode_suma']);

session_start();

if ($_SESSION['mode_suma'] != '' && $mode_suma == '') { // スマフォモード決定
    $mode_suma = $_SESSION['mode_suma'];
} else if ($_SESSION['mode_suma'] == '' && $mode_suma == ''){ // 初期状態
    if (chk_sumapho()) { // スマフォの場合
        $mode_suma = 'yes';
    } else {
        $mode_suma = 'no';
    }
}

$_SESSION['mode_suma'] = $mode_suma; // スマフォモード保存

mb_http_output('UTF-8');
mb_internal_encoding('UTF-8');
header('Content-Type: text/plain;charset=UTF-8');
echo($mode_suma == 'no'?"PC":"スマートフォン");
?>

■.kazphp/view/admin/header.lbi  PC用管理者側header.lbi  修正
  ・PCとスマートフォンの切り替えボタン。
<<追加  start>>
<script type="text/javascript" src="/kaz01u/admin/js/suma/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="/kaz01u/admin/js/kaz.js"></script>
<?PHP 
	if ( chk_sumapho()) { // スマートフォン判別
?>
            <form name="fmModeSuma" id="fmModeSuma">
                <input type="hidden" name="mode_suma" id="mode_suma" value="yes" />
            </form>
            <a href="javascript:on_btn_mode_suma();" name='btn_mode_suma' id='btn_mode_suma'><span style="color:#000000;">スマートフォン</span></a>  
<?PHP } ?>
<<追加  end>>

■.kazphp/view/header.lbi  PC用ユーザ側header.lbi  修正
  ・PCとスマートフォンの切り替えボタン
<<追加  start>>
<script type="text/javascript" src="/kaz01u/admin/js/suma/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="/kaz01u/admin/js/kaz.js"></script>
<?PHP 
	if ( chk_sumapho()) { // スマートフォン判別
?>
            <form name="fmModeSuma" id="fmModeSuma">
                <input type="hidden" name="mode_suma" id="mode_suma" value="yes" />
            </form>
            <a href="javascript:on_btn_mode_suma();" name='btn_mode_suma' id='btn_mode_suma'><span style="color:#FFFFFF;">スマートフォン</span></a>
<?PHP } ?>
<<追加  end>>

■.kazphp/view_suma/admin/index.html  スマートフォン用管理者側index.html  新規
<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
// index 画面
function index($o, $err) {
?>
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>kaz PHP自動作成お助けTOOL サイト管理システム サンプル</title>
</head>
<body onload="document.frm.loginid.focus()">

<!-- #BeginLibraryItem "/Library/header.lbi" -->
<?php require(DIR_VIEW_SUMA . 'admin/header.lbi'); ?>
<!-- #EndLibraryItem -->
<form name="fmModeSuma" id="fmModeSuma">
<input type="hidden" name="mode_suma" id="mode_suma" value="no" />
</form>

<!-- /////////////////////////////////////////////////// -->
<div data-role="page" id="login_do" data-theme="a"> 
    <div data-role="header"> 
        <h1>管理者ログイン</h1> 
        <div data-type="horizontal">
            <a href="javascript:on_btn_mode_suma();" data-role="button" name='btn_mode_suma' id='btn_mode_suma'>PC</a>
            <a href="/kaz01u/admin/index.php?mode_suma=yes" rel="external" data-role="button">アウト</a>
        </div>
    </div><!-- /header --> 
        
    <div data-role="content">    
        <form name="frm" method="POST" action="/kaz01u/admin/index.php">
            <input type="text" name="dummy" style="display:none;" />
            <input type="hidden" name="mode" id="mode" value="login_do" />
            <input type="hidden" name="mode_suma" id="mode_suma" value="<?= $o['mode_suma']?>" />

            <span class="font-hissu">※サンプルなのでIDにadmin、パスワードにadmin</span>を固定で入力してあります。
            <div data-role="fieldcontain" <?= $err['login'] !=''?'data-theme="e"':''; ?>>
                <label for="loginid">ログインID&nbsp;&nbsp;<span class="font-hissu">*</span></label>
                <input name="loginid" id="loginid" maxlength="50" value="admin" type="text" <?= $err['login'] !=''?'data-theme="e"':''; ?>>
            </div>
            <div data-role="fieldcontain">
                <label for="loginpwd">パスワード&nbsp;&nbsp;<span class="font-hissu">*</span></label>
                <input name="loginpwd" id="loginpwd" maxlength="10" value="admin" type="password" <?= $err['login'] !=''?'data-theme="e"':''; ?>>
                <?php if ($err['login'] !='') { ?>
                    <div class="font-s-red-form"><?= $err['login']?></div>
                <?php } ?>
            </div>

        </form>
    </div><!-- /content --> 

    <div data-role="footer"> 
        <div data-role="controlgroup" data-type="horizontal">
            <a href="javascript:do_Submit_Clk1();" data-role="button">ログイン</a>
            <a href="javascript:document.frm.reset();" data-role="button">キャンセル</a>
        </div>
        <!-- #BeginLibraryItem "/Library/footer.lbi" -->
        <?php require(DIR_VIEW_SUMA . 'admin/footer.lbi'); ?>
        <!-- #EndLibraryItem -->
    </div><!-- /footer --> 
</div><!-- /page --> 
<?php require_once(DIR_VIEW_SUMA . 'admin/analytics.lbi'); ?>
<!-- /////////////////////////////////////////////////// -->
</body></html>
<?
}
?>

■.kazphp/view_suma/index.html  スマートフォン用ユーザ側index.html  新規
<?php
//  ============================================================================
//  Copyright (c) 2009 kaz PHP自動作成お助けTOOL. All rights reserved.
//  ============================================================================
// index 画面
function index($o, $err) {
?>
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>kaz PHP自動作成お助けTOOL サイト管理システム サンプル</title>
</head>
<body onload="document.frm.loginid.focus()">

<!-- #BeginLibraryItem "/Library/header.lbi" -->
<?php require(DIR_VIEW_SUMA . 'header.lbi'); ?>
<!-- #EndLibraryItem -->
<form name="fmModeSuma" id="fmModeSuma">
<input type="hidden" name="mode_suma" id="mode_suma" value="no" />
</form>

<!-- /////////////////////////////////////////////////// -->
<div data-role="page" id="login_do" data-theme="a"> 
    <div data-role="header"> 
        <h1>ユーザーログイン</h1> 
        <div data-type="horizontal">
            <a href="javascript:on_btn_mode_suma();" data-role="button" name='btn_mode_suma' id='btn_mode_suma'>PC</a>
            <a href="/kaz01u/index.php?mode_suma=yes" rel="external" data-role="button">アウト</a>
        </div>
    </div><!-- /header --> 
        
    <div data-role="content">    
        <form name="frm" method="POST" action="/kaz01u/index.php">
            <input type="text" name="dummy" style="display:none;" />
            <input type="hidden" name="mode" id="mode" value="login_do" />
            <input type="hidden" name="mode_suma" id="mode_suma" value="<?= $o['mode_suma']?>" />

            <span class="font-hissu">※サンプルなのでIDにA0902150001、パスワードに12345678</span>を固定で入力してあります。 これは管理者側WEB(http://kazpgm.ddo.jp/kaz01u/admin/user/user.php?mode=list)の「会員情報1一覧」の会員番号とパスワードです。
            <div data-role="fieldcontain" <?= $err['login'] !=''?'data-theme="e"':''; ?>>
                <label for="loginid">ID&nbsp;&nbsp;<span class="font-hissu">*</span></label>
                <input name="loginid" id="loginid" maxlength="50" value="A0902150001" type="text" <?= $err['login'] !=''?'data-theme="e"':''; ?>>
            </div>
            <div data-role="fieldcontain">
                <label for="loginpwd">パスワード&nbsp;&nbsp;<span class="font-hissu">*</span></label>
                <input name="loginpwd" id="loginpwd" maxlength="10" value="12345678" type="password" <?= $err['login'] !=''?'data-theme="e"':''; ?>>
                <?php if ($err['login'] !='') { ?>
                    <div class="font-s-red-form"><?= $err['login']?></div>
                <?php } ?>
            </div>

        </form>
    </div><!-- /content --> 

    <div data-role="footer"> 
        <div data-role="controlgroup" data-type="horizontal">
            <a href="javascript:do_Submit_Clk1();" data-role="button">ログイン</a>
            <a href="javascript:document.frm.reset();" data-role="button">キャンセル</a>
        </div>
        <!-- #BeginLibraryItem "/Library/footer.lbi" -->
        <?php require(DIR_VIEW_SUMA . 'footer.lbi'); ?>
        <!-- #EndLibraryItem -->
    </div><!-- /footer --> 
</div><!-- /page --> 
<?php require_once(DIR_VIEW_SUMA . 'analytics.lbi'); ?>
<!-- /////////////////////////////////////////////////// -->
</body></html>
<?
}
?>

4.初回のPC/スマートフォンは「getenv('HTTP_USER_AGENT')」を見て決定する。

■.kazphp/check_functions.php
<<追加  start>>
// スマートフォン判別
function chk_sumapho() {
 
    // ブラウザの種類を取得
    $ua = getenv('HTTP_USER_AGENT');

    if (preg_match('/iPhone/', $ua) || 
        preg_match('/Android/', $ua)) {
        return true;
    }
    return false;
 
}
<<追加  end>>

5.その他

(1)IE9で今までの「kaz.js」がエラーになる。
<<修正前 2箇所>>
return; false;
<<修正後 2箇所>>
return false;

6.参考リンク
 ・jQuery Mobile 1.0a4.1 日本語リファレンス http://dev.screw-axis.com/doc/jquery_mobile

======================
2011/06/04 8:00-21:30 ブラウザのスマートフォン/PC切替処理に一苦労。結果AJAX非同期通信でセッションを書き換えることにした。jQueryなら簡単。・・・ちなみに「jkl-calendar_20090707u.js」では自力でAJAXしている。・・・ほら、jQueryがすごく簡単な事がわかる。
2011/06/05 5:00-12:30 22:00-24:00 スマートフォンjquery.mobile-1.0a4.1.jsで”to.data page is undefined”というエラーがでる。。。てこづった。が。解決した。 
2011/06/06 8:00-9:00 index.phpのセッション消すタイミングを「$mode」が空のときのみに変更する。
2011/06/06 9:00-10:30 menue.lbiのメニューaタグが動かないので調査した。「javascript:do_Submit_fmATag()」を作って動かすことにした。 IE9で、今まで動いていた「kaz.js」の「return; false;」がエラーになるので修正した。
2011/06/06 10:30-20:00 とりあえず自WEBデモサーバにできたものを載せてみた。スマートフォンIE9fireFox4.0.1かでURLたたけば行くはず「http://kazpgm.ddo.jp/kaz01u/admin/index.php?mode_suma=yes」、「http://kazpgm.ddo.jp/kaz01u/index.php?mode_suma=yes」。ただし、まだ、ログイン画面(index.php、admin/index.php)とメニュー画面(index1.php、admin/index1.php)だけだけど。
2011/06/07 18:30-20:00 ユーザ側のログイン画面とログイン後のメニュー画面を貼り付けた。
2011/06/05 13:00-17:00 jQuery Mobileのaタグ「通常のリンク」説明発見。「rel="external"」だそうだ。<=「外部指定」ってこのことだった。自分がjavascriptでform・action換えてsubmitしたのはNG。修正する。「<a href="javascript:do_Submit_fmATag('/kaz01u/xxxxxx);">」を「<a href="/kaz01u/xxxxxx" rel="external">」にした。「kaz.js」のdo_Submit_fmATagを削除した。
2011/11/22 15:00-16:00 PCボタン押したらすぐにリロードするように変えた。

kaz/js/または、kaz/admin/js/)kaz.jsの
    //-- ブラウザのスマートフォン/PC切替処理
    function on_btn_mode_suma() {
    ・・・
        success: function(data, status, xhr){
            alert('次の処理からブラウザが' + data + 'に切り替わります。');
        },
を
        success: function(data, status, xhr){
            //alert('次の処理からブラウザが' + data + 'に切り替わります。');
            window.location.reload();
        },
に変更した。