宜しくお願いします。
書籍を参考にして、PHPにて問い合わせフォームを作成しております。
初心者のレベルです。
問い合わせフォームに入力されたデーターの、
エラーチェック処理について、1点不明なところがあり、質問させて頂きます。
コメント入力欄があり、そこは1000文字以内で必須入力してもらいます。
そのためエラーチェックとして、下記のコードが書籍にあります。
function erro_check($check_data){
if(isset($check_date["comment"]) && $check_date["comment"]= = ="") {
$error_list[ ]="コメントを入力してください。";
}elseif(trim($check_date["comment"]) = = =""){
$error_list[ ]="コメントを入力して下さい。";
}elseif(mb_strlen($check_date["comment"]) > 1000){
$error_list[ ]="コメントは1000文字以内で入力してくださ い。";
}
return $error_list;
}
空文字入力のチェックが二度にわたって行われているような気がします。最初のif判定だけで、十分なような気が・・・。
もしくは、
if(isset($check_data["commento"]) && trim($check_data["comment"]) === ""){
...
}
とすればいいのでは?と。。。
でも書籍の中のコードは、何か意味があってのものだと思います。
どなたか宜しくご教授くださいませ。
お願いします。
No.1ベストアンサー
- 回答日時:
> 最初のif判定だけで、十分なような気が・・・。
> if(isset($check_date["comment"]) && $check_date["comment"]= = ="") {
これは、「何も入力していない」の判定。
> }elseif(trim($check_date["comment"]) = = =""){
これは、「入力したけれど、内容が空白だけ」の判定。
というわけで、両方あることには意味があると思います。
なお、
> if(isset($check_data["commento"]) && trim($check_data["comment"]) === ""){
もしもこのように書くとすれば、演算子は&&ではなくて||だと思います。
有難うございます。
つまり、
最初のifでは、何も入力されずにPOSTされた場合の処置ですね。
なにも入力されずにPOSTされると、空文字がセットされるようです。
そして、2番目のifは、コメント欄に何かが入力されたのはされたが、
空白文字だけで埋められた場合に反応するような処置ですね。
じつに微妙な判定文だなと、初心者レベルで印象に残りました。
お答え有難うございました。
No.2
- 回答日時:
確かに冗長なコードですね。
それぞれの条件式に意味はありますが・・・
isset($check_date["comment"]) は、変数自身が設定されているか。
$check_date["comment"]==="" は、空文字列か。
trim($check_date["comment"]) ==="" は空白だけでできているか。
ただ、PHPに限って言えば、emptyを使って
if(empty(trim($check_data['comment'])))
で十分です。
お答え有難うございます。
色々と勉強になりました。
empty()は、初めてみかけました。
これまた調べてみます。 有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPSpreadsheetを使って関数を...
-
アマゾンのような評価の星を選...
-
phpでcookieがうまく保存されない
-
index.phpって何ですか? 具体...
-
これの対応OSを教えて下さい。p...
-
PHP8を使うと、大量のWarningが...
-
Q&Aサイトを作成していてURLの...
-
PHPのセッション有効期限について
-
ワードプレスサイト PHP8.0.25...
-
index.phpに入るには、どうすれ...
-
SFTPなどは使わないホームペー...
-
ファイルアップロードに関して...
-
ファイルアップロードの上限を...
-
php 完了画面の送信メールのコ...
-
phpのメールフォームの完了画面...
-
入力した部分を表示させたまま...
-
phpでPEAR::DBを使っているので...
-
awsにApacheとPHPを入れて、何...
-
掲示板のセキュリティについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLで月ごとの数量を表...
-
PHPとMysqlを使用した集計表の...
-
【PL/SQL】DATE型の時刻の表示...
-
JOINを使った文で、date > now();
-
日替わりメッセージを表示させ...
-
更新履歴を古い順に表示させる...
-
UNIXの時間はどう変更すれ...
-
掲載日と更新日の管理の仕方
-
現時刻とjson(オブジェクト形...
-
MySQLのUPDATE文でサブクエリ
-
php mysql データ登録
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
<SQL>重複しているデータの場合...
-
エクセルのソートについて
-
【PL/SQL】FROM区に変数を使う方法
-
単一グループのグループ関数で...
-
count関数の値をwhere句で使用...
-
複数のテーブルから値を合計出...
おすすめ情報