ホームページ >バックエンド開発 >PHPチュートリアル >PHP 学習が正式にスタート (5)
さあ、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['name']; echo "Age:".$_POST['age']; ?>
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()関数は41a424aaedcfac36baa4cfdae1271d48 タグの前に配置する必要があります。
<?php setcookie("user", "Hello world", time()+3600); ?>
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>
他の言語を見てください、get、post 、Cookie はすべてオブジェクトを使用しています。プロセス指向ではありますが、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中文网(www.php.cn)!