忍者ブログ

からすまる日誌

2020031302 予約システム

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2020031302 予約システム

制作課題のexec.phpの問題
 
//$safe_u_name = htmlspecialchars($_SESSION["u_name"],ENT_QUOTES);
 
htmlspecialは出力の時だけの話なのでこの行は意味がないとのこと
 
②セレクト文もおかしいらしい
$sql = "SELECT u_id,u_name FROM users WHERE u_name=:u_name";//ここでプレイスホルダーを使う
$stmt=$pdo->prepare($sql);
print_r($pdo->errorInfo());//無意味だったようだ
//まちがえているのはこの上か??
 
$stmt->bindValue(":u_name",$_SESSION["u_name"],PDO::PARAM_STR);//セッションをいれるのはここ
$res = $stmt->execute();
 
まだ動いてないけどセレクト文としてはこういう感じになるらしい。
追加: あとでわかるがちがったのはここ
 


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>
 
PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30