PHPでページの一部の文言だけを更新する方法
2024/07/26
サイトのページの一部だけをブラウザから更新したい、だけどCMSとか入れるほどでもない。
なおかつテキストだけで良いというときのための忘備録。
なお、参考サイトは https://qiita.com/tatsukikane/items/01bd58478ad9eb7ca2fd です。
ありがとうございます。
ディレクトリ分けしておいてログイン機能をつけて運用した方が良いです(SSL+BASIC認証などが簡単です)。
input.php、output.php、success.php、data.txt(はじめは空ファイルでOK)、display.phpの5つで構成しています。
input.php、output.php、success.php、data.txtの4つはeditディレクトリを作り、その中に格納し、
display.phpのみ上位ディレクトリにおいてください。
そうしておけば、editディレクトリ自体にパスワードをかけることも可能で、display.phpのみ閲覧者にパスワード無しで表示させることができます。
input.phpコード例
フォームに前回のデータを読み込み、デフォルト表示(value=での表示)させます。※初回は空白
name属性で付けた名称と下記のoutput.phpの配列要素の項目名と順序は必ず同じにしてください。
また、value属性の $data[xx] の部分も上から順番に0,1,2…と並べてください。
余談ですが、コード内の³はエスケープシーケンスと言って特殊文字表示用です(3乗の表記をしています)。
入力されたデータは送信ボタン押下でoutput.phpに送信されます。
output.phpコード例
フォームから送信されたデータを受け取り、カンマ区切りの文字列に変更し、ファイル(data.txt)に書き込みます。
なお、書き込みは上書き保存なので前回保存したデータは上書きされます。
入力値はエラー処理皆無なので必要な場合はデータの受け取り後にでも行ってください。
27-29行目でファイル書き込み後にページ遷移します。
不必要であればsuccess.phpを使わず、代わりにecho “書き込み完了しました”; みたいな表示をしても良いと思います。
success.phpコード例
success.phpはphpコードは必要でなく、テキストファイルへの書き込み完了したときに表示したいページとします。
特に処理がない場合は普通のHTMLファイルとして
書き込み完了しました。
display.phpコード例
display.phpはeditディレクトリの上位にあるので、data.txtを指定する際はedit/data.txtと指定してください。
読み込んだカンマ区切りデータを配列変換して要素一つずつを$data[0]、$data[1]、$data[2]…という風に格納しています。
格納されたデータをechoで表示する感じです。
いじょう。
関連記事
-
-
タクソノミー(ターム)の記事一覧を出したい!
あれ?archive.phpで表示してる・・・? WordPressでカスタムタ …
-
-
カスタム投稿を使うときのメモメモφ(..)
カスタム投稿タイプとは 通常の「投稿」「固定ページ」等とは違うタイプの投稿方法。 …
-
-
WordPress 不正アクセスとの飽くなき戦い
不正アクセス・・・それはWEB黎明期から行われてきた悪しき犯罪。 これらと日々戦 …
-
-
月別アーカイブページでカテゴリ指定
月別アーカイブページでカテゴリ指定したい・・・ でも、query_postsやW …
-
-
WordPressサーバー移転の順序
自分用に備忘録。 FTPで元サイトをローカルにダウンロード PhpMysqlで元 …
-
-
Limit Login Attempts Reloadedとしてヤツが帰ってきた件
かんたん優秀なセキュリティ、「Limit Login Attempts」 Lim …
-
-
サイトに重大なエラーがありました。と出てきて顔面蒼白になる
WordPressを使っていると稀にこの事象に出くわします。 バックアップが運良 …
-
-
WordPressで自動ログアウトを
本当に自分のための覚え書きになっている当ブログです。こんにちは。 自動ログアウト …
-
-
WordPressで記事のカルーセルスライダー(jQuery的なスライドショー)
WordPressがそれなりにいじれると分かってから、嫁様の私への”こき使いっぷ …
-
-
カスタムフィールドの出力(テンプレート作成)について
表題の通り覚え書き。 テンプレートを作る。page.phpなどを元にしてテンプレ …