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

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

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

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アドレスが同じなら、カウント数そのまま。終了。
カテゴリー
ホームページ製作

font awesome6をSCSSで使うときの注意点

font awesome6をscssで使ってみたら、正しく理解してないところがあった。とりあえずダウンロード。今日現在は、6.4.0だった。

下記のサイトの通りであるが、分かりにくかったところ。

https://qiita.com/sota_shimizu/items/8746aaf0c2d29bcba6e2

ポイント

  • $fa-font-pathは、cssファイルから、webfontsまでのパスを書くこと。
  • webfontsファイルも一緒にサーバーにアップロードすること。

$fa-font-path:”../webfonts”;と書かれているが、実際にcssファイルが置かれているところからwebfontのパスが違えば変更すること。_variables.scssに書く必要もない。

index.htmlファイルはこんな感じ。

scssファイルはこんな感じ。cssファイルからwebfontsへのパスを正しく書く。疑似要素の書き方は、以前とさほど変わらず。

index.htmlのフォルダ構成はこんな感じ。cssファイルも同じフォルダに置いた。webfontsファイルは、ダウンロードしたfontawesomeファイルにあるので、コピーした。

index.htmlファイルを開いてみます。

無事、font awesome6のアイコンが反映されてました。unicodeを使っても、アイコンが反映されてました。

それから、_variables.scssの不要なところを削除すると、作られるcssファイルが軽くなります。