PHP获取表单
· $_GET数组获取GET方式提交的内容
· $_POST数组获取POST方式提交的内容
· $_COOKIE数组获取COOKIE
· $_REQUEST数组获取GET|POST|COOKIE
示例:
1、GET数组获取GET方式提交的内容
HTML 表单:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
|
get_example.php:
|
1
2
3
4
5
6
|
// 获取用户名 $username = $_GET['username'];// 输出用户名 echo "用户名:". $username; ?> |
2、使用 $_POST 获取 POST 方式提交的内容:
HTML 表单:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
|
post_example.php:
|
1
2
3
4
5
6
|
// 获取用户名 $username = $_POST['username'];// 输出用户名 echo "用户名:". $username; ?> |
3、使用 $_COOKIE 获取 COOKIE:
HTML
设置用户名
设置用户名
get_cookie.php:
isset($_POST) 和$_SERVER[“REQUEST_METHOD”] 请求方法的区别:
`isset($_POST)` 和 `$_SERVER[“REQUEST_METHOD”]` 可以在处理表单提交时用于判断请求的方法。
`isset($_POST)` 是一个用于检查 `$_POST` 超全局数组中是否存在特定的变量或表单字段的函数。当表单使用 POST 方法提交时,表单字段的值会包含在 `$_POST` 中。因此,通过检查 `isset($_POST[‘field_name’])`,我们可以确定特定的表单字段是否被提交。
例如,如果你的表单中有一个名为 `username` 的字段,你可以使用 `isset($_POST[‘username’])` 来判断是否提交了这个字段。
另一方面,`$_SERVER[“REQUEST_METHOD”]` 是一个包含了当前请求方法的服务器变量。对于 HTTP 请求,常见的方法有 GET、POST、PUT、DELETE 等。通过获取 `$_SERVER[“REQUEST_METHOD”]` 的值,我们可以确定当前请求使用的是哪种方法。
当我们想在处理表单提交时只对 POST 请求作出响应时,可以使用 `$_SERVER[“REQUEST_METHOD”]`。例如,`$_SERVER[“REQUEST_METHOD”] == “POST”` 可用来检查当前请求是否是 POST 方法提交的表单数据。这样就可以将特定的数据处理逻辑限定在 POST 请求中。
综上所述,`isset($_POST)` 主要用于检查是否提交了特定的字段或变量,而 `$_SERVER[“REQUEST_METHOD”]` 是用于检查当前请求的方法。二者可以结合使用,来实现对特定请求方法的判断和处理。
4、使用 $_REQUEST 获取 GET|POST|COOKIE:
HTML 表单:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
|
request_example.php:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// 获取 GET 请求的用户名 if (isset($_GET['username'])) { $username = $_GET['username']; }// 获取 POST 请求的用户名 if (isset($_POST['username'])) { $username = $_POST['username']; }// 获取 COOKIE 中的用户名 if (isset($_COOKIE['username'])) { $username = $_COOKIE['username']; }// 输出用户名 echo "用户名:". $username; ?> |
5、sql注入获取 admin对应密码信息
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
用户登录 账号: 密码: @$username=$_REQUEST['uname'];@$password=$_REQUEST['pwd'];//if(isset($_REQUEST['uname']))if ($_REQUEST['uname'] !='' and $_REQUEST['pwd'] !=""){// if($username=="admin" and $password=="123456"){// echo '登录成功';$conn=mysqli_connect("localhost",'root','root','php');$sql = 'select * from admin where username = "'.$username.'" and password ="'.$password.'"';echo $sql;//创建查询语句$b=mysqli_query($conn,$sql);$c=mysqli_fetch_array($b); #mysqli_fetch_array():这是一个 MySQLi 函数,用于从查询结果中获取数据,并将其存储在一个数组中。echo "你的密码是:".$c['password'];if($username==$c['$username']){ { echo '登录成功';}}}else{ echo '账号密码错误';}//关闭连接mysqli_close($conn);?>#测试代码 admin "or 1=1 -- qwe |






