1. 양식의 기본 사용
HTML에는 사용자 입력을 쉽게 수집할 수 있는 ff9c23ada1bcecdd1a0fb5d5a0f18437 태그가 있습니다.
작업: 양식 제출 주소(작성, 누구에게 줄지) 방법: 양식 제출 방법
예를 들어, 로그인 인터페이스에서 사용자가 입력한 사용자 이름과 비밀번호를 수집해야 합니다:
<!DOCTYPE html> <html> <head> <meta charset="UTF‐8"> <title>登录</title> </head> <body> <form action="login.php" method="post"> <div> <label for="username">用户名</label> <input type="text" id="username" name="username"> </div> <div> <label for="password">密码</label> <input type="password" id="password" name="password"> </div> <button type="submit">登录</button> </form> </body> </html>
에 따르면 현재 상황에서 사용자는 한 번의 요청으로 이 양식 페이지를 받고, 양식 내용을 입력하고, 로그인을 클릭하면 양식이 자동으로 login.php로 전송되며, 남은 문제는 사용자가 제출한 콘텐츠를 얻는 방법을 고려하는 것입니다. login.php.
PHP에는 양식 제출 콘텐츠를 가져오는 데 특별히 사용되는 세 가지 슈퍼 전역 변수가 있습니다.
$_GET: GET 메서드로 제출된 콘텐츠를 가져오는 데 사용됩니다. $_POST: POST 메서드로 제출된 콘텐츠를 가져오는 데 사용됩니다.
$_REQUEST : GET 또는 POST 방법을 얻는 데 사용됨 제출된 콘텐츠
$_POST 또는 $_REQUEST의 도움으로 다음 형식으로 제출된 콘텐츠를 얻을 수 있습니다:
<?php // 获取表单提交的用户名和密码 echo '用户名:' . $_REQUEST['username']; echo '密码:' . $_REQUEST['password'];1.1, 제출 주소
action 제출 주소는 다음을 참조합니다. 요청을 보내려면 양식을 작성한 후 제출을 클릭하세요. 요청 주소는 무엇입니까?
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 表单提交请求 }
<!‐‐ 这样写死 action 地址,当文件重命名就需要修改代码 ‐‐> <form action="/foo/login.php"> <!‐‐ ... ‐‐> </form> <!‐‐ 通过 `$_SERVER['PHP_SELF']` 获取路径,可以轻松避免这个问题 ‐‐> <form action="<?php echo $_SERVER['PHP_SELF']; ?>"> <!‐‐ ... ‐‐> </form>
$_SERVER['PHP_SELF']
1.2 제출 방법
방법을 사용하여 양식 제출 방법을 설정할 수 있습니다. 현재 우리가 알고 있는 것은 가장 일반적인 두 가지 양식 제출 방법인 GET 및 POST입니다.
GET
양식 데이터는 URL의 ? 매개변수를 통해 서버로 전달됩니다.
예 제출된 콘텐츠를 참조하세요. 주소 표시줄에
URL 주소 길이가 제한되어 있으므로 데이터 길이가 제한됩니다(2000자)
POST
양식 데이터는 요청 본문을 통해 서버로 전달되므로 인터페이스에서는 볼 수 없습니다
모든 유형을 제출할 수 있습니다 파일을 포함한 데이터
인터페이스에 표시되지 않고 브라우저에 저장되지 않으므로 더 안전합니다
어떤 상황에서 어떤 방법을 사용해야 하는지는 비즈니스 시나리오와 각각의 상황에 따라 결정해야 합니다. 아니요 절대적인 대답은 몇 가지 원칙만 제공할 수 있습니다.
비밀번호나 기타 민감한 정보를 전송하는 데 GET을 사용하지 마세요! ! !
이 요청이 주로 무언가를 얻기 위한 것인지 아니면 보내기 위한 것인지 명확하게 생각해야 합니다
양식 요소의 텍스트 상자 및 텍스트 필드와 같은 요소는 요소의 이름을 직접적으로 지정합니다. 속성값이 키로 사용되며, 사용자가 입력한 정보가 값으로 사용되어 서버로 전송됩니다. 그러나 별도로 고려해야 할 몇 가지 특수 양식 요소가 있습니다.
2.1 라디오 버튼<!‐‐ 最终只会提交选中的那一项的 value ‐‐> <input type="radio" name="gender" value="male"> <input type="radio" name="gender" value="female">
<!‐‐ 没有设置 value 的 checkbox 选中提交的 value 是 on ‐‐> <input type="checkbox" name="agree"> <!‐‐ 设置了 value 的 checkbox 选中提交的是 value 值 ‐‐> <input type="checkbox" name="agree" value="true">
<input type="checkbox" name="funs[]" id="" value="football"> <input type="checkbox" name="funs[]" id="" value="basketball"> <input type="checkbox" name="funs[]" id="" value="world peace">
<select name="subject"> <!‐‐ 设置 value 提交 value ‐‐> <option value="1">语文</option> <!‐‐ 没有设置 value 提交 innerText ‐‐> <option>数学</option> </select>
유형 속성이 file인 입력 요소는 양식을 통해 파일을 제출(업로드)할 수 있습니다. 서버측 PHP는 $_FILES를 전달하여 업로드된 파일 정보를 가져옵니다.
<?php // 如果选择了文件 $_FILES['file']['error'] => 0 // 详细的错误码说明:http://php.net/manual/zh/features.file‐upload.errors.php if ($_FILES['file']['error'] === 0) { // PHP 在会自动接收客户端上传的文件到一个临时的目录 $temp_file = $_FILES['file']['tmp_name']; // 我们只需要把文件保存到我们指定上传目录 $target_file = '../static/uploads/' . $_FILES['file']['name']; if (move_uploaded_file($temp_file, $target_file)) { $image_file = '/static/uploads/' . $_FILES['file']['name']; } }
$_FILES도 연관 배열이며 키는 양식의 이름이고 내용은 다음과 같습니다.
array(1) { ["avatar"]=> array(5) { ["name"]=> string(17) "demo.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(27) "C:\Windows\Temp\php786C.tmp" ["error"]=> int(0) ["size"]=> int(29501) } }
더 많은 관련 질문이 있는 경우 PHP 중국어 웹사이트를 방문하세요.
PHP 비디오 튜토리얼위 내용은 PHP에서 양식 양식을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!