PHPでデータの登録を行っています
いろいろ調べながら試行錯誤しています
登録できる条件があります
1.番号が重複じゃない
2.番号、氏名、住所が空白でない場合です
現状
1.2両方できていてデータも追加されるのですが、
2の条件、空白だった場合エラーメッセージを表示したいのですが表示されず困っています
<?php
$err = "";
if(empty($_POST['ID'])) $err.= "<br><br>番号入力してください。<br><br>";
if(empty($_POST['NAME'])) $err.= "<br><br>氏名入力してください。<br><br>";
if(empty($_POST['ADDR'])) $err.= "<br><br>住所を入力してください。<br><br>";
if(empty($err))
{
$pdo = new PDO("mysql:dbname=db_test;host=localhost", "root", "****");
$st = $pdo->prepare("INSERT INTO tbl_test VALUES(?,?,?)");
$st->execute(array($_POST['ID'], $_POST['NAME'],$_POST['ADDR']));
if($st->rowCount()>0)
{
header('Location: http://localhost/top.php');
}else{
print "既に登録している番号です";
}
echo $err;
}
?>
重複したときは"既に登録している番号です"と表示されるのですが、空白だった場合$errが表示されません
No.1ベストアンサー
- 回答日時:
すくなくとも「echo $err」の位置は変
if(empty($err)){
・・・・
}
の外側もしくは、elseなどで処理しないと
「もし空なら」のブロックの中で表示しようとしても
空かヒットしないかのどっちらかでしょ
それと、しつこいようですがINSERTは「IGNORE」で行わないと
エラーになるので思った処理にならないかもしれませんよ
返事遅くなりすいません。
指摘通り「IGNORE」にしてif文の外側にしたら出来ました。ありがとうございます。いつも助かっています
質問攻めですいません
エラーメッセージをエラーが出たら入力フォームにメッセージを返すことは可能ですか?
可能ならいい参考になるものないですかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームから送信した値とMySQL...
-
フォームからmySQL-DBにデータ...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
MySQLカラム名は日本語と英数字...
-
RPMのmysqlとmysql-serverの違い
-
SQL開発環境ソフトウェアである...
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
旧filemakerで和暦(令和など)...
-
プライマリーキーの昇順でソー...
-
MySQLの型のサイズ指定で速度は...
-
SQLで日本語データを入力したい...
-
Float型の時の計算結果がおかしい
-
TYPE=Inoodbが指定するとワーニ...
-
ローカル以外のMySQLをphpMyAdm...
-
Column '' not found.
-
MySQL sleep が溜まる
-
VBAで変数内に保持された二次配...
-
Btrieveのコンバートしたいので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームから送信した値とMySQL...
-
php+MySqlでの検索ページ
-
プレースホルダを使った複数カ...
-
MySQLからのデータをページに1...
-
pdfファイルの管理システム
-
mysql limitページ分割
-
mysql+php リストボックスにつ...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
ODP.NETのバージョン確認
-
ERROR 1045 (28000) (using pas...
-
like句を使って日本語を検索す...
-
VBAで変数内に保持された二次配...
-
MySQLカラム名は日本語と英数字...
-
INT型は金額の型に使用するべき...
-
プライマリーキーの昇順でソー...
-
Float型の時の計算結果がおかしい
-
RPMのmysqlとmysql-serverの違い
-
ヌル値は記憶容量を必要としな...
おすすめ情報