クッキー   MySQL

現状のぼく: 定義済み関数を使いこなせてない感じがする

 

ユーザー認証

$_SERVER

if (!isset($_SERVER['PHP_AUTH_USER'])){
    header('WWW-Authenticate: Basic realm="Private Page"');
    header('HTTP/1.0 401 Unauthorized');

    die('このページを見るにはログインが必要です');
}else{
    if ($_SERVER['PHP_AUTH_USER'] != $user
        || $_SERVER['PHP_AUTH_PW'] != $password){

        header('WWW-Authenticate: Basic realm="Private Page"');
        header('HTTP/1.0 401 Unauthorized');
        die('このページを見るにはログインが必要です');
    }
}

 

クッキー

setcokie("visited", 1);

$val = $_COOKIE["クッキーの名前"]

$var = $_COOKIE["visited"];   

 

クッキーの削除  有効期限を昔の時間にする

unset($_SESSION['username']);

クライアントは1つのサーバから受け取ることが出来るクッキーは最大20個まで、全体でも合計300個までのクッキーしか保持できないことになっています

 

 mysql

$link = mysql_connect('localhost', 'user', 'pass');

 この指定の仕方初めて見た。

 mysql_error();  エラー文を取得

die(mysql_error());

mysql_select_db

$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
    die('接続失敗です。'.mysql_error());
}

$db_selected = mysql_select_db('database_name', $link);
if (!$db_selected){
    die('データベース選択失敗です。'.mysql_error());
}

// MySQLに対するクエリの発行など

mysql_close($link);

 

mysql_query

 クエリを発行する

$result = mysql_query('SELECT * FROM xxxx');

mysql_fetch_assoc

resource型の値から実際のデータを取り出す

$result = mysql_query('SELECT id, name from xxxx');
$row = mysql_fetch_assoc($result);

 

insertするときはmysql_query に引数で渡す

$sql = "INSERT INTO shouhin (id, name) VALUES (4, 'プリンター')";
$result_flag = mysql_query($sql);

 

 フォームなどから条件を入力してもらってSQL文を作成する時に、SQLインジェクション攻撃などを防ぐ為にパラメータをエスケープしておく必要があります。

mysql_real_escape_string

現在の接続の文字セットで unescaped_string の特殊文字をエスケープし、
mysql_query() で安全に利用できる形式に変換します。バイナリデータを
挿入しようとしている場合、必ずこの関数を利用しなければなりません。
  $value = "'" . mysql_real_escape_string($value) . "'";

 

UPDATE  DELETE

mysql_query関数の結果として成功した場合に TRUE 、エラー時に FALSE を返します