htdocsは公共wifiのとこで動かしちゃまずい
ザンプを立ち上げたらサーバが起動してるのと同じなので
世界につながってしまう
狙われたら大変まずい
MACアドレスというのが紐づいているらしい
端末とルータとは勝手に通信している
近くの電波はどこかしらと常にやりとりしていて
ルータにその情報が残っている
端末の中身のチップに刻印されたシリアル番号のようなもの
メーカ番号と製造番号をたしたようなもの
同じ番号がひとつもない
個体識別
その端末の持っているLANカードの情報を特定するための情報
ある一定のおなじMACアドレスが移動している(持ち主が動いている)ことが追跡できてしまう
街を歩いているといろんなルータが拾っちゃうから
コンフィグはこのへんにして
バッチを作りましょう
まだ予約されてないデータを一気に作りたい
4*5ぐらいで20席あることにする
バッチ処理で20席吐き出すのをつくる
toolのなかに保存
管理者が使うものなので
toolフォルダのなかだから../config.phpを参照させリクワイアーする
日付を飛ばされてから作りたいのでif文で分岐
if(empty($_GET["ymd"])){
exit();
}
アドレスにgetと?をつけて日付を飛ばして初めて動くページ
insert文
今回は分けて書く方式でやってみましょう
半角スペース忘れずに
未予約なのでreservedに全席0(reserved/ブーリアン)を挿入
$sql="INSERT INTO seats (ymd,seat_id,reserved)";
$sql.=" VALUES(:ymd,:seat,0)";
$stmt = $pdo->prepare($sql);
座席番号は1番からがふつうなので
forも1からまわす
data型は文字として扱われるのでパラムストラ。
まっしろになってる
よろしい
ここまで
make_seat_data.php
<?php
//?ymd=2020-03-14みたいにurlに追加すると出力
if(empty($_GET["ymd"])){
exit();
}
require_once("../config.php");
$sql="INSERT INTO seats (ymd,seat_id,reserved)";
$sql.=" VALUES(:ymd,:seat_id,0)";
$stmt = $pdo->prepare($sql);
for($i=1; $i<=20; $i++){
$stmt->bindValue(":ymd",$_GET["ymd"],PDO::PARAM_STR);
$stmt->bindValue(":seat_id",$i,PDO::PARAM_INT);
$stmt->execute();
}
?>
http://localhost/php/makino/highwaybus/tool/make_seat_data.php?ymd=2020-3-14
を入れると20件追加される
なおエラーががっつりでていた
forでまわしているから20回怒ってる
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\php\makino\highwaybus\tool\make_seat_data.php on line 16
「無効なパラメーター番号:パラメーターが定義されていません」
はじめてみた
ここが一致してないとこういうエラーがでる
INSERT文のプレイスホルダーの名前と
bindValue側のプレイスホルダーの名前が違っていた
2件ぐらいデータを予約済みにしておく
seat.phpを作成
とりあえず型をつくる
seat.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>座席予約</title>
<link rel="stylesheet" href="css/style.css">
<script src="../jquery-3.4.1.min.js"></script>
</head>
<body>
<div id="container">
<p>
<select id="ymd">
<option value="">日付の選択</option>
<option value="2020-03-14">2020-03-14</option>
<option value="2020-03-15">2020-03-15</option>
<option value="2020-03-16">2020-03-16</option>
</select>
</p>
<div id="front">進行方向↑</div>
<!--座席をプログラムで書き出し-->
<div id="bus"></div>
<p><button id="b1">決定</button></p>
</div>
<script src="js/seat.js"></script>
</body>
</html>