Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn PHP keine Formulardaten empfangen kann?
PHP ist eine weit verbreitete Skriptsprache, die häufig für die serverseitige Programmierung verwendet wird. Die Verarbeitung der von Benutzern übermittelten Formulardaten kann einfach mit PHP implementiert werden. Manchmal stoßen wir jedoch auf ein solches Problem: Die im Formular im FormData-Format übermittelten Daten können nicht im PHP-Code empfangen werden. Wie kann man dieses Problem lösen?
Zunächst müssen wir die Formularübermittlungsmethode im FormData-Format verstehen. FormData ist eine neue API zum Erstellen von Formulardaten, die Formulare verarbeiten kann, die komplexe Datentypen wie Text, Dateien, Binärdaten usw. enthalten. Wenn Sie FormData zum Senden von Formulardaten verwenden, müssen Sie die POST-Methode verwenden.
Zum Beispiel können wir den folgenden Code verwenden, um ein FormData-Objekt zu erstellen, das Text und Dateien enthält:
var formData = new FormData(); formData.append('name', 'Bob'); formData.append('file', fileInput.files[0]);
Wobei „Name“ der Name des Formularelements ist, „Bob“ sein Wert; „Datei“ ist die Datei Upload-Steuername, fileInput.files[0] sind die Daten der Datei. Sie können das XMLHttpRequest-Objekt verwenden, um ein FormData-Objekt an den Server zu senden, bevor das Formular gesendet wird.
In PHP ist es normalerweise kein Problem, das $_POST-Array zu verwenden, um von einem Formular übermittelte Daten zu empfangen. Wenn das Formular jedoch das FormData-Format zum Senden von Daten verwendet, müssen Sie das Array $_FILES verwenden, um die Daten zu empfangen. Das Array $_FILES enthält Informationen zu hochgeladenen Dateien.
Zum Beispiel können wir den folgenden Code verwenden, um die von FormData in PHP übermittelten Daten zu empfangen:
$name = $_POST['name']; $file = $_FILES['file'];
Darunter ist $name der Wert des Formularelements „name“; $file ist die Information der hochgeladenen Datei.
Wenn das Problem besteht, dass FormData nicht empfangen wird, können Sie die folgenden Lösungen ausprobieren:
Zusammenfassung:
Um von FormData in PHP übermittelte Daten zu empfangen, müssen Sie das Array $_FILES anstelle des Arrays $_POST verwenden. Wenn das Problem besteht, dass FormData nicht empfangen wird, müssen Sie den Formularanforderungsheader, die PHP-Konfiguration, die Größenbeschränkung für Upload-Dateien, den Datei-Upload-Pfad und andere Einstellungen überprüfen.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP keine Formulardaten empfangen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!