
下記のプログラムを実行するとWarning: Undefined array key "C_num" in C:\xampp\htdocs\customer\c_regi_veri.php on line 2というエラーが出てきます。
DBのC_numはPRIMARYKEYにしています。
DBの設定がいけないでしょうか?
それともプログラムがいけないでしょうか?
分からなくなってきました。
最初のプログラムはエラーの出た部分を表示します。
<?php
$C_num = $_GET['C_num']; <ーーーエラー部分
$C_name = $_GET['C_name'];
$C_phon = $_GET['C_phon'];
$C_sa = $_GET['C_sa'];
?>
下記のプログラムは遷移元のプログラムです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta charset="utf8">
<meta name="viewport" content="width=device-width">
<title>顧客登録</title>
<link rel="stylesheet" href="ser_style.css">
</head>
<body>
<div class="content">
<script type="text/JavaScript">
function check0()
{
txt = document.form1.C_num.value;
n = txt.length;
if (n > 6) alert("6文字以内で入力してください");
}
function check1()
{
txt = document.form1.C_name.value;
n = txt.length;
if (n > 10) alert("10文字以内で入力してください");
}
function check2()
{
txt = document.form1.C_phon.value;
n = txt.length;
if (n > 11) alert("11文字以内で入力してください");
}
function check3()
{
txt = document.form1.C_sa.value;
n = txt.length;
if (n > 50) alert("50文字以内で入力してください");
}
function check4()
{
txt = document.form1.C_num.value;
n = txt.length;
if (n == "") alert("顧客番号に未入力がありました");
}
function check5()
{
txt = document.form1.C_name.value;
n = txt.length;
if (n == "") alert("顧客名に未入力がありました");
}
function check6()
{
txt = document.form1.C_phon.value;
n = txt.length;
if (n == "") alert("顧客電話番号に未入力がありました");
}
function check7()
{
txt = document.form1.C_sa.value;
n = txt.length;
if (n == "") alert("顧客住所に未入力がありました");
}
</script>
</form>
<h1>顧客登録</h1>
<form action="c_regi_veri.php" method="GET" name="form1" onSubmit="return formcheck()">
<div class="control">
<label for="C_num">顧客番号(半角数字のみ入力可)<span class="required">必須</span></label>
<input pattern="[1-9][0-9]*" id="C_num" type="number" name="C_num" value="" onChange="check0() , check4()">
</div>
<div class="control">
<label for="C_name">顧客名(全角文字のみ入力可)<span class="required">必須</span></label>
<input pattern="[^\x20-\x7E]*" id="C_name" type="text" name="C_name" value="" onkeyup = "this.value = this.value.replace(/[ -~1234567890]/g, '')" onChange="check1() , check5()"/>
</div>
<div class="control">
<label for="C_phon">顧客電話番号(半角数字のみ入力可、11桁まで入力可、ハイフンなし)<span class="required">必須</span></label>
<input pattern="^[0-9]+$" id="C_phon" type="tel" name="C_phon" value="" onChange="check2() , check6()">
</div>
<div class="control">
<label for="C_sa">顧客住所<span class="required">必須</span></label>
<input id="C_sa" type="text" name="C_sa" value="" onChange="check3() , check7()">
</div>
<div class="control">
<input type="submit" value="登録">
</div>
</form>
<form action="menu.php" method="GET">
<div class="control">
<input type="submit" value="メニューへ">
</div>
</form>
</div>
</body>
</html>
No.2ベストアンサー
- 回答日時:
C_numという名前のGETパラメーターがないからです。
正しくはisset()でその名前のパラメーターがあるかどうかを判断して処理すべきです。
https://www.php.net/manual/ja/function.isset.php
加えて、文字列であることを検証するにはis_string()、空かどうかの検証にempty()を特徴を捉えた上で活用します。
https://www.php.net/manual/ja/function.is-string …
https://www.php.net/manual/ja/function.empty.php
警告やエラーは、それだけ問題となっている部分がある表れなので、無視すべきではありません。
場合によってはWebサーバーのログとしても出力され、無視できるものではなくなります。
あまりPHPの入口すら理解できていないようなら、初心者向けの参考書で学習されるといいかもしれません。
回答ありがとうございます。
issetで何とか上手く行きましたが、下記のプログラムのC_numだけクリアされるのですが、記述はこれであっているのでしょうか?
比較のため二つ載せておきます。
value=
"<?php if(isset($_GET['C_num'])){print($_GET['C_num']);}?>">
value=
"<?php if(isset($_GET['C_name'])){print($_GET['C_name']);}?>" >
No.3
- 回答日時:
クリアするようなコードではないため、本当にその値は渡ってきているのか?他のコードが邪魔してクリアしていないか?をご確認ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでじゃんけん勝負
-
PHP・MYSQLで複数のチェックボ...
-
フォームでのリセットを使う方法
-
画面が更新されてもチェックボ...
-
ラジオボタンをsessionで使いたい
-
PHPでユーザー情報を入力して簡...
-
$_SESSIONについて教えて下さい。
-
サーバへのアップロードが出来...
-
同じページでフォームデータを...
-
ラジオボタンを押すと、表示が...
-
PHP ボタンが押されたら処理を...
-
チェックボックスの内容が送信...
-
チェックボックスでの送信
-
POSTデータのNAME属性をVALUEに...
-
PHPでクリックするたびに変数を...
-
PHPの初心者です。現在チェック...
-
コードの何が間違っているのか...
-
複数のラジオボタングループを...
-
HTMLのリンクをクリックするこ...
-
PHPでMP3サーバを作るには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
<input type="hidden" >で配列...
-
フォームへの前回入力値をクリ...
-
PHP ボタンが押されたら処理を...
-
DBの値をチェックボックスに反...
-
パラメーターを隠す
-
【PHPチェック】ラジオボタンが...
-
PHPで画像の渡しが上手く行きま...
-
テキストボックスに初期値を入れる
-
ラジオボタンをsessionで使いたい
-
ラジオボタンを押すと、表示が...
-
入力フォーム→確認画面→送信画...
-
PHPの関数実行
-
PHPで、ボタンを押すと同じペー...
-
画面が更新されてもチェックボ...
-
HTMLフォームで複数選択のチェ...
-
<input type='checkbox'>要素で...
-
同じページでフォームデータを...
-
$_SESSIONについて教えて下さい。
おすすめ情報