Derzeit sende ich Fehlermeldungen und speichern den Wert meiner Eingabefelder in Sitzungen.PHP Sitzung Array und Eingabe Validierung
Formular Beispiel
<label class="errormsg"><?php echo $_SESSION['msgProductPrice']; unset($_SESSION['msgProductPrice']); ?></label>
<input type="text" name="product_price" value="<?php echo $_SESSION['val_ProductPrice']; unset($_SESSION['val_ProductPrice']); ?>" />
PHP
$Price = $_POST['product_price'];
$errorcount = 0;
if(empty($Price) === true){
$PriceErrormsg = "empty";
$errorcount++;
}
if($errorcount === 0) {
// success
} else {
$_SESSION['val_ProductPrice'] = $Price;
$_SESSION['msgProductPrice'] = $PriceErrormsg;
}
Das funktioniert perfekt mit einem netten Eingabefeld. Wenn ich mehrere Eingabefelder mit demselben Namen versuche, funktioniert es nicht.
Formular Beispiel
<label class="errormsg"><?php echo $_SESSION['msgProductAmount']; unset($_SESSION['msgProductAmount']); ?></label>
<input type="text" name="product_amount[]" value="<?php echo $_SESSION['val_ProductAmount']; unset($_SESSION['val_ProductAmount']); ?>" />
<label class="errormsg"><?php echo $_SESSION['msgProductAmount']; unset($_SESSION['msgProductAmount']); ?></label>
<input type="text" name="product_amount[]" value="<?php echo $_SESSION['val_ProductAmount']; unset($_SESSION['val_ProductAmount']); ?>" />
Dies ist, wo ich bin mir nicht sicher, wie alle Eingabefelder zu validieren, wie der Wert in jedem Eingabefeld zu halten, wenn Sie einreichen getroffen und wie ein errormsg senden über jedes Feld?
PHP
$Amount= $_POST['product_amount'];
$errorcount = 0;
if(empty($Amount) === true){
$AmountErrormsg = "empty";
$errorcount++;
}
if($errorcount === 0) {
// success
} else {
$_SESSION['val_ProductAmount'] = $Amount;
$_SESSION['msgProductAmount'] = $AmountErrormsg;
}
Jetzt zeigt es eine Fehlermeldung angezeigt, aber es sagt nur Array, das gleiche mit dem Wert in meinen Eingabefeldern ein. [Imgur] (http://imgur.com/AY0ZRw8) @UberDoodles – Simon
Wenn Sie die Fehlermeldung wiederholen, müssen Sie ein bestimmtes Element aus dem Array wiedergeben. Z.B. "echo $ _SESSION ['msgProductAmount'] [0];" – UberDoodles
DANKE! Jetzt funktionieren die Nachrichten: D Wie würde ich das mit dem Wert arbeiten? versucht, das gleiche zu tun, aber es funktioniert nicht? ' $ ValueProductAmount = Array(); $ AmountErrorMessage = Array(); foreach ($ Betrag als $ key => $ value) { if (empty ($ value) { $ AmountErrorMessage [$ key] = 'leer'; $ ValueProductAmount [$ value]; } } ' @ UberDoodles – Simon