>  기사  >  php教程  >  PHP 시작부터 시리즈-04.php 페이지 간 값 전송 및 유지 포기까지

PHP 시작부터 시리즈-04.php 페이지 간 값 전송 및 유지 포기까지

WBOY
WBOY원래의
2016-08-25 10:20:471482검색

php 시작부터 시리즈 포기까지-04.php 페이지 간 값 전송 및 유지

1. 디렉토리 구조

2. 두 페이지 간 값 전달

두 페이지 간에 소량의 데이터를 전송하려면 get submit 또는 post submit을 사용할 수 있습니다. 둘 사이의 차이점은 자세히 설명하지 않습니다.

1. 제출 받기

get submit을 이용해 데이터를 전송하고, 링크 주소에 서버로 전송되는 URL을 아래와 같이 수정합니다 http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge= 26

​물론 양식에 method="get"을 설정하고, PHP에서 get으로 제출된 데이터 값을 받고, 사전 정의된 $_GET 변수

를 사용할 수도 있습니다.

GET 메소드를 사용하여 양식에서 전송된 정보는 누구나 볼 수 있으며(브라우저의 주소 표시줄에 표시됨) 전송되는 정보의 양에는 제한이 있습니다.

<span style="color: #008080;"> 1</span> <html>
<span style="color: #008080;"> 2</span> <head>
<span style="color: #008080;"> 3</span> <meta charset="utf-8">
<span style="color: #008080;"> 4</span> <title>get提交值</title>
<span style="color: #008080;"> 5</span> </head>
<span style="color: #008080;"> 6</span> <body>
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> <form action="getPage.php" method="get">
<span style="color: #008080;"> 9</span> 名字: <input type="text" name="gName">
<span style="color: #008080;">10</span> 年龄: <input type="text" name="gAge">
<span style="color: #008080;">11</span> <input type="submit" value="提交">
<span style="color: #008080;">12</span> </form>
<span style="color: #008080;">13</span> 
<span style="color: #008080;">14</span> </body>
<span style="color: #008080;">15</span> </html>

이제 "getPage.php" 파일은 $_GET 변수를 통해 양식 데이터를 수집할 수 있습니다(양식 필드 이름은 자동으로 $_GET 배열의 키가 됩니다).

<span style="color: #008080;">1</span> 欢迎 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_GET</span>["gName"]; ?>!<br>
<span style="color: #008080;">2</span> 你的年龄是 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_GET</span>["gAge"]; ?>  岁。

 2. 제출 후

post submit을 사용하여 데이터를 전송하고, 양식에 method="post"를 설정하고, post로 제출된 데이터 값을 php에서 받고, 사전 정의된 $_POST 변수

를 사용합니다.

POST 메소드를 사용하여 양식에서 전송된 정보는 누구에게도 보이지 않으며(브라우저의 주소 표시줄에 표시되지 않음) 전송되는 정보의 양에는 제한이 없습니다.

설명: 그러나 기본적으로 POST 메서드의 최대 크기는 8MB입니다(php.ini 파일에서 post_max_size를 설정하여 변경할 수 있음).

<span style="color: #008080;"> 1</span> <html>
<span style="color: #008080;"> 2</span> <head>
<span style="color: #008080;"> 3</span> <meta charset="utf-8">
<span style="color: #008080;"> 4</span> <title>post提交值</title>
<span style="color: #008080;"> 5</span> </head>
<span style="color: #008080;"> 6</span> <body>
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> <form action="postPage.php" method="post">
<span style="color: #008080;"> 9</span> 名字: <input type="text" name="pName">
<span style="color: #008080;">10</span> 年龄: <input type="text" name="pAge">
<span style="color: #008080;">11</span> <input type="submit" value="提交">
<span style="color: #008080;">12</span> </form>
<span style="color: #008080;">13</span> 
<span style="color: #008080;">14</span> </body>
<span style="color: #008080;">15</span> </html>

이제 "postPage.php" 파일은 $_POST 변수를 통해 양식 데이터를 수집할 수 있습니다(양식 필드 이름은 자동으로 $_POST 배열의 키가 됩니다).

<span style="color: #008080;">1</span> 欢迎 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_POST</span>["pName"]; ?>!<br>
<span style="color: #008080;">2</span> 你的年龄是 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_POST</span>["pAge"]; ?>  岁。

3. 여러 페이지 간 값 유지

여러 페이지 간의 데이터를 유지하려면 세션을 사용하여 저장하거나 쿠키를 사용하여 저장할 수 있습니다. 둘 사이의 차이점은 자세히 설명하지 않습니다.

1. 세션 내 데이터 저장

PHP 세션 변수는 사용자 세션(세션)에 대한 정보를 저장하거나 사용자 세션(세션)의 설정을 변경하는 데 사용됩니다. 세션 변수는 단일 사용자에 대한 정보를 저장하며 애플리케이션의 모든 페이지에서 사용할 수 있습니다. 세션의 작동 메커니즘은 다음과 같습니다. 각 방문자에 대한 고유 ID(UID)를 생성하고 이 UID를 기반으로 변수를 저장합니다. UID는 쿠키에 저장되거나 URL을 통해 전달됩니다.

PHP 세션에 사용자 정보를 저장하려면 먼저 세션을 시작해야 합니다.

참고: session_start() 함수는 태그 앞에 위치해야 합니다.

세션 변수를 저장하고 검색하는 올바른 방법은 PHP의 $_SESSION 변수를 사용하는 것입니다.

<span style="color: #008080;"> 1</span> <?php <span style="color: #008080;">session_start</span><span style="color: #000000;">();
</span><span style="color: #008080;"> 2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 存储 session 数据</span>
<span style="color: #008080;"> 3</span> <span style="color: #800080;">$_SESSION</span>['viewCount']=1<span style="color: #000000;">; 
</span><span style="color: #008080;"> 4</span> ?>
<span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> <html>
<span style="color: #008080;"> 7</span> <head>
<span style="color: #008080;"> 8</span> <meta charset="utf-8">
<span style="color: #008080;"> 9</span> <title>session保持数据值</title>
<span style="color: #008080;">10</span> </head>
<span style="color: #008080;">11</span> <body>
<span style="color: #008080;">12</span> 
<span style="color: #008080;">13</span> <?<span style="color: #000000;">php
</span><span style="color: #008080;">14</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 取出 session 数据</span>
<span style="color: #008080;">15</span> <span style="color: #0000ff;">echo</span> "浏览量:". <span style="color: #800080;">$_SESSION</span>['viewCount'<span style="color: #000000;">];
</span><span style="color: #008080;">16</span> ?>
<span style="color: #008080;">17</span> 
<span style="color: #008080;">18</span> </body>
<span style="color: #008080;">19</span> </html>

2. 쿠키는 데이터를 저장합니다

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

 setcookie() 함수는 쿠키를 설정하는 데 사용됩니다.

참고: setcookie() 함수는 태그 앞에 위치해야 합니다.

구문은 다음과 같습니다

<span style="color: #008080;">1</span> <span style="color: #008000;">//</span><span style="color: #008000;">name存储的键名
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//value存储的键值
</span><span style="color: #008080;">3</span> <span style="color: #008000;">//expire存储的超时时间
</span><span style="color: #008080;">4</span> <span style="color: #008000;">//path存储的位置
</span><span style="color: #008080;">5</span> <span style="color: #008000;">//domain存储区别的域名</span>
<span style="color: #008080;">6</span> <span style="color: #008080;">setcookie</span>(name, value, expire, path, domain);

 $_COOKIE 변수는 쿠키 값을 검색하는 데 사용됩니다.

<span style="color: #008080;">1</span> <?<span style="color: #000000;">php
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 输出 cookie 值</span>
<span style="color: #008080;">3</span> <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_COOKIE</span>["user"<span style="color: #000000;">];
</span><span style="color: #008080;">4</span> 
<span style="color: #008080;">5</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 查看所有 cookie</span>
<span style="color: #008080;">6</span> <span style="color: #008080;">print_r</span>(<span style="color: #800080;">$_COOKIE</span><span style="color: #000000;">);
</span><span style="color: #008080;">7</span> ?>


쿠키를 삭제할 때 만료 날짜를 과거 시점으로 변경해야 합니다.

<span style="color: #008080;">1</span> <?<span style="color: #000000;">php
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 设置 cookie 过期时间为过去 1 小时</span>
<span style="color: #008080;">3</span> <span style="color: #008080;">setcookie</span>("user", "", <span style="color: #008080;">time</span>()-3600<span style="color: #000000;">);
</span><span style="color: #008080;">4</span> ?>

그렇군요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.