PHPで入力を検証するためのよりスマートな方法を見つけようとしています。配列が空のフィールドを見つけた場合、配列に新しい要素を追加してエラーメッセージを表示する必要があります。
これまでのところ、私は成功していません。
背後にあるコード
$felter = array();
if(isset($_POST['submit'])) {
$produktnavn = $_POST['produktnavn'];
$kategori = $_POST['kategori'];
if( !empty( $felter ) ) {
foreach ($felter as $felt) {
if ($felter == '') {
$fejl = true;
}
}
}
else {
$sql = "UPDATE produkt SET produkt_navn = '$produktnavn', fk_kategori_id = '$kategori' WHERE produkt_id=$id";
mysqli_query($db, $sql);
echo "Produktet blev opdateret";
}
入力フォーム
<input type="text" class="form-control" name="produktnavn" value="<?php echo $produktnavn; ?>">
$felter = array();
空の配列を初期化するコードで始まります。
次に、配列自体を変更せずに、の空でないことを確認します $felter
if( !empty( $felter ) ) {
foreach ($felter as $felt) {
if ($felter == '') {
$fejl = true;
}
}
}
要素がプッシュされていない配列を反復処理しようとしています。また、論理ステートメントif( !empty ($felter))
も期待どおりに機能しません。
テストとして、!emptyをチェックする前に、配列に何かを入れて$felter[] = 'Test word';
から、その下に...(空でない配列を探している場合は、論理チェッカーを使用if(count($felter)) {
して配列を反復処理することができます。foreach ($felter as $felt) { if ($felt == '')
$felter = array();
$felter[] = 'Test word';
if(isset($_POST['submit'])) {
$produktnavn = $_POST['produktnavn'];
$kategori = $_POST['kategori'];
if( count( $felter ) ) {
foreach ($felter as $felt) {
if ($felt == '') {
$fejl = true;
}
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加