PHP | Get input name durch $_POST[]
HTML-Beispiel:
<form method="post" id="form" action="form_action.php">
<input name="email" type="text" />
</form>
Benutzer füllt Eingabefeld mit: [email protected]
echo $_POST['email']; //output: [email protected]
Den Namen und den Wert jeder Eingabe in das Formular an den server senden.
Gibt es einen Weg, um die name-Eigenschaft?
So etwas wie..
echo $_POST['email'].name; //output: email
BEARBEITEN:
Zu klären einige der Verwirrung über meine Frage;
Die Idee war die überprüfung jeder Eingabe dynamisch über einen Schalter. Verwende ich eine separate Validierung Klasse zu halten alles sauber. Dies ist ein kurzes Beispiel für mein Endergebnis:
//Main php page
if (is_validForm()) {
//All input is valid, do something..
}
//Separate validation class
function is_validForm () {
foreach ($_POST as $name => $value) {
if (!is_validInput($name, $value)) return false;
}
return true;
}
function is_validInput($name, $value) {
if (!$this->is_input($value)) return false;
switch($name) {
case email: return $this->is_email($value);
break;
case password: return $this->is_password($value);
break;
//and all other inputs
}
}
Dank raina77ow und alle anderen!
array_keys($_POST)
- Sie wissen, dass die array-Schlüssel ist eigentlich die
name
, so dass, wenn Sie wissen, der Schlüssel, warum würden Sie brauchen, zu tun? Vielleicht können Sie vorschlagen, was Sie zu tun versuchen. - Siehe mein Kommentar unten zur Verdeutlichung 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Prozess $_POST in
foreach
Schleife um die beiden Namen und deren Werte, so wie hier:Aber du bist nicht in der Lage zu Holen die name-Eigenschaft von
$_POST['email']
Wert - es ist eine einfache Zeichenfolge, und es speichert nicht seine "Herkunft".Wenn Sie es machen wollten dynamisch, aber Sie könnten es so machen:
Schleife Ihre
object/array
mitforeach
:Oder verwenden Sie
var_dump
oderprint_r
zu debug-große Variablen wiearrays
oderobjects
:Oder
Eigentlich ich etwas gefunden, das könnte für Sie arbeiten, haben Sie einen Blick auf diese-
http://php.net/manual/en/function.key.php
Diese Seite sagt, dass Sie den code unten
würden Ihnen die Ausgabe,
fruit1
fruit4
fruit5
So einfach ist das.
aktuellen(array_keys($_POST))
sollte Ihnen das, was Sie suchen. Noch nicht getestet, aber.
Schön ordentlich Möglichkeit zu sehen, den form-Namen, oder wird eingereicht werden
Senden Sie uns einfach Ihre form zu diesem Skript, und es wird Ihnen zeigen, was eingereicht wird.
Können Sie mit einer foreach-Schleife, um alle Werte, die gesetzt sind.
Ihrem Beispiel
würde Sinn machen, da Sie bereits wissen, den Namen des Wertes, auf den Sie zugreifen?
$k=>$v