アンケートフォームを作る勉強をしています。
氏名やメールアドレスなどが未記入の場合にエラーとして登録できないようにするにはどうしたらいいでしょうか
PHPの勉強をはじめてまだ数日なので参考書片手にやっている状態なのですが
is_nullというのがあったので
<?php
if(is_null($_POST['name"])){
print("<p>ERROR:氏名が未記入です。<br>");
}else{
$result1=($_POST['t_fname']);
}
?>
こんな具合にやってみたのですがうまく動きませんでした
どのようにやったらいいかアドバイスお願いします。
No.2ベストアンサー
- 回答日時:
tabun0622さんはじめまして、papillon68と申します。
氏名やメールアドレスを入力する部分を
<input type="text"・・・>
で作成していると推測しての回答です。
◆text(テキスト)
submitが押されるとその時入力されている値が送信されます。
未入力の場合は空白です。("")
◆select、option(コンボボックス)
submitが押されるとその時選択中のvalueが送信されます。
◆checkbox(チェックボックス)
submitが押されるとチェックが入っていればvalueが送信され、チェックが入っていなければそのチェックボックス自体は送信されません。
$_POST['チェックボックスのname']が未定のような感じです。
◆radio(ラジオボタン)
submitが押されると選択されているラジオボタンのvalueが送信され、チェックが入っていなければそのラジオボタン自体は送信されません。
◆submit(サブミット)
押されたサブミットボタンのみが送信されます。
ですので、
> if(is_null($_POST['name"])){
の場合ですと
if($_POST['name'] == "") {
とすると未入力かどうかが判断できます。
チェックボックスやサブミットボタンの場合ですと
if(isset($_POST['name']))
とすると送信されたかどうかが判断されます。
この方法はよく使われているように思います。
例えば、以下のようにするとサブミットボタン(send)がおされなければ、登録処理は行われません。
--------------------------------------------------
<?php
// sendが押されたかどうか
if(isset($_POST['send'])) {
// nameが未入力ではないか
if($_POST['name'] == "") {
print("<p>ERROR:氏名が未記入です。<br>");
}else{
$result1=($_POST['t_fname']);
}
}
?>
<form>
氏名:<input type="text" name="name">
<input type="submit" name="send">
</form>
--------------------------------------------------
papillon68さんはじめまして。
親切なアドバイスありがとうございます。
nameが空白("")だったらエラーメッセージを出す
という考え方でよかったんですね
確かにそちらのほうが後からみたときにも
わかりやすいかもしれませんね。
参考のソースを元にもういちど作り直してみます
手元にある参考書にはissetに関して記されてなかったので
もう少し詳しく書いてある参考書も手に入れてみようと思います。
No.1
- 回答日時:
$a=''
の場合、is_null($a)は false になります。
empty($a) や $a=='' が true になります。
参考URLにもサンプルがあります。
参考URL:http://jp2.php.net/is_null
なるほど!
だからいっつもfalseのほうしか実行されないんですね
is_nullについて根本的に考え方をちょっと間違えていたみたいです。
紹介してもらったアドレスを参考に
もういちど確認してみようと思います。
アドバイスありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームボタンを押すたびに数...
-
Javascript→PHPに...
-
phpの掲示板で新しい順に表...
-
DBの値をチェックボックスに反...
-
PHP ボタンが押されたら処理を...
-
POSTデータのNAME属性をVALUEに...
-
ラジオボタンを押すと、表示が...
-
HTMLで前の画面に戻る時、入力...
-
変数の書き方について
-
PHPの関数実行
-
<input type="hidden" >で配列...
-
【HTML(PHP?)】複数のフォーム...
-
入力フォーム→確認画面→送信画...
-
検索後にチェックボックスのON/...
-
リストボックス 複数選択のデ...
-
extract($_POST)
-
チェックボックスを使った複数...
-
$_POSTを連想配列で取得したい!!
-
PHPで画像の渡しが上手く行きま...
-
テキストボックスに初期値を入れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
検索時の選択内容を保持する方法
-
PHP ボタンが押されたら処理を...
-
HTMLのリンクをクリックするこ...
-
フォームへの前回入力値をクリ...
-
PHPで画像の渡しが上手く行きま...
-
UPDATEの記述について
-
POSTデータのNAME属性をVALUEに...
-
ラジオボタンをsessionで使いたい
-
テキストボックスに初期値を入れる
-
画面が更新されてもチェックボ...
-
PHPでクリックするたびに変数を...
-
DBの値をチェックボックスに反...
-
同じページでフォームデータを...
-
smartyでチェックボックスをチ...
-
入力フォーム→確認画面→送信画...
-
チェックボックスによる検索(...
-
パラメーターを隠す
-
【PHPチェック】ラジオボタンが...
おすすめ情報