Maison > développement back-end > Problème PHP > Que dois-je faire si php ne peut pas recevoir de données de formulaire ?

Que dois-je faire si php ne peut pas recevoir de données de formulaire ?

PHPz
Libérer: 2023-04-04 20:36:01
original
1273 Les gens l'ont consulté

PHP est un langage de script largement utilisé, souvent utilisé pour la programmation côté serveur. Le traitement des données de formulaire soumises par les utilisateurs peut être facilement mis en œuvre à l'aide de PHP. Cependant, nous rencontrons parfois un tel problème : les données soumises dans le formulaire au format FormData ne peuvent pas être reçues dans le code PHP. Alors, comment résoudre ce problème ?

Tout d'abord, nous devons comprendre la méthode de soumission de formulaire au format FormData. FormData est une nouvelle API de création de données de formulaire, capable de gérer des formulaires contenant des types de données complexes tels que du texte, des fichiers, des données binaires, etc. Lorsque vous utilisez FormData pour soumettre des données de formulaire, vous devez utiliser la méthode POST.

Par exemple, nous pouvons utiliser le code suivant pour créer un objet FormData contenant du texte et des fichiers :

var formData = new FormData();
formData.append('name', 'Bob');
formData.append('file', fileInput.files[0]);
Copier après la connexion

Où, 'name' est le nom de l'élément de formulaire, 'Bob' est sa valeur ; 'file' est le fichier ; Nom du contrôle de téléchargement, fileInput.files[0] correspond aux données du fichier. Vous pouvez utiliser l'objet XMLHttpRequest pour envoyer un objet FormData au serveur avant que le formulaire ne soit soumis.

En PHP, il n'y a généralement aucun problème à utiliser le tableau $_POST pour recevoir des données soumises par un formulaire. Toutefois, si le formulaire utilise le format FormData pour soumettre des données, vous devez utiliser le tableau $_FILES pour recevoir les données. Le tableau $_FILES contient des informations sur les fichiers téléchargés.

Par exemple, nous pouvons utiliser le code suivant pour recevoir les données soumises par FormData en PHP :

$name = $_POST['name'];
$file = $_FILES['file'];
Copier après la connexion

Parmi eux, $name est la valeur de l'élément de formulaire 'name' ; $file est les informations du fichier téléchargé.

S'il y a un problème de non-réception de FormData, vous pouvez essayer les solutions suivantes :

  1. Vérifiez l'en-tête de la demande : utilisez des outils tels que Fiddler ou Chrome Devtools pour vérifier l'en-tête de la demande de soumission du formulaire et assurez-vous que Content-Type est défini sur « multipart/form-data ».
  2. Configuration PHP : vérifiez le fichier de configuration PHP pour vous assurer que les éléments de configuration tels que file_uploads et post_max_size sont correctement définis.
  3. Taille limite du fichier de téléchargement : vérifiez si la taille du fichier de téléchargement dépasse la taille limite définie dans le fichier de configuration PHP.
  4. Chemin de téléchargement du fichier : vérifiez si le chemin d'enregistrement du fichier téléchargé est correctement défini.

Résumé :

Pour recevoir les données soumises par FormData en PHP, vous devez utiliser le tableau $_FILES au lieu du tableau $_POST. S'il y a un problème de non-réception de FormData, vous devez vérifier l'en-tête de la demande de formulaire, la configuration PHP, la limite de taille du fichier de téléchargement, le chemin de téléchargement du fichier et d'autres paramètres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal