ホームページ > バックエンド開発 > PHPチュートリアル > PHP 学習が正式にスタート (5)

PHP 学習が正式にスタート (5)

黄舟
リリース: 2023-03-04 11:36:01
オリジナル
1037 人が閲覧しました

さあ、php と html の混合の道を始めましょう
php ファイルには html コードを埋め込むことができますが、html ファイルには php コードを埋め込むことはできません。html は静的ファイルであるためです

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 コードフォームがそれ自体に送信され、送信メソッドは post です

次に、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 セッションは、後で使用できるようにユーザー情報 (ユーザー名、購入したアイテムなど) をサーバーに保存することで、この問題を解決します。ただし、セッション情報は一時的なものであり、ユーザーがサイトを離れると削除されます。情報を永続的に保存する必要がある場合は、データをデータベースに保存できます。 Session の動作メカニズムは、訪問者ごとに一意の ID (UID) を作成し、この UID に基づいて変数を保存することです。 UID は Cookie に保存されるか、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;];
?>
ログイン後にコピー

インデックス ページに保存されているセッション値をテスト ページに表示できます
保存するか出力するかに関係なく、各ページで 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 Cookie について話します

Cookie とは何ですか? Cookie はユーザーを識別するためによく使用されます。 Cookie は、サーバーがユーザーのコンピュータ上に残す小さなファイルです。同じコンピュータがブラウザを通じてページをリクエストするたびに、Cookie も送信されます。 PHP を使用すると、Cookie 値を作成および取得できます。

クッキーを作成するには? setcookie() 関数は、Cookie を設定するために使用されます。
setcookie() 関数は タグの前に配置する必要があります。


<?php 
setcookie("user", "Hello world", time()+3600);
?>
ログイン後にコピー

「user」という名前の Cookie を作成し、値「Hello world」を割り当てます。この Cookie が 1 時間後に期限切れになることを指定します:

Cookie は通常、コンピューター上のどこに保存されますか?

IE ブラウザの場合は、
C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files

Temporary Internet Files フォルダーに保存します
PHP プロジェクトにちなんで名付けられた txt ファイルが見つかるので、それを開きます
内容が表示されますが、一部の内容は暗号化されています, しかし、
user
Hello+world
localhost/MyPHP/の前半はまだ見ることができます

Cookieの値を取得する

<html> 
<body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; 
else echo "Welcome New!<br />"; 
?> 
</body> 
</html>
ログイン後にコピー

$_COOKIEはCookieの値を取得することです

他の言語を見てください、get、post 、Cookie はすべてオブジェクトを使用しています。プロセス指向ではありますが、PHP は明らかにはるかに単純です



以下は、PHP がファイルを処理する方法です


まず、プロジェクトのルート ディレクトリにファイル 1.txt を作成します。コンテンツ hello world

ファイルを開く fopen() 関数は、PHP でファイルを開くために使用されます。この関数の最初のパラメータには、開くファイルの名前が含まれており、2 番目のパラメータはファイルを開くために使用するモードを指定します


<?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中文网(m.sbmmt.com)!

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート