
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラー 1068 (42000): 複数の主...
-
【投稿情報用データベース post...
-
SQLです!!教えてください。あ...
-
本を見ながらPHPを勉強している...
-
mysqlがインストールされている...
-
`picture` varchar(255) のコマ...
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
utf8bomとutf8mb4の違いがいま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql sqlエラー
-
配列の要素でmysqlに問い合わせ
-
PHP+MYSQLで検索画面を作成し...
-
フォームからmySQL-DBにデータ...
-
フォームから送信した値とMySQL...
-
mysql insert文
-
PHP + PDOでデータ登録
-
MySQLからのデータをページに1...
-
PHPにてSQLから取得したデータ...
-
検索結果にリンクを生成
-
プレースホルダを使った複数カ...
-
mysqlの置換について2
-
mysql 接続について
-
検索機能
-
mysql limitページ分割
-
MySQLでの順位付けについて
-
mysql データ更新
-
PDOでDB ページング
-
MySQLカラム名は日本語と英数字...
-
mysqlがインストールされている...
おすすめ情報