ダラーアンダーバーポストで送られてきたものを受け取りますよ
こういうの(だらーあんだーばーから始まる変数)をスーパーグローバル変数といいますよ(異なるページ間で使える特別な変数のこと)
var_dump();
バーダンプ
コンソールログみたいに、どーゆーのが飛んできたか調べるためのもの。チェック用でしかない。デバッグ用のコマンド。
print_r();
こっちもデバッグ用らしい。バーダンプの方が詳しくはでてくる
$_POSTや$_GETは、送り元の「form」がどっちで送ってきたかで決まる。
このなかの連想配列が本体のデータになる。
連想配列のキーとして、送り手側のname属性がついているやつを使う。
これにアクセスしないと飛んできたデータにアクセスできませんよと
もしちゃんと受け取れないようなら、キーの部分(送り元のname属性)のスペルが違うということがありうる。
<?php
//var_dump($_POST);
//print_r($_POST);
echo $_POST["s_name"];
?>
ただほんとーはこういうechoはしてはいけないらしい。
名前が書かれる想定でも、タグを書く不届き物がいるかもしれない。
<a href="warui_site">click</a>
とか書かれるとたいへんまずい
echoというのはhtmlのタグを書くためにあるので
無害化をしてからじゃないとエコーしてはいけませんよと
DBへの接続情報
まりあDBさんに接続するときも「私はだれそれで、」というのをやりましたね
そういうのをやらないといけませんよと
ザンプの環境下でつかえる唯一のユーザーはrootさんになる
現実のシステムではrootを指定したりパスを""と書く人はいない。
rootユーザでなにかふるまってはいけない。リスクがむたくたすぎる
・あなたはだれ
・パスワードは何だ
・ホスト名をください(IPあどれすまたはどめいんをくださいが普通)(ホスト/独立したコンピュータ1台1台をいう/ホスト名という/サーバですら1台のこんぴゅーただからホストと呼ぶ)
・どのDBに用があるんですか?(データベース名)
localhostというのが「ここ」のhostになる
この4つがデータベースにアクセルするには毎回書くのが必須になる
--->insert_s.php
<?php
//DBへの接続情報
$user = "root";
$pass = "";
$host = "localhost";
$dbname="school";
?>
可読性が高い
拡張性(移設性が高い)
この2つがだいじ
教科書p273
PDOオブジェクトを作るときは2つの項目
dsn:
データソースネームの略
接続をするために必要な文字列を組み合わせたソースの名前のこと
これを作るのが一番面倒らしい
どういうDBにどういうふうに接続したらいいかという情報らしい
1.DBの種類名を宣言する
「mysqlなんですがね、」
mysql:
これがオラクルのデータベースだったらoracle:になるらしい
2.項目名=値セミコロン3連発
順番はどうでもいい
host=
dbname=
charset=(文字コード)
$dsn = "mysql:host=値;dbname=値;charset=値";
もうすでに上の行で宣言しているから、
そのまま使えばいいらしい
どこからどこまでが変数なのかわかるように{}でくくってもやりましょう
$dsn = "mysql:host={$host};dbname={$dbname};charset=utf8";
注意!!!
データベースにはハイフンを使えませんよ
よって、
utf-8と記述はできない
utf8とかきましょう
うっかりハイフン入れると100%文字化けするらしい