Newer
Older
hello-programmer-world / src / pages / php / 030-form.mdx
@h.sakamoto h.sakamoto 7 days ago 2 KB form
---
layout: "@/layouts/MarkdownLayout.astro"
---

import Toc from "../../components/Toc.astro";

export const title = "フォームの入力を受け取る";

import DockerLink from "@/components/DockerLink.astro";
import RenderFile from "@/components/RenderFile";
import RenderHtml from "@/components/RenderHtml";

# {title}

phpの書き方がわかったところで、次は入力フォームについて学びましょう。

## TOC

## フォームを用意する

例として、以下のようなフォームを用意しました。

<DockerLink href="sample/php/form.html" />

```php file=src/sample/php/form.html
src/sample/php/form.html
内容を取得できませんでした
```

フォームを作成するには`<form>`タグを使います。  
この`<form>`タグにはいくつか属性がありますが、特に重要なのが`method`属性と`action`属性です。

`action`属性は、フォームのデータを送信する先を指定します。  
今回は`./submit.php`となっていて、そこに送信したデータをどうするかをプログラムすることになります。

`method`属性は、深くは触れませんがデータを使って何をしてほしいのかを大まかにサーバーに伝えるためのものです。  
この`method`属性には主に`GET`と`POST`の2つがありますが、今回は`POST`を使います。

```html "action=\"./submit.php\"" "method=\"post\""
<form method="post" action="./submit.php">
  ...

  <button type="submit">送信</button>
</form>
```

## 送信先を用意する

このセクションでは、`submit.php`を作成します。  
説明のために、このファイルがどのような考えのもとに作成されているかを順番に解説します。

### 雛形を作成する

まず、送信先の`submit.php`を作成します。  
ここでどんなデータを受け取ったかに関わらず、どのような見た目にするかを決めるための雛形を作成しています。

<DockerLink href="sample/php/form/1/submit.php" />

```html file=src/sample/php/form/1/submit.php
src/sample/php/form/1/submit.php
内容を取得できませんでした
```