[PHP-users 17269]ショッピングカートシステムをJ-PHONE用にしたい

TRanDi9y scarery @ peace-maker.tv
2003年 8月 11日 (月) 12:43:06 JST


初めまして、SCARERYと申します。今後宜しくお願い致します。
今、ショッピングカートシステムを作成しています。
そのプログラムをi-mode用にするためにクッキーを使わずに注文できるように改造し、
文字コードもShift_JISに変換しました。
i-modeは問題なく動作したのですが、 初心者なのでJ-PHONEとEZWEBの対応に苦戦し
ています。
調べたところJ-PHONEの場合、ステーション非対応機種はPOST送信ではなくGET送信だ
ということでした。
POST送信のプログラムをGET送信に変える方法を教えて頂きたくメールしました。
また、EZWEBの場合はi-mode用では対応できないのですか?
---------------------------------------------
■別ファイルの自作関数
//  HESC
//    HTMLエスケープして表示します。
function HESC ( $data ) {
   $data = mb_convert_encoding( $data, "SJIS", "EUC_JP" );
 echo( htmlspecialchars( nl2br( $data ) ) );
}
---------------------------------------------
■注文内容確認画面

//フォームの値を取得
if($_SERVER["REQUEST_METHOD"] == "POST"){
   foreach($_POST as $k => $v){
       //「magic_quotes_gpc=ON」のときはエスケープ解除
       if(get_magic_quotes_gpc()){
           $v = stripslashes($v);
       }
       $v=htmlspecialchars($v);
       $$k = $v;
   }
}
else{
   exit();
}

//値をチェック
$ErrFlg = 0;
if($VALUE_NAME == ""){
       echo "<p>お名前を入力してください。";
       $ErrFlg = 1;
}
if($VALUE_MAIL == ""){
       echo "<p>メールアドレスを入力してください。";
       $ErrFlg = 1;
}
if($VALUE_ADDRESS == ""){
       echo "<p>住所を入力してください。";
       $ErrFlg = 1;
}
if($VALUE_TEL == ""){
       echo "<p>電話番号を入力してください。";
       $ErrFlg = 1;
}
if(!$ErrFlg){
?>

<h2>注文内容を確認して「ORDER」をクリックしてください
<form method="POST" action="mail.php">
<?php
   HESC( $ItemInfo[ ITEM_COL_NAME ] );
 ?></FONT><FONT SIZE="2"> 【<?php
   HESC( number_format( $ItemInfo[ ITEM_COL_PRICE ] ) );
?> 円】<BR>
サイズ:<?=$SIZE?><BR>
カラー:<?=$COLOR?><BR>
お名前<BR>
<font color="#FFFFFF"><?=$VALUE_NAME?></font><BR>
メールアドレス<BR>
<font color="#FFFFFF"><?=$VALUE_MAIL?></font><BR>
住所<BR>
<font color="#FFFFFF"><?=$VALUE_ADDRESS?></font><BR>
電話番号<BR>
<font color="#FFFFFF"><?=$VALUE_TEL?></font><BR>
<input type="submit" value="order">


<input type="hidden" name="CAT" value="<?php
HESC( $_REQUEST[ "CAT" ] );
?>">
<input type="hidden" name="ITEM" value="<?php
HESC( $ItemInfo[ ITEM_COL_NAME ] );
?>">
<input type="hidden" name="PRICE" value="<?php
HESC( number_format( $ItemInfo[ ITEM_COL_PRICE ] ) );
?>">
<input type="hidden" name="SIZE" value="<?= $SIZE ?>">
<input type="hidden" name="COLOR" value="<?= $COLOR ?>">
<input type="hidden" name="VALUE_NAME" value="<?= $VALUE_NAME ?>">
<input type="hidden" name="VALUE_MAIL" value="<?= $VALUE_MAIL ?>">
<input type="hidden" name="VALUE_ADDRESS" value="<?= $VALUE_ADDRESS ?>">
<input type="hidden" name="VALUE_TEL" value="<?= $VALUE_TEL ?>">

---------------------------------------------
■メール送信

//メール送信先を指定
$mail_to = "test @ domain.com";

//フォームの値を取得
if($_SERVER["REQUEST_METHOD"] == "POST"){
   foreach($_POST as $k => $v){
       //エスケープ解除
       if(get_magic_quotes_gpc()){
           $v=stripslashes($v);
       }
       $$k = $v;
   }
}
else{
   exit();
}



//メール本文を組み立て
$header = "From:$VALUE_MAIL \n";
$subject = "ORDER";
$body = "この度は通信販売をご利用いただきありがとうございました。\n
           以下は、送信された内容のコピーです。\n\n
お名前:$VALUE_NAME\n
メールアドレス:$VALUE_MAIL\n
住所:$VALUE_ADDRESS\n
電話番号:$VALUE_TEL\n
注文商品:$ITEM\n
値段:$PRICE\n
サイズ:$SIZE\n
カラー:$COLOR\n";

//メール本文を組み立てます。
if(mb_send_mail($mail_to,$subject,$body,$header)){
   echo "メールを送信しました";
}
else{
   echo "送信できませんでした";
}

---------------------------------------------
このようなプログラムになっています。
上のPは、本などを参考にして自分で組み立てた物です。POST送信の場合は正常に
作動しているのですが、GETとなるといまいちうまくいかず......。
一部なのでわかりにくいとは思いますが、よろしくお願い致します。
S



PHP-users メーリングリストの案内