yii2 wie kann ich auf post Wert
Habe ich folgenden code in meinen controller zu versuchen, um es zu arbeiten, bevor Sie das hinzufügen von Validierung etc
Dieser code ist aus hier allerdings werde ich die Anpassung sowieso
$email = $_POST['Newsletter[email]'];
$session->save_email($email);
//Subscribe User to List
$api_key = new sammaye\mailchimp\Mailchimp(['apikey' => 'xxxxxxxxxxx']);
$list_id = "xxxxxxxxxxx";
$Mailchimp = new Mailchimp( $api_key );
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
$subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => $email ) );
Jedoch bekomme ich die folgende Fehlermeldung (heißt das, dass meine meisten Daten in einem array newbie)
Undefined index: Newsletter[email]
Ist das etwas, was ich brauche, um in meinem yii2 form, so dass anstelle des Feldes name als Newsletter[E-Mail] nur seine E-Mail?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits erwähnt, können Sie entweder
$_POST
oder dierequest
-Objekt.Das Objekt umfasst alles, das in Ihrer Anwendung auf Start. Also ja,
\Yii::$app->request->post()
gibt Ihnen alle eingehende POST-Daten und\Yii::$app->request->post('name')
geben Sie ein einziges. Gleichzeitig mit derget
Funktion.Jedoch angesichts Ihrer code, ist nicht, wie Sie sollten mit Yii. Der name der Variablen deutet darauf hin, dass der post erfolgt durch ein Modell, so möchten Sie vielleicht zu verwenden, dass macht es viel einfacher auf die Validierung.
Wenn Sie nicht das Modell, es kann ungefähr so Aussehen:
Den eigentlichen code in Ihr controller könnte mehr zwischen den Zeilen:
Können Sie dies tun, wie folgt:
Bedeutet es, es in ein array.
Versuchen Sie Folgendes statt :
Wenn das HTML-Formular-Feld ist wie unten
dann den code mit in-controller sollte
Sollten Sie einfach versuchen
$_POST['Newsletter']['email']
.