> 백엔드 개발 > PHP 튜토리얼 > PHP 학습이 공식적으로 출발합니다 (5)

PHP 학습이 공식적으로 출발합니다 (5)

黄舟
풀어 주다: 2023-03-04 11:36:01
원래의
1025명이 탐색했습니다.

이제 php와 html을 혼합하는 길을 시작하겠습니다
PHP 파일은 html 코드를 포함할 수 있지만 html은 정적 파일이기 때문에 html 파일은 php 코드를 포함할 수 없습니다.

PHP 양식과 사용자에 대해 이야기해 보겠습니다. 입력

PHP의 $_GET 및 $_POST는

아래에 새 PHP 파일 index.php 만들기

<html>
<body>
<form action="index.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
로그인 후 복사

양식으로 제출된 값을 얻는 데 사용됩니다. 지금은 여전히 ​​순수 HTML입니다. 코드 양식은 자체적으로 제출되고 제출 방법은 사후입니다

이제 PHP 코드를 추가

<html>
<body> <form action="index.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form> </body>
</html>
로그인 후 복사
<?php
echo "Name:".$_POST[&#39;name&#39;];
echo "Age:".$_POST[&#39;age&#39;];
?>
로그인 후 복사


php 파일의 어느 곳에나 추가할 수 있습니다. HTML 태그에서
마지막으로 인쇄되는 것은 텍스트 상자 입력의 결과입니다.

작업이 비어 있으면 파일 자체에 제출됩니다. 기본적으로

$_POST['name'];을 사용할 수 있습니다. 큰따옴표는 작은따옴표일 수도 있고 따옴표가 없을 수도 있습니다(그러나 주의할 점 있음)
$_GET으로 게시물 제출 방법을 얻을 수 없습니다

아래 $_GET을 사용하여 양식 값을 가져옵니다

<html>
<body> <form action="" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form> </body>
</html>
로그인 후 복사
로그인 후 복사
<?php
echo "Name:".$_GET["name"];
echo "Age:".$_GET["age"];
?>
로그인 후 복사

$_GET을 사용하는 이유는 무엇입니까?
$_GET 변수를 사용하면 모든 변수 이름과 값이 URL에 표시됩니다. 따라서 비밀번호나 기타 민감한 정보를 보낼 때는 이 방법을 사용해서는 안 됩니다. 그러나 변수가 URL에 나타나므로 해당 페이지를 북마크에 추가할 수 있습니다. 어떤 경우에는 이것이 유용합니다.
HTTP GET 방식은 큰 변수 값에는 적합하지 않습니다. 값은 100자를 초과할 수 없습니다.
일반적으로 페이징, 상세 정보 표시 등에 사용됩니다.
POST는 일반적으로 데이터 제출에 사용됩니다.

클라이언트의 요청을 나타내는 $_REQUEST 요청도 있습니다

PHP의 $ _REQUEST 변수에는 $_GET, $_POST 및 $_COOKIE의 내용이 포함됩니다.
PHP의 $_REQUEST 변수는 GET 및 POST 메소드를 통해 전송된 양식 데이터의 결과를 얻는 데 사용할 수 있습니다.

<html>
<body> <form action="" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form> </body>
</html>
로그인 후 복사
로그인 후 복사
<?php
echo "Name:".$_REQUEST["name"];
echo "Age:".$_REQUEST["age"];
?>
로그인 후 복사

get 또는 post submit 방식으로 얻을 수 있지만 최대한 적게 사용하도록 하세요. 상대방이 어떻게 제출했는지 확인해야 할 때도 있기 때문에 명확하게 구분하는 것이 좋다

PHP 세션 변수에 대해 이야기해보자
애플리케이션을 실행할 때 열어서 수정하고 닫기를 하게 된다. 그것. 그것은 세션과 매우 유사합니다. 컴퓨터는 당신이 누구인지 알고 있습니다. 애플리케이션을 시작할 때와 종료할 때를 알고 있습니다. 그러나 인터넷에는 문제가 있습니다. 서버는 귀하가 누구인지, 무엇을 하는지 알지 못합니다. 그 이유는 HTTP 주소가 상태를 유지하지 않기 때문입니다. PHP 세션은 이후 사용을 위해 사용자 정보(예: 사용자 이름, 구매한 항목 등)를 서버에 저장하여 이 문제를 해결합니다. 단, 세션 정보는 일시적이므로 사용자가 사이트를 떠난 후에는 삭제됩니다. 정보를 영구적으로 저장해야 하는 경우 데이터를 데이터베이스에 저장할 수 있습니다. 세션의 작동 메커니즘은 각 방문자에 대한 고유 ID(UID)를 생성하고 이 UID를 기반으로 변수를 저장하는 것입니다. UID는 쿠키에 저장되거나 URL을 통해 전달됩니다.

세션을 사용하기 전에 먼저 세션을 시작해야 하는데, 이는 다른 언어와 다릅니다. ​​​​

<?php session_start(); ?>
로그인 후 복사
<html>
<body>
</body>
</html>
로그인 후 복사

session_start() 함수는 다음과 같습니다. 태그

index.php 페이지

<?php session_start(); ?> 

 
Name:
test.php
로그인 후 복사

test.php 페이지

<?php
session_start();
echo $_SESSION[&#39;name&#39;];
?>
로그인 후 복사

저장된 Seesion 값 인덱스 페이지에 표시됩니다.
저장 중이든 출력 중이든 각 페이지에는 session_start()가 필요합니다.
$_SESSION['name'];을 클릭하세요. 작은따옴표나 큰따옴표도 가능합니다. PHP에서는 이런 일이 일어나지 않을 것 같습니다. 다시 반복합니다


일부 세션 데이터를 삭제하려면 unset( ) 또는 session_destroy() 함수.

<?php session_start(); ?>


Name:
test.php
로그인 후 복사

그러면 test.php로 가면 출력이 안되네요

<?php
session_start();
if(isset( $_SESSION[&#39;name&#39;]))
echo $_SESSION[&#39;name&#39;];
else
echo "null";
?>
로그인 후 복사

isset 함수는 특정 값이 설정(할당)되었는지 확인하는 함수입니다 , 값이 비어 있는지 여부

다음은
PHP 쿠키

쿠키란 무엇입니까? 쿠키는 종종 사용자를 식별하는 데 사용됩니다. 쿠키는 서버가 이용자의 컴퓨터에 남겨두는 작은 파일입니다. 동일한 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 쿠키도 함께 보냅니다. PHP를 사용하면 쿠키 값을 생성하고 검색할 수 있습니다.

쿠키는 어떻게 만드나요? setcookie() 함수는 쿠키를 설정하는 데 사용됩니다.
setcookie() 함수는 태그 앞에 위치해야 합니다.

<?php 
setcookie("user", "Hello world", time()+3600);
?>
로그인 후 복사

"user"라는 쿠키를 생성하고 "Hello world" 값을 할당합니다. 이 쿠키가 1시간 후에 만료되도록 지정합니다.

쿠키는 일반적으로 컴퓨터 어디에 저장됩니까?
IE 브라우저의 경우
C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files

Temporary Internet Files 폴더
PHP 프로젝트 이름을 딴 txt 파일을 찾아서 엽니다.
내용을 볼 수 있지만 일부 내용은 암호화되어 있지만 전반부는
user
Hello+world
localhost/MyPHP/를 계속 볼 수 있습니다

쿠키 값 가져오기

<html> 
<body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; 
else echo "Welcome New!<br />"; 
?> 
</body> 
</html>
로그인 후 복사

$_COOKIE는 쿠키 값을 얻는 데 사용됩니다


다른 언어를 보면 get, post, cookie를 모두 객체를 사용하는데, php는 확실히 훨씬 간단하지만, 프로세스 지향적입니다



다음은 PHP가 파일을 처리하는 방법입니다

먼저 프로젝트 루트 디렉터리에 1.txt 파일을 만듭니다. Content hello world

파일 열기 fopen() 함수는 PHP에서 파일을 여는 데 사용됩니다. 이 함수의 첫 번째 매개변수는 열려는 파일의 이름을 포함하고, 두 번째 매개변수는 파일을 여는 데 사용할 모드를 지정합니다.

<?php
$file=fopen("1.txt","r");
?>
로그인 후 복사

$file这个变量是个资源变量,表示文件打开的状态
关于资源变量以后还会接触

文件可能通过下列模式来打开: 模式描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件已存在,则返回 FALSE。
x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

如果 fopen() 无法打开指定文件,则返回 0 (false)。


打开文件还不够,接着打印

<?php
$file=fopen("1.txt","r");
$data="";
while(!feof($file)) 
{ 
$data.=fgets($file); 
} fclose($file); echo $data; 
?>
로그인 후 복사

feof() 函数检测是否已达到文件的末端 (EOF)。在循环遍历未知长度的数据时,feof() 函数很有用。
fgets() 函数用于从文件中逐行读取文件。
在调用该函数之后,文件指针会移动到下一行。
fclose 关闭文件

另外fread函数也可以读取文件

<?php
$file=fopen("1.txt","r");
$data="";
while(!feof($file)) 
{ 
$data.=fread($file,4096); 
} fclose($file); echo $data; 
?>
로그인 후 복사


fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。 

fread与fgets的区别 
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止. 
fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用. 


其实还有文件写入,文件上传下载这些
暂时先简要介绍在这里,以后我接触的时候再说

以上就是php学习正式起航(5)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿