コンテンツへスキップ

ページトップへ戻るボタン
コピペだけで安易に設置しようとしたら
Font Awsomeの設定が必要だったw

はちとくまのサイトでは
よく肉球使ってるので
同じ仕様にしてしまえばOK

それはHTMLの<head>タグ内に
以下のように記述するだけ

<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

ちゃんと表示されるようにはなったけど
ページのトップに戻れんがなwww

色々やってみたらできた^^

1.ボタンもスクリプトもHTML内に設置
?>と<?phpの間に書くコト

2.スクリプトはボタンより後に設置
最初、スクリプトを<head>タグ内に書いてたのが
不味かったらすぃ・・・^^;

管理画面にlist.phpてのが作ってある

これでフォームを作成して・・・

<h3>リストに追加する</h3>

<form action="input_list.php" method="post">
    <select name="a_z" size="5">
        <option value="">イニシャルを選んでね</option>
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
        <option value="d">d</option>
        <option value="e">e</option>
        <option value="f">f</option>
        <option value="g">g</option>
        <option value="h">h</option>
        <option value="i">i</option>
        <option value="j">j</option>
        <option value="k">k</option>
        <option value="l">l</option>
        <option value="m">m</option>
        <option value="n">n</option>
        <option value="o">o</option>
        <option value="p">p</option>
        <option value="q">q</option>
        <option value="r">r</option>
        <option value="s">s</option>
        <option value="t">t</option>
        <option value="u">u</option>
        <option value="v">v</option>
        <option value="w">w</option>
        <option value="x">x</option>
        <option value="y">y</option>
        <option value="z">z</option>
        <option value="others">others</option>
    </select>
    <br />
    band / artist
    <br />
    <input type="text" name="artist" size="20" maxlength="200" value="" /><br />
    <button type="submit">追 加</button>
</form>

フォームの飛び先のinput_list.phpは
以下のような簡単なプログラムw

<?php
require('dbconnect.php');

$alphabet = $pdo->prepare('INSERT INTO bgm_list SET a_z=?,artist=?');
$alphabet -> execute(array($_POST['a_z'],$_POST['artist']));

header('Location: list.php');
?>

続けて追加できるように
終わったら元のページに戻る仕様

ページの最初には
セッションの仕組みがあって
ログイン状態でなければ
このページ自体が表示不可能で
ログインページに飛ばされるるる~

これで追加できるようになった^^

例えば
以下のような
音源(バンド/アーティスト)のリスト

【A】
ABBA
AC/DC
AEROSMITH
ALICE COOPER
ASIA

【B】
BANGLES
BAY CITY ROLLERS
BILLY IDOL
BLONDIE
BON JOVI
BOSTON

【C】
C.C.R
CACTUS
CHEAP TRICK
CHICAGO
CREAM
CULTURE CLUB
CYNDI LAUPER

【D】
DANGER DANGER
DURAN DURAN
(以下略)

順不同にデータベースに登録しておいて
表示する時はアルファベット順に
自動で並べ替えてくれたら
便利かと^^

まずはMySQLにテーブル(bgm_list)を作成

適宜、データを挿入

次はこれをアルファベット順に
表示するページ(list.html)を作成

データベース接続のための共通プログラム
dbconnect.phpを再利用(共用)

リスト表示はイニシャル毎に
下記のようなプログラムにしてみたら・・・

<h4>A</h4>

<?php

require('dbconnect.php');

$alphabet = $pdo->prepare("SELECT * FROM bgm_list WHERE a_z='a'");
$alphabet -> execute();
while ($row = $alphabet->fetch()) {
        echo $row['artist'] . "<br>";
    }

?>

思惑通りに表示された^^


ログインして会員専用ページを開く

てのが前回の記事

換言すれば
ログインしてない状態では
会員専用ページが見れないようになってて
その仕組みにもセッションが使われてるのだ

というコトは
会員専用ページを増やす時には
同じようにその仕組みを組み込む必要がある

でもこれって実は
管理者がログインした場合に
管理者専用のページを開くために作ってるので・・・

PHPしっかり入門教室

上記の書籍に従ってmember.phpとしたのを
まずはmenu.phpとファイル名を変更して
インクルードするファイルも
合わせてmenu_view.phpにするので
ファイルを開いて以下を変更

// include_once('member_view.php');
include_once('menu_view.php');

そしてmember_view.phpをコピペして
menu_view.phpのファイルを作成したら
各編集画面へのリンクを作成

<!--
<ul>
    <?php foreach($members as $member): ?>
    <li><?php echo html_escape($member['name']); ?></li>
    <?php endforeach; ?>
</ul>
-->
<p><a href="news.php">お知らせ</a></p>
<p><a href="toppage.php">トップページ</a></p>
<p><a href="list.php">リスト</a></p>
<p><a href="food.php">フード</a></p>
<p><a href="drink.php">ドリンク</a></p>

そして各編集画面のページを
構成するPHPファイルを
同じ手順で作成

今回、PHPを学び直したいと思った
1番の理由を突き詰めると
実はPHP5とPHP7の違いってより
これまではPEARライブラリを活用してたのが
これから使ってく自信を失ったせいだ

今年になっていきなり
GIGAZINEの記事で良からぬニュースを読んで・・・

PHPライブラリサービスの「PEAR」でセキュリティ侵害が見つかる

その後どうなったのかと気になってたら
下記の記事が決定打となって・・・

PHP7.4ではPEARがインストールされなくなる

PEARとの決別を決心!

そもそもサーバのPHPを5→7にしたら
それまで表示されてたモノが
空白になってしまったのが発端で
それと言うのもどうやら
MySQLからデータを拾ってこれなくなったようで
その時点でPEARを使い続けるかどうか
既に答えは限りなくNOに近かったのだがね

そういうワケで
MySQLからデータを拾ってくるのに
PEARを使わずにやるってのが
1つ目の課題

WordPressからアップした以下の投稿の本文を・・・

人間は考える葦である

別サイトの次の該当ページに表示したいのだ

筑摩世界文学大系【13/19】デカルト パスカル

以下の書籍のP212~を参考に・・・

よくわかるPHPの教科書 PHP7対応版

まずはデータベース接続のための共通プログラム
dbconnect.phpを作成

<?php
try {
    $db = new PDO('mysql:dbname=データベース;host=接続先ホスト;charset=utf8', 'ユーザ名', 'パスワード');
} catch (PDOException $e) {
    echo 'DB接続エラー:'. $e->getMessage();
}
?>

WordPressの記事の
タイトル(post_title)と本文(post_content)は
同じ wp_post テーブルにあるので
そのテーブルの該当記事のIDを指定して
1行分のデータを取得して
表示するためにHTMLから呼び出す

<div class="wp">
<?php
    require('dbconnect.php');

    $contents = $db->query('SELECT * FROM wp_posts WHERE ID=1'); // ID指定
    $contents->execute();
    while ($row = $contents->fetch()) { // 1行分のデータ取得
?>

<h4><?=$row['post_title']?></h4>
<div class="wp_post"><?=$row['post_content']?></div>

<?php
    }
?>
</div>

WordPressの記事がHTML内に表示された♪

こんな簡単でいんだ?!

なんだ、PEARなんか全然必要なくね?