皆様お世話にあんります。
PHPフォームでMySQLに接続して仮登録しようとしているのですが
Undefined index や variableエラーが出て、画面が真っ白でフォーム送信できない状態になります。
(PHP Notice: Undefined index: mode in。。。)
Undefinedエラーの問題と画面が白くなる問題は分けないといけないかと存じますが、、
下記プログラムのmysqli_fetch_assocの記述の問題でしょうか?
ご多忙のところ恐縮ですが、ご指導ご教示いただければ幸いです。<(_ _)>
ここから----------
require 'define.php';
$msg = " ";
$shop_code = "00";
$s_flg = 0;
$p_flg = 0;
$shop_ff = "" . TAI_A;
$mode = $_REQUEST['mode'];
$rt = $_REQUEST['rt'];
if ($mode == "mode") {
$shop_code = ($_GET['shop_code'] == "" ? $_POST['shop_code'] : $_GET['shop_code']);
$shop_name = ($_GET['shop_name'] == "" ? $_POST['shop_name'] : $_GET['shop_name']);
$shop_ff = ($_GET['shop_ff'] == "" ? $_POST['shop_ff'] : $_GET['shop_ff']);
// DB接続
if (!($cn = mysqli_connect(DBHOST,DBUSER,DBPASSWORD,DBNAME)
)) {
$msg = "DB接続不可"; exit; // DB接続不可
}
$sql = "select * from " . TENPO_TBL . " where shop_code = '" . $shop_code . "' ";
$rs = mysqli_query($cn, $sql);
if (mysqli_num_rows($rs) > 0) {
mysqli_close($cn);
$msg = "既に登録済みです。";
} else {
$sql = "select max(receipt_no) as max_receipt_no from " . TENPO_TBL . " ";
$rs = mysqli_query($cn, $sql);
if (mysqli_fetch_assoc($rs) == "" or is_null (mysqli_fetch_assoc($rs))) {
$max_receipt_no = 1;
} else {
$max_receipt_no = mysqli_fetch_assoc($rs) + 1;
}
$sql = "begin";
$rs = mysqli_query($cn, $sql);
$sql = "insert into " . TENPO_TBL . " values (";
$sql .="0, "; // 仮登録フラグ 正式登録true/仮登録false
$sql .= $max_receipt_no . ", "; // 受付番号 serial
$sql .= "'" . $shop_code . "', ";
$sql .= "'" . $shop_name . "', ";
$sql .= "'" . $shop_ff . "', ";
$sql .= "now(), "; // 登録日時
$sql .= "now() ) "; // 更新日時
if (!($rs = mysqli_query($cn, $sql))) { mysqli_close($cn); $msg = "insert 不可"; exit; }
$sql = "commit";
$rs = mysqli_query($cn, $sql);
// DB切断
mysqli_close($cn);
$msg = "登録しました。";
}
}
No.1ベストアンサー
- 回答日時:
画面が真っ白になる理由は上記コードのみではわからないですが、PHP Notice: Undefined index: mode in..に関しては、$_REQUESTに「mode」というキーが存在しないからだと思います。
この画面に遷移する前の画面で、
<input type="text" name="mode" value="xxx">
のような記述があれば、この問題が発生しないはずです。
以前PostgressSQLで動いていたシステムの当該前ページを見たのですが mode の記述がありませんでした。
$_REQUESTは、PHP7になって厳密になったみたいですね。
ご教示ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Q&Aサイトを作成していてURLの...
-
データベースに存在するデータ...
-
MySQLへの接続
-
MySQLのINSERT時にたまに重複に...
-
【初歩】配列の格納データ数だ...
-
INSERT,DELETEを同時に
-
mysqlの命令文をPDOに書き換...
-
JAVA SQLServerException 列名 ...
-
PHP+SQLite でSELECT文のWHERE...
-
トランザクション処理
-
エクセルVBAについて
-
SQL文の実行に失敗しました???
-
VBAをつかってクエリの情報を抽...
-
PHPでMY SQLの連想配列をリンク...
-
PHP + MySQLを使用して詳細画面...
-
MySQLでshal()関数のエラーがで...
-
SQL文2つ実行
-
SQL文が実行できません
-
エラーの意味と対策
-
PHP+mysqlでSQL文に文字数制限...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JAVA SQLServerException 列名 ...
-
Q&Aサイトを作成していてURLの...
-
<VB.NET>INSERT文でDBにデータ...
-
insert1つの処理でもトランザ...
-
Pro*Cの構文エラー
-
ResultSetインターフェイスでの...
-
データベースに存在するデータ...
-
PHP&MySQLでの文字列+数列の一...
-
VBA ACCESS SQL...
-
phpで複数の検索語を検索対象に...
-
like検索の複数キーワードで、...
-
MySQLのINSERT時にたまに重複に...
-
C# で発生したException.Messag...
-
PHP+PDO+MYSQL で実行されたSQ...
-
PHPのUndefined index や varia...
-
INSERT,DELETEを同時に
-
配列をループさせてUPDATE
-
VB.NET エラーになる箇...
-
php postgres Insert と updat...
-
C#でDBの特定列をUpdate
おすすめ情報