カテゴリー
開発環境 ホームページ製作

webpack5のsassにおけるfontawesome

webpack5で、sassのfontawesomeを使うには、npmでダウンロードする。

npm install @fortawesome/fontawesome-svg-core

https://docs.fontawesome.com/apis/javascript

import { library, icon } from '@fortawesome/fontawesome-svg-core'
import { faStar } from '@fortawesome/free-solid-svg-icons';
import { faInstagram } from '@fortawesome/free-brands-svg-icons';


library.add(faStar, faInstagram)

const camera = icon({ prefix: 'fas', iconName: 'camera' })

使い方については、下記リンク先を参照にすること。

https://fontawesome.com/how-to-use/on-the-web/using-with/sass

https://qiita.com/oreo3@github/items/08a350520a1f0eaf6e42

https://helog.jp/framework/bootstrap-sass-customize/

https://web.analogstd.com/tips/posts/css/how2use-font-awesome5.php

下記も参考になりそう

https://nocebo.jp/post-3298

カテゴリー
ホームページ製作

アドセンス広告を画面サイズによってきっちり固定する

アドセンス広告は、レスポンシブ広告でほぼほぼよいが、不満があったので、表示する画面サイズによって、出力する広告のサイズをきっちり固定することにした。

https://support.google.com/adsense/answer/9183363#adv&zippy=%2C%E7%94%BB%E9%9D%A2%E3%81%AE%E5%B9%85%E3%81%94%E3%81%A8%E3%81%AB%E6%AD%A3%E7%A2%BA%E3%81%AA%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E4%BE%8B

広告のサイズについては、下記。

https://support.google.com/admanager/answer/1100453?hl=ja

カテゴリー
ホームページ製作

phpで画面遷移なしにフォーム入力からDBのデータを取ってくるプログラム

phpで画面遷移なしにフォーム入力からDBのデータを取ってくるプログラムの表示側。

$op = filter_input(INPUT_POST, 'select_league');

if ($op === '---') {
  echo 'エリアが選択されていません。<br>';
} else {
  echo 'エリアid:' . $op . '';
}

echo "
<form method='post' action=''>
<select name='select_league'>
<option value='---'  selected>エリア選択</option>
<option value='1'>選択肢のサンプル1</option>
<option value='2'>選択肢のサンプル2</option>
<option value='3'>選択肢のサンプル3</option>
<option value='4'>選択肢のサンプル4</option>
<option value='5'>選択肢のサンプル5</option>
<option value='6'>選択肢のサンプル6</option>
<option value='7'>選択肢のサンプル7</option>
</select>
<input type='submit' value='検索'>
</form>";

actionで、空にすると自分に遷移する。filter_input()は、PHP8から出るエラーを防ぐために必要。filter_input()の戻り値は、初回はNULLが入る。二回目からは、選択されたものが入る。

カテゴリー
ホームページ製作

botを除く

アクセスカウンタでbotを除きたいので、いろいろ試行錯誤してみた。

上記リンク先のようにすればいいけど、今はstr_contains()を使ったほうがいいということなので、少し変えてみた。

$_SERVER[‘HTTP_USER_AGENT’];に変わって、gethostbyaddr($_SERVER[‘REMOTE_ADDR’]);でIPアドレスをホスト名にして、ボットかどうか判別。ボットだと思われるものはarray関数に追加する形にしました。ボットならtrue,ボットではないならfalseが返る。

function isBot(){
  $ua = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  $bot_arr = array(
     "applebot"
    ,"ahrefs.com"
    ,"googlebot"
    ,"msnbot"
    ,"rate-limited-proxy"
  );
  foreach ($bot_arr as $bot_value) {
    if (str_contains($ua, $bot_value)) {
      return true;
    }
  }
  return false;
}

とりあえず、これで運用してみます。

カテゴリー
ホームページ製作

アクセスカウンタのフローチャート

  • ボットかどうか判別する。
  • ボットでないなら、DBからカウント数、ipアドレス、日付を取ってくる。
  • 日付をチェック。違えば、カウント更新、ipアドレス更新、日付更新。終了。
  • ipアドレスをチェック。違えば、カウント更新、ipアドレス更新。終了。
  • 日付、ipアドレスが同じなら、カウント数そのまま。終了。