フォームindex.php myProfile.phpに渡す3つの入力フィールド(名前、姓、生年月日)があり、ユーザーは続行できません3つのフィールドがすべて完了していない場合は、次のmyProfile.php。 すべての入力フィールドが有効であると判断されたら、どのように変数を次のページに送ることができますか?現在(index.phpを)私は、すべての入力フィールドが有効であることを判断することができますが、私はmyProfile.phpに沿っ有効な変数を別のページに渡す(PHP)
変数の変数を渡す方法がわからないと入力取り扱い:
<?php
$nameErr = $surnameErr = $dobErr = "";
$name = $surname = $dob = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["surname"])) {
$surnameErr = "Surname is required";
} else {
$surname = test_input($_POST["surname"]);
}
if (empty($_POST["dob"])) {
$dobErr = "Date of Birth is required";
} else {
$dob = test_input($_POST["dob"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
の作成をフォーム(index.phpを):
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
Surname:
<input type="text" name="surname">
<span class="error">* <?php echo $surnameErr;?></span>
<br><br>
Date of Birth:
<input type="date" name="dob">
<span class="error">*<?php echo $dobErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
私の問題はmyProfile.phpに私の名前、姓と生年月日を送信するために、私はしかし、入力の検証のために、action="myProfile.php"
になるように、フォームのアクションを必要とするということです行われるのはaction="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>
"である必要があります。
myProfile.php:入力検証が行われ、すべての入力が有効である場合は、次のコードを使用するためにmyProfile.phpに沿って変数を渡すことができ
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$dob = $_POST['dob'];
echo "<h2>Your Input:</h2>";
echo "My name is " . $name . " " . $surname . ". I am " . date_diff(date_create($dob), date_create('today'))->y . " years old.";
?>
をチェックします。クライアント側の検証にセッション – Sarcoma
変更でこれをそれらを格納することができますし、 –
@LelioFaietaクライアント側valを行っていることができますハザードや他の卑劣な人たちによってスキップされる可能性があります。 –