alienHRNの訓練日記

IT業界初心者で勉強中。

20200917 授業メモ

授業内容

 

 

〇授業内容
osaraicookieより


<?php

setcookie('count'$counttime());
$count = isset($_COOKIE['count']) ? $_COOKIE['count'] + 1 : 1;

$bool = setcookie('count'$counttime() + 5);
// クッキーを削除せるための記述

echo '<pre>';
var_dump($_COOKIE);
echo '</pre>';
echo $count;


// cookie10回リセット装置
// if ($count >= 10) {
//   // 10以上だったらクッキーを削除
//   $bool = setcookie('count', $count, time());
// } else {
//   // 10より小さい場合はクッキーを発行準備
//   $bool = setcookie('count', $count, time() + (60 * 60 * 24 * 10));
// }
?>



<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>cookie練習問題</title>
</head>

<body>
  <div class="box">
    <div class="inner">
      <div class="ad">
        <?php if ($count < 2) : ?>
          <p>ここは広告です</p>

          <h1>問題1</h1>
          <p>この広告を初回アクセス時のみ表示させること</p>
          <h1>問題2</h1>
          <p>「index.php」にアクセス後は「page.php」で広告が表示されないようにすること</p>
          <h1>問題3</h1>
          <p>ページアクセス1分経過後に再度アクセスした際は広告が表示されるようにすること</p>
          <p>「page.php」でも同じルールになるよう修正すること</p>
        <?php endif ?>
      </div>
      <div class="content">
        <h1>index.php</h1>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト<strong>段落テキスト段落テキスト</strong>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>

        <h2>見出し2</h2>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>

        <h3>見出し3</h3>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>

        <h4>見出し4</h4>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>

        <h5>見出し5</h5>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>

        <h6>見出し6</h6>
        <p>段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト段落テキスト</p>

        <p>段落テキスト<strong>太字太字太字太字太字</strong>段落テキスト<em>斜体斜体斜体斜体斜体斜体</em>段落テキスト<a href="https://www.google.co.jp/">リンクリンクリンクリンク</a>段落テキスト</p>

        <ul>
          <li>番号なしリスト</li>
          <li>番号なしリスト</li>
          <li>番号なしリスト</li>
        </ul>

        <ol>
          <li>番号つきリスト</li>
          <li>番号つきリスト</li>
          <li>番号つきリスト</li>
        </ol>
      </div>
    </div>
  </div>
</body>

</html>


〇関数(復習も兼ねて)
<?php

// 関数定義部分
// 3つとも引数1つ
// 戻り値なし

// ①関数定義
// function+関数名(引数($~で記述する))

function attack($name = '名無しさん')
// ↑()内の値に='~'を記述してあげると、呼び出し部分でattack()でもエラーにならずに
// 表示される。
{
  echo $name . 'は攻撃した!!<br>';
}

function guard($name)
{
  echo $name . 'は防御している・・・<br>';
}

function magic($name, $magicName, $reSult)
{
  echo $name . 'は' . $magicName . 'を唱えて' . $reSult . 'した・・・<br>';
}



//便利ツール: デバック用関数
// 内容:preタグ付きでvar_dumpしたい
// 引数:var_dumpさせる変数を受け取りたい
// 戻り値:なし
function d($val)
{
  echo "<pre>";
  echo var_dump($val);
  echo "</pre>";
}

?>


<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>引数あり・戻り値なし関数</title>
</head>

<body>
  <?php
  // ②呼び出し部分

  echo '<h2>1回目の出力</h2>';
  attack('田中');
  guard('佐藤');
  attack('鈴木');

  echo '<h2>2回目の出力</h2>';
  magic('田中''メラム''自滅');

  echo '<h2>3回目の出力</h2>';
  attack();
  // 引数を指定しないとエラーになる。
  // 但し、定義部分で()に記述があればエラーを回避できる。


  // デバック用関数の呼出し
  $array = [102030];
  d($array); //←これは短い記述で呼び出せるので便利!



  ?>
</body>

</html>


〇共通関数読み込み

<?php
require_once 'functions.php';
?>
<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>共通関数読み込み</title>
</head>

<body>
  <?php
  $playerList = [
    ['name' => '田中''life' => 1000],
    ['name' => '佐藤''life' => 500],
  ];

  echo '<h2>1回目の出力</h2>';
  v($playerList);
  ?>
</body>

</html>


----読み込み側---
<?php
require_once 'functions.php';
?>
<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>共通関数読み込み</title>
</head>

<body>
  <?php
  $playerList = [
    ['name' => '田中''life' => 1000],
    ['name' => '佐藤''life' => 500],
  ];

  echo '<h2>1回目の出力</h2>';
  v($playerList);
  ?>
</body>

</html>

----記述側---
<?php
// ↑PHPブロック記述忘れに注意
function v($val)
{
  echo '<pre>';
  var_dump($val);
  echo '</pre>';
}