Php 在foreach循环中显示一次错误消息
我有一个简单的输入字段,使用spreep来更改数据库中的值。错误显示在表单的底部,其中包含错误内容。现在我不想在正确的输入字段后面显示错误。问题在于,输入字段是使用foreach循环动态构建的。因此,当我不想在前端显示错误时,它会在每个同名输入字段之后显示错误。在本例中,我有3个字段带有“afsluitkosten”,如果我只更改一个字段时出错,我不希望它仅显示在匹配的输入字段之后Php 在foreach循环中显示一次错误消息,php,html,foreach,Php,Html,Foreach,我有一个简单的输入字段,使用spreep来更改数据库中的值。错误显示在表单的底部,其中包含错误内容。现在我不想在正确的输入字段后面显示错误。问题在于,输入字段是使用foreach循环动态构建的。因此,当我不想在前端显示错误时,它会在每个同名输入字段之后显示错误。在本例中,我有3个字段带有“afsluitkosten”,如果我只更改一个字段时出错,我不希望它仅显示在匹配的输入字段之后 if (isset($_POST['opslaan'])) { $naam = $_POST['naam
if (isset($_POST['opslaan'])) {
$naam = $_POST['naam'];
$afsluitkosten = $_POST['afsluitkosten'];
$percentage = $_POST['percentage'];
$btw = $_POST['btw'];
$id = $_POST['opslaan'];
if ($afsluitkosten < 15)
{
if ($percentage < 1)
{
if ($btw < 50)
{
$annuleringOpslaan = AnnuleringsverzekeringQuery::create()->findOneById($id);
$annuleringOpslaan->setNaam($naam);
$annuleringOpslaan->setAfsluitkosten($afsluitkosten);
$annuleringOpslaan->setPercentage($percentage);
$annuleringOpslaan->setBtw($btw);
$annuleringOpslaan->save();
$opslaanSucces = "Annuleringsverzekering $naam is opgeslagen";
} else {
$fout1 = "De btw van annuleringsverzekering $naam moet onder de 50 zitten";
}
} else {
$fout2 = "De percentage van annuleringsverzekering $naam moet onder de 1 zitten";
}
} else {
$fout3 = "De afsluitkosten van annuleringsverzekering $naam moet onder de 15 zitten";
}
};
// Gegevens ophalen en laten zien in front end
$annuleringen = AnnuleringsverzekeringQuery::create()
->find();
$annuleringarray = array();
foreach ($annuleringen as $annulering) {
$array["id"] = $annulering->getId();
$array["naam"] = $annulering->getNaam();
$array["afsluitkosten"] = $annulering->getAfsluitkosten();
$array["percentage"] = $annulering->getPercentage();
$array["btw"] = $annulering->getBtw();
$array["fout1"] = $fout1;
$array["fout2"] = $fout2;
$array["fout3"] = $fout3;
array_push($annuleringarray, $array);
};
if(isset($\u POST['opslan'])){
$naam=$_POST['naam'];
$afsluitkosten=$_POST['afsluitkosten'];
$percentage=$_POST['percentage'];
$btw=$_POST['btw'];
$id=$_POST['opslan'];
如果($afsluitkosten<15)
{
如果(百分比<1)
{
如果($btw<50)
{
$annougeringopslaan=annougeringsverzekeringquery::create()->findOneById($id);
$CANGERIGPSLAAN->setNaam($naam);
$annueringopslaan->setAfsluitkosten($afsluitkosten);
$CANGERIGPSLAAN->setPercentage($percentage);
$CANGERIGPSLAAN->setBtw($btw);
$CANGERIGPSLAAN->save();
$opslaanSucces=“annueringsverzekering$naam是opgeslagen”;
}否则{
$fout1=“顺便说一句,凡纳格瑞维泽克林$naam moet onder De 50 ZITEN”;
}
}否则{
$fout2=“从1到10年的百分比变化$naam moet onder”;
}
}否则{
$fout3=“第15条规定的所有费用”;
}
};
//前端的Gegevens Opalen en laten zien
$annougeringen=annougeringsverzekeringquery::create()
->查找();
$annueringarray=array();
foreach($annuering作为$annuering){
$array[“id”]=$CANGERING->getId();
$array[“naam”]=$CANGERING->getNaam();
$array[“afsluitkosten”]=$ringering->getAfsluitkosten();
$array[“percentage”]=$Canneling->getPercentage();
$array[“btw”]=$CANGERING->getBtw();
$array[“fout1”]=$fout1;
$array[“fout2”]=$fout2;
$array[“fout3”]=$fout3;
阵列推送($annueringarray,$array);
};
这是html
<h2>{$doctitle}</h2>
{foreach $annuleringarray as $array}
<form action="annuleringsverzekering_bewerken.php" method="post">
<label for="naam">Naam</label><input name="naam" value="{$array.naam}"><br>
<label for="afsluitkosten">Afsluitkosten</label><input name="afsluitkosten" value="{$array.afsluitkosten}"><span class="error">{$array.fout3}</span><br>
<label for="percentage">Percentage</label><input name="percentage" value="{$array.percentage}"><span class="error">{$array.fout2}</span><br>
<label for="btw">Btw</label><input name="btw" value="{$array.btw}"><span class="error">{$array.fout1}</span> <br>
<button name="opslaan" value={$array.id}>Opslaan</button> <br> <br>
</form>
{/foreach}
<h3 style="color:green;">{$opslaanSucces}</h3>
</body> ```
{$doctitle}
{foreach$annueringarray作为$array}
纳姆
Afsluitkosten{$array.fout3}
百分比{$array.fout2}
顺便说一句{$array.fout1}
Opslan
{/foreach}
{$opslaanSucces}
```
以及以下错误,如将错误传递到阵列:
$errors[] = "Annuleringsverzekering $naam is opgeslagen";
并显示:
if ($errors){
foreach($errors as $error){
//do what ever you want here `echo $error;` or not echo $error;
}
}
如果要在下面显示错误以输入有错误,请检查此示例:
if ($errors){
foreach($errors as $error){
//do what ever you want here `echo $error;` or not echo $error;
}
}