私の問題は:
Textbox1の値を取得してから、textbox1の値がtextbox2に表示される別のページに転送します。
PHPのコードは次のとおりです。
<html>
<body>
<form name='form' method='post' action="testing2.php">
Name: <input type="text" name="name" id="name" ><br/>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
以下のコードも追加しましたが、エラーは「注意:未定義のインデックス:名前」です
<?php
$name = $_GET['name'];
echo $name;
?>
または
<?php
$name = $_POST['name'];
echo $name;
?>
Testing2.phpで、次のコードを使用して名前を取得します。
if ( ! empty($_POST['name'])){
$name = $_POST['name']);
}
次のページを作成するときに、$name
の値を使用してフォームフィールドに事前入力します。
Name: <input type="text" name="name" id="name" value="<?php echo $name; ?>"><br/>
ただし、その前に、正規表現を使用して、$ nameに次のような有効な文字のみが含まれていることを確認してください。
$pattern = '/^[0-9A-Za-zÁ-Úá-úàÀÜü]+$/';//integers & letters
if (preg_match($pattern, $name) == 1){
//continue
} else {
//reload form with error message
}
入力データなしでフォームが送信されたため、issetがtrueになるように、空の値ではなくissetを確認する必要があると思います。これにより、エラーや通知を防ぐことができます。
if((isset($_POST['name'])) && !empty($_POST['name']))
{
$name = $_POST['name']; //note i used $_POST since you have a post form **method='post'**
echo $name;
}
データを投稿しているため、$ _ POSTになります。しかし、「名前」は使用するのに最適な名前ではありません。
name = "name"
混乱IMOを引き起こすだけです。