


Use php://input in PHP to process form data with the same name value, inputname_PHP tutorial
In PHP, php://input is used to process form data with the same name value, inputname
In October last year, I analyzed in my blog the problem of PHP receiving form submission data with the same name value in the front end. The solution mentioned at that time was to change the name value into an array type. After PHP received it, it would Arrays are merged. The disadvantage of this is that it is not fully compatible with the front-end form, and users must make changes to the form. The system requirement is that all upgrades are completely transparent to users, so this method is still not perfect.
After almost a year of accumulation, I found that php provides a primitive method of accessing the input/output stream. POST data can be obtained through php://input:
php://input is a read-only stream that provides access to the requested raw data. In the case of POST requests, it is better to use php://input instead of $HTTP_RAW_POST_DATA, as it does not rely on specific php.ini directives. Also, in this case $HTTP_RAW_POST_DATA is not populated by default, potentially requiring less memory than activating always_populate_raw_post_data. When enctype=”multipart/form-data”, php://input is invalid.
The data stream opened by php://input can only be read once; the data stream does not support the seek operation. However, depending on the implementation of SAPI, when the request body data is saved, it can open another php://input data stream and re-read it. Typically, this is only the case for POST requests, not other request methods such as PUT or PROPFIND.
So the idea of using php to obtain form data with the same name value can be as follows: 1. Get the original POST data through php://input; 2. Process and merge the data; 3. Re-assign the processed values Give the system variable $_POST; the following is a function defined:
function GET_SUBMIT(){ if(empty($_POST)) return $_POST; //判断提交类型 if($_SERVER["HTTP_CONTENT_TYPE"] != 'application/x-www-form-urlencoded'){ return $_POST; } //获取POST原始值 $data= file_get_contents("php://input"); if(empty($data)) return $_POST; //开始处理 $POST=array(); $list=explode('&',$data); foreach($list as $key=>$value){ //获取POST的KEY和Value值 $postname=urldecode(substr($value,0, stripos($value,"="))); $postvalue=urldecode(substr($value,(stripos($value,"=")+1))); //对KEY值和Value值进行处理 //去空格和[] $postname=trim($postname,' ,[,]'); $postvalue=trim($postvalue); if(array_key_exists($postname,$POST)){ $POST[$postname]=$POST[$postname]." ,".$postvalue; }else{ $POST[$postname]=$postvalue; } } return $POST; }
Next, just use "$_POST=GET_SUBMIT()" where needed, and you can later use $_POST to obtain the data of each form after processing.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,
