私のウェブサイトに新しいアカウントを作成しようとしているユーザーから入力データを受け取るページがあります。私は、ページがリダイレクトされてから入力データをデータベースに送る前に、データの値をチェックしたいと思います。私は、ユーザーがsubmitをクリックしたときに同じページにリダイレクトする検証フォームを作成して値をチェックしましたが、すべての値が正常であれば、入力したパラメータを別のページに入力して入力しますデータベース。 PHPでこれを条件付きで行う方法はありますか?私は入力されたパラメータのいずれかが間違っているかどうかをチェックする単純なブール値で実装しようとしましたが、リダイレクトとともにパラメータを送信する方法はわかりません。条件付きで別のページにリダイレクトし、PHPでPOSTを介してパラメータを送信する
<?php
// Connection to database
include_once("createConnection.php");
$hasErrors = false;
$errorFName = $errorLName = $errorEmail = "";
$fName = $lName = $email = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["fName"])) {
$errorFName = "This field is required.";
$hasErrors = true;
}
else {
$name = validation($_POST["fName"]);
//name cannot contain any symbols or numbers
if (!preg_match("/^[a-zA-Z ]*$/",$fName)) {
$errorFName = "Only letters and white space allowed";
$hasErrors = true;
}
}
if($hasErrors==false){
**???**
}
function validation($input) {
$input = trim($input);
$input = stripslashes($input);
$input = htmlspecialchars($input);
return $input;
}
?>
<form class="loginForm" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<table class="loginTable">
<tr>
<td><label for="newDetail">First Name: </label>
<input type="text" class="formBox" value="" id="newDetail" name="fName">
<?php echo $errorFName;?>
</td>
</tr>
<tr>
<td><label for="newDetail">Password: </label>
<input type="text" class="formBox" value="" id="newDetail" name="pword">
</td>
</tr>
<tr>
<td><button type="submit" class="loginButton" name="submitNew">Submit</button></td>
</tr>
</table>
</form>
ありがとう:ここ
は、フォームのほんの一部で、コードの短縮版です!
これはお試しいただきありがとうございます。上記のコードは、宛先ページの$ paramsから抽出できる配列としてパラメータを送信していますか? receiver.phpの例: $のfirstName = $のparams [ "fNameを ']; またはPOST経由のように:? $のfirstName = $ _ POST?[ "fNameを"]; – AndrewY
あなたはどれも知っています? – AndrewY
@AndrewY、それは$ _POST配列にありますので、 '$ post = array( 'checked_fName' => $ _ POST ['fName']);'をメインページの 'receiver。 php'で '$ firstName = $ _POST ['checked_fName'];' –