Ich bin mir sicher, dass ich das falsch mache, also bin ich hier um zu fragen.Senden von doppelten Namenswerten in einem PHP-Formular
Ich habe ein Formular, das mehrere HTML-Formular sendet $_POST
Schlüssel (name
Attribut) und Werte (value
Attribut).
Das sieht HTML wie folgt aus:
<input type="text" value="0" name="Quantity">
ich einige jQuery Multiplikation Preis von Quantität haben und sie in die Form einreichen.
.
Dieser Teil funktioniert gut. Dann sende ich beim Senden des Formulars einfach alle Daten und sende sie mit durch. Vereinfachtes Beispiel ...
$('form').on('submit', function (event) {
event.preventDefault();
var formValues = $(this).serialize();
$.ajax({
type: 'POST',
url: 'send.php',
data: formValues
});
});
Und die PHP sieht wie folgt aus
foreach ($_POST as $key => $value) {
$message .= $key.': '.$value. "\n";
}
Also, alles richtig funktioniert (vereinfacht!) - das JavaScript aufaddiert alle Mengen und sendet sie an den PHP. Mein einziges Problem ist, dass Sie nicht mehrere name
Attribute senden können, also muss ich sie für jede Eingabe ändern.
Also, ich denke, meine Frage ist, wie man das Namensattribut zu etwas besser lesbar in einer E-Mail ändern.
Mit anderen Worten, sendet die E-Mail, wie:
- Produkt 1
Menge1: 10
Produkt 2
- Quantity2: 12
und ich möchte es einfach sein ...
- Produkt 1
Menge: 10
Artikel 2
- Menge: 12
Ihre Frage ist wirklich unklar. Was brauchst du eigentlich? Brauchen Sie eine Namenskonvention für die Menge? – Akshay
Ich weiß nicht, wie Sie in JS darauf zugreifen würden, aber um ein Array in PHP zu bekommen, benutzen Sie 'name =" Quantity [] "'. Dann können Sie das '$ _POST ['Quantity']' Array loopen. – AbraCadaver
In der E-Mail sendet es als "Quantity1: x, Quantity2: y'. Ich möchte es nur" Quantity "sagen, egal was. –