🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

766閲覧

共通ライブラリでエラーがでます

lnavi.bex810vh

総合スコア12

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

1クリップ

投稿2020/12/22 07:11

問題となっている部分

以下のエラーが出ます。登録していた画像名をSELECTにて取ってくるプログラムです。何か間違っていると思いますが、自己解決できないので投稿いたしました。

Notice: Undefined variable: after in C:\xampp\htdocs\common\common.php on line 9

環境

xampp3,2,4,PHP7.4.11

実現したいこと

common.phpはほぼすべてのプログラムで参照しているため、原因を特定したい。
<<<
問題発生のソースコード>>>

<?php function sanitize($before) { foreach($before as $key=>$val) { $after[$key] = htmlspecialchars($val,ENT_QUOTES,'UTF-8'); } return $after; } function random_string($length) { $key = ''; $keys = array_merge(range(0, 9), range('a', 'z')); for ($i = 0; $i < $length; $i++) { $key .= $keys[array_Rand($keys)]; } return $key; }

<<<遷移前のソース>>>

47番鯖屋さんログイン中<br /><br /><!DOCTYPE html> <html> <head><meta charset=UTF-8> <title>プロフィール編集</title> </head> <body> <h3>プロフィール編集</h3> <form mthod="post" action="update_profile_check.php"> ハンドルネーム:<br /> <input type="text" name="idol_name_old" style="width:300px" value="鯖屋"><br /> 現在の都道府県名:<br />群馬県<br /> 変更後の都道府県名:<br /> <select name="pref_id"> <option value="" selected>都道府県</option> <option value="0">内緒</option> <option value="1">北海道</option> <option value="2">青森県</option> <option value="3">岩手県</option> <option value="4">宮城県</option> <option value="5">秋田県</option> <option value="6">山形県</option> <option value="7">福島県</option> <option value="8">茨城県</option> <option value="9">栃木県</option> <option value="10">群馬県</option> <option value="11">埼玉県</option> <option value="12">千葉県</option> <option value="13">東京都</option> <option value="14">神奈川県</option> <option value="15">新潟県</option> <option value="16">富山県</option> <option value="17">石川県</option> <option value="18">福井県</option> <option value="19">山梨県</option> <option value="20">長野県</option> <option value="21">岐阜県</option> <option value="22">静岡県</option> <option value="23">愛知県</option> <option value="24">三重県</option> <option value="25">滋賀県</option> <option value="26">京都府</option> <option value="27">大阪府</option> <option value="28">兵庫県</option> <option value="29">奈良県</option> <option value="30">和歌山県</option> <option value="31">鳥取県</option> <option value="32">島根県</option> <option value="33">岡山県</option> <option value="34">広島県</option> <option value="35">山口県</option> <option value="36">徳島県</option> <option value="37">香川県</option> <option value="38">愛媛県</option> <option value="39">高知県</option> <option value="40">福岡県</option> <option value="41">佐賀県</option> <option value="42">長崎県</option> <option value="43">熊本県</option> <option value="44">大分県</option> <option value="45">宮崎県</option> <option value="46">鹿児島県</option> <option value="47">沖縄県</option> </select><br /> <table border="1" cellspacing="1" cellpadding="2"> <tr><td> <img src="http://localhost/idol/mem_img/thum/s00_n7yr8xx5925j7kfhp06o77mx64m5dbbvctga0m4rfjs4q1o6zw.jpg"></td><td><input type="checkbox" name="del_img" value="00"> </td></tr> <tr><td> <img src="http://localhost/idol/mem_img/thum/s01_dne81tkzqhkukfeg1ja42zzokzxpmqxb2okwji0towkexgkuyw.jpg"></td><td><input type="checkbox" name="del_img" value="02"> </td></tr> <tr><td> <img src="http://localhost/idol/mem_img/thum/s02_knhu3qzxnogi1vna5omtnpiz06neyycm7rp0im4x2gffvstjyy.jpg"></td><td><input type="checkbox" name="del_img" value="04"> </td></tr> <tr><td> <img src="http://localhost/idol/mem_img/thum/s03_zq5dsi6274re7dsns1lmmtss6628plk0amasrae0r0da7ozkmy.jpg"></td><td><input type="checkbox" name="del_img" value="06"> </td></tr> </table> <textarea name="appeal" rows="8" cols="20"> 8765</textarea> <input type="button" onclick="history.back()" value="戻る"> <input type="submit" value="送信"> </form> </body> </html>

<<<遷移後のソースコード>>>

47番鯖屋さんログイン中  Notice: Undefined variable: after in C:\xampp\htdocs\common\common.php on line 9 プロフィール確認 変更後のハンドルネーム: Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\idol\update_profile_check.php on line 23 変更後の都道府県 Notice: Undefined variable: val in C:\xampp\htdocs\idol\update_profile_check.php on line 100 Notice: Undefined variable: pref_id in C:\xampp\htdocs\idol\update_profile_check.php on line 101 Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\idol\update_profile_check.php on line 103 NULL Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\idol\update_profile_check.php on line 109

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javahack

2020/12/22 11:21

どこまで自分で調べましたか? 「Notice: Undefined variable」で検索すればいろいろ情報が出てくると思いますが。
otn

2020/12/22 11:50

$after はどこで定義しているつもりですか?
guest

回答1

0

自己解決

自己解決しました。

下記コード7行目の$keyがシングルクォートで囲まれていたため
正常に動作していなかったようです。(作業の過程でシングルクォートを付けたり消したりしたため、問題のコードは下記修正済みコードと同じになっています)

解決方法

$post=sanitize($_POST)をいったん通常の$_POSTに変えてみたら正常に値が取得できました。そこから問題のコードがやはり原因と当たりをつけて試行錯誤して突き止めました。

不勉強で申し訳ございません。ご回答していただいた皆様ありがとうございました。

<?php function sanitize($before) { foreach($before as $key=>$val) { $after[$key] = htmlspecialchars($val,ENT_QUOTES,'UTF-8'); } return $after; }

投稿2020/12/22 22:55

lnavi.bex810vh

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問