考えられる原因は以下のとおりですが、いかがですか?
0. inputタグだけではリクエスト処理は行われません。送信ボタンを追加しましょう。
0. Undefined variable: name
というエラーがでるはずですが、これはnameという変数が未定義のときに表示されます。nameという変数を定義しましょう。
0. フォームで送信した内容をname変数に代入したいならば$_POST['text'] = $name
ではなくて、$name = $_POST['text']
とする必要がありますが、その後のechoでname変数を使っていないようなので、これが不要ならばここの一行は削除してしまってもかまわないとおもいます。
0. Undefined index: text
というエラーがでるはずですが、これはPOSTメソッドではなく、GETメソッドでリクエストが送信されたときに**$_POST['text']が未定義になる**ため発生します。$_SERVER['REQUEST_METHOD'] === 'POST'
などでPOSTメソッドでリクエストが送信されたときのみ実行するようにするといいとおもいます。
これらを踏まえると、プログラムはこのようになるとおもいます。(以下のプログラムは未テストです)
PHP
1<?php
2if ($_SERVER['REQUEST_METHOD'] === 'POST') {
3 $name = $_POST['text'];
4 echo $_POST['text'];
5}
6?>
7<!DOCTYPE html>
8<html>
9<head>
10 <meta charset="utf-8">
11 <title>php</title>
12</head>
13<body>
14<form action="" method="POST">
15 <input type="text" name="text">
16 <input type="submit">
17</form>
18</body>
19</html>