Blockchain code Metaverse VR

Unity×VR×Blockchain(266)

スポンサーリンク

//tips

//php理解

スタッフログイン画面のformは問題なく稼働している。

<form method="post" action="staff_login_check.php">
スタッフコード<br/>
<input type="text" name="code"><br/>
パスワード<br/>
<input type="password" name="pass"><br/>

staff_login_check.php部分に下記が入っていたためで、こちらは不要であったので削除。

<?php
session_start();
session_regenerate_id(true);
if(isset($_SESSION['member_login'])==false){

print 'ようこそゲスト様 ';
print'<a href="member_login.html">会員ログイン</a>';
print'<br/>';

}else{
print'ようこそ';

print $_SESSION['member_name'];
print'様 ';
print '<a href="member_logout.php">ログアウト</a><br/>';
print'<br/>';
}

?>

これで問題なく入ることはできたが、ログインができない場合の戻るボタンにリンクが貼られない問題が起きている。文字はきちんと表示されている。

if($rec==false)
{
print 'スタッフコードかパスワードが間違っています<br/';
print '<a href="staff_login.html">戻る</a>';//staff_login.html

}else{

再度下記のように入力し直して、問題解決。<br/‘と>漏れのミスをしていたのが要因。

print 'スタッフコードかパスワードが間違っています。<br />';
print '<a href="staff_login.html"> 戻る</a>';

無事に商品登録できた。

カートに複数商品を入れていく。

そうすると、ただいま障害により大変ご迷惑をおかけしております。の表示が出てmyadminに注文内容が追加されない。

Myadminのテーブルの一つが保存できていなかったようで消滅していたので再生成。

catch(Exception $e)部分を表示するために

catch(Exception $e)
{

print'ただいま障害により大変ご迷惑をおかけしております。';
echo $e->getMessage();
exit();
}
とすることで下記のエラーメッセージを取得。

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'code_member' in 'field list'

codenumberに文言を修正。

すると無事に注文情報がphpadminに登録された。

ここからはテーブル結合を実行し、必要な情報をいっぺんに取得できる方法を見ていく。

SELECT * FROM dat_sales,dat_sales_product WHERE dat_sales.code=dat_sales_product.code_sales

のように、まずは結合させたいテーブルをfrom以下に記載し、それぞれのテーブルの同一部分をWHERE以下に記載する。この場合は注文テーブルの注文コードと注文明細テーブルの注文コードを結合対象としている。

これをphpmyadminのSQLの項目に記入し、実行すると二つのテーブルが結合されたデータが表示される。

現段階だと注文が同タイミングで行われた場合に誤作動が起こる可能性があるので、同じタイミングに重ならないように順番をしっかり決めていく。

その場合にはロック機能が使用され、LOCK TABLES dat_sales WRITE,dat_sales_product WRITEのようにdat_sales WRITE部分でロックしたい対象を選択し、列挙していく。

ロックを解除したい場合は、UNLOCK TABLESを使用する。

$sql='LOCK TABLES dat_sales WRITE,dat_sales_product WRITE';
$stmt=$dbh->prepare($sql);
$stmt->execute();

を$sql='INSERT INTO dat_sales(code_number,name,email,postal1,postal2,address,tel)VALUES(?,?,?,?,?,?,?)’;の処理を実行する前に実行しておく。

こうすることで二つのテーブルにアクセスできるのはロックをかけた人だけになる。最後に接続を解除する前にロックを解除しておく。

$sql='UNLOCK TABLES';
$stmt=$dbh->prepare($sql);
$stmt->execute();

$dbh=null;

次に注文内容をcsvファイルで出力してエクセルで管理できるようにしていく。

スタッフ管理画面にダウンロードメニューを追加する。

<a href="../order/order_download.php">注文ダウンロード</a><br/>

ダウンロードしたい注文日付を選択する画面を作成する。

<?php
session_start();
session_regenerate_id(true);
if(isset($_SESSION['login'])==false){

print 'ログインされていません<br/>';
print'<a href="./staff_login.html">ログイン画面へ</a>';
exit();

}else{

print $_SESSION['staff_name'];
print 'さんログイン中<br/>';
print'<br/>';
}

?>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ログイン</title>
</head>
<body>

ダウンロードしたい注文日を選んでください。<br/>
<form method="post" action="order_download_done.php">
<select name="year">
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>

<select name="month">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>

<select name="day">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>

</select>
日<br/>
<br/>
<input type="submit" value="ダウンロードへ">
</form>

</body>
</html>

これでダウンロードしたい日付を選べるようになった。

年月日の入力プルダウンは便利なので関数化して今後いろいろなところで使えるようにする。

Common.phpのなかに内容を移し替える。

人気の記事

1

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

3

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.