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で表示する感じです。
いじょう。
関連記事
-
サムネイルをいちいち入れるのめんどくさい人に Default Thumbnail Plus
めんどくさがりやーな「だいすけ」です。 こんにちは。 WordPressのサムネ …
-
WordPressの管理画面が重くなったら(WPML使用サイト向け)
はっきりとした原因は不明なのですが、WPMLを入れていたWordpressサイト …
-
WordPressでよく使う新着記事表示のコード
ほんとによく使うので覚え書き。 ちなみにマルチサイトをまたがって新着を取得する場 …
-
マルチサイト引越し時の注意
マルチサイト引越の手順でひっかかったので忘備録。 引越し先のWordPressイ …
-
別ページのカスタムフィールドの値を取りたいときー
トップページにカスタムフィールドの値を出したい時ってありますよね? そんな時は固 …
-
WP_Queryの使い方
WP_Queryの使い方はちょくちょく忘れますので忘備録。 WP_Queryの使 …
-
All-in-One Event Calendarでエラー「イベントの取得中に何かがうまくいきませんでした。」
使い慣れないプラグインは変なことが起こるのでびっくりデスよ。 表題のエラーが起こ …
-
月別アーカイブページでカテゴリ指定
月別アーカイブページでカテゴリ指定したい・・・ でも、query_postsやW …
-
WordPress 不正アクセスとの飽くなき戦い
不正アクセス・・・それはWEB黎明期から行われてきた悪しき犯罪。 これらと日々戦 …
-
テーマの自動アップデートがイヤな場合は
最近梅の花がとってもきれいに咲いてますね。 春の訪れを感じながら仕事に追われる「 …