mysql - php cannot get form data
Dec 05, 2016 pm 01:44 PM
1. In the environment built by wamp, the return value of using post to obtain form submission data is empty
The code is as follows:
<code><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form action="test.php" method="post"> Firstname: <input type="text" name="firstname" value="aaa" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html></code>
<code><?PHP $firstname = $_POST["firstname"]; $lastname = $_POST["lastname"]; $age = $_POST["age"]; if($firstname==""){ echo "<script>alert('Your username is empty!');</script>"; }else{ var_dump($firstname); } ?></code>
Error report: Notice: Undefined index: firstname in E:WebWeb SoftwarewampwwwDEMOtest.php
2. There is nothing wrong with the fact that the php server is Apache and the port number is also 80
3. Tried the get method, but still can’t get the data
I found my own problem: the html file was not opened from the same path as the php file~
Reply content:
1. In the environment built by wamp, the return value of using post to obtain form submission data is empty
The code is as follows:
<code><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form action="test.php" method="post"> Firstname: <input type="text" name="firstname" value="aaa" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html></code>
<code><?PHP $firstname = $_POST["firstname"]; $lastname = $_POST["lastname"]; $age = $_POST["age"]; if($firstname==""){ echo "<script>alert('Your username is empty!');</script>"; }else{ var_dump($firstname); } ?></code>
Error report: Notice: Undefined index: firstname in E:WebWeb SoftwarewampwwwDEMOtest.php
2. There is nothing wrong with the fact that the php server is Apache and the port number is also 80
3. Tried the get method, but still can’t get the data
I found my own problem: the html file was not opened from the same path as the php file~
Determine a few questions!
1. The test1.html
and test.php
files of this test are both in the same level directory DEMO
.
2. Please do not use the file://
path to access your PHP file
, ??so that the PHP file will not be interpreted by the php.exe interpreter installed on your computer.
3. Please use the http://
protocol to access your test1.html
, and fill in the correct values ??to submit the form to test.php
.
4. Please pay attention to whether your PHP file starts with <?php
or <?PHP
.
Confirm the above points and see if the problem still exists?
Test your code and there is no problem
Firstname: <input type="text" name="firstname"value="aaa" /> 改成 Firstname: <input type="text" name="firstname" value="aaa" /> 試試 name 和 value 之間少了一個空格吧
Seems like there’s no problem?
Error report: Notice: Undefined index: firstname in E:WebWeb SoftwarewampwwwDEMOtest.php
This error is a Notice-level error and can be ignored. It wants to tell you that $firstname is already in use before it has been declared. But if you don't want it to happen, there are many ways. For example, modify php_error in php.ini.

Hot AI Tools

Undress AI Tool
Undress images for free

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

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

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

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

In PHP, you can use square brackets or curly braces to obtain string specific index characters, but square brackets are recommended; the index starts from 0, and the access outside the range returns a null value and cannot be assigned a value; mb_substr is required to handle multi-byte characters. For example: $str="hello";echo$str[0]; output h; and Chinese characters such as mb_substr($str,1,1) need to obtain the correct result; in actual applications, the length of the string should be checked before looping, dynamic strings need to be verified for validity, and multilingual projects recommend using multi-byte security functions uniformly.

To set and get session variables in PHP, you must first always call session_start() at the top of the script to start the session. 1. When setting session variables, use $_SESSION hyperglobal array to assign values ??to specific keys, such as $_SESSION['username']='john_doe'; it can store strings, numbers, arrays and even objects, but avoid storing too much data to avoid affecting performance. 2. When obtaining session variables, you need to call session_start() first, and then access the $_SESSION array through the key, such as echo$_SESSION['username']; it is recommended to use isset() to check whether the variable exists to avoid errors

Key methods to prevent SQL injection in PHP include: 1. Use preprocessing statements (such as PDO or MySQLi) to separate SQL code and data; 2. Turn off simulated preprocessing mode to ensure true preprocessing; 3. Filter and verify user input, such as using is_numeric() and filter_var(); 4. Avoid directly splicing SQL strings and use parameter binding instead; 5. Turn off error display in the production environment and record error logs. These measures comprehensively prevent the risk of SQL injection from mechanisms and details.

The method to get the current session ID in PHP is to use the session_id() function, but you must call session_start() to successfully obtain it. 1. Call session_start() to start the session; 2. Use session_id() to read the session ID and output a string similar to abc123def456ghi789; 3. If the return is empty, check whether session_start() is missing, whether the user accesses for the first time, or whether the session is destroyed; 4. The session ID can be used for logging, security verification and cross-request communication, but security needs to be paid attention to. Make sure that the session is correctly enabled and the ID can be obtained successfully.

To extract substrings from PHP strings, you can use the substr() function, which is syntax substr(string$string,int$start,?int$length=null), and if the length is not specified, it will be intercepted to the end; when processing multi-byte characters such as Chinese, you should use the mb_substr() function to avoid garbled code; if you need to intercept the string according to a specific separator, you can use exploit() or combine strpos() and substr() to implement it, such as extracting file name extensions or domain names.

UnittestinginPHPinvolvesverifyingindividualcodeunitslikefunctionsormethodstocatchbugsearlyandensurereliablerefactoring.1)SetupPHPUnitviaComposer,createatestdirectory,andconfigureautoloadandphpunit.xml.2)Writetestcasesfollowingthearrange-act-assertpat

Execution of SELECT queries using PHP's preprocessing statements can effectively prevent SQL injection and improve security. 1. Preprocessing statements separate SQL structure from data, send templates first and then pass parameters to avoid malicious input tampering with SQL logic; 2. PDO and MySQLi extensions commonly used in PHP realize preprocessing, among which PDO supports multiple databases and unified syntax, suitable for newbies or projects that require portability; 3. MySQLi is specially designed for MySQL, with better performance but less flexibility; 4. When using it, you should select appropriate placeholders (such as? or named placeholders) and bind parameters through execute() to avoid manually splicing SQL; 5. Pay attention to processing errors and empty results to ensure the robustness of the code; 6. Close it in time after the query is completed.

The aggregation function is used to perform calculations on a set of values ??and return a single value. Common ones include COUNT, SUM, AVG, MAX, and MIN; GROUPBY groups data by one or more columns and applies an aggregation function to each group. For example, GROUPBYuser_id is required to count the total order amount of each user; SELECTuser_id, SUM(amount)FROMordersGROUPBYuser_id; non-aggregated fields must appear in GROUPBY; multiple fields can be used for multi-condition grouping; HAVING is used instead of WHERE after grouping; application scenarios such as counting the number of classified products, maximum ordering users, monthly sales trends, etc. Mastering these can effectively solve the number
