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で表示する感じです。
いじょう。
関連記事
-
海外テーマで文字化け回避したいの巻
テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …
-
WordPressで記事を取得、ループしたいときに-その2
WordPressで記事を取得したいんだけど・・・ WordPressで記事を取 …
-
タクソノミー(ターム)の記事一覧を出したい!
あれ?archive.phpで表示してる・・・? WordPressでカスタムタ …
-
ページ転送したい時に「Redirection」!
ワードプレスの記事で、「別ページに即座に飛んで欲しい」とか、「このページ見せたく …
-
マルチサイトで複数のブログの新着情報を取得したい
WordPressでマルチサイトの新着情報を取りたいなーと思うことがあったのでメ …
-
Sydneyで正方形のアイキャッチ画像を使いたかった話
通常、WordPressでアイキャッチ画像を設定すると、そのサイズでアイキャッチ …
-
外部画像URLもアイキャッチに「Featured Image From URL」
外部画像URLをアイキャッチに出来るプラグインを発見したのでご紹介。 Featu …
-
マルチサイト引越し時の注意
マルチサイト引越の手順でひっかかったので忘備録。 引越し先のWordPressイ …
-
続・WordPress 不正アクセスとの飽くなき戦い
WordPressへの不正アクセスと引き続き戦う、だいすけです。こんにチワワ! …
-
嫁の人用:WordPressで記事を取得、ループしたいときに-その1
WordPressの制御部分の基本です。 主にメインループの事を描かせていただき …