我想在输入字段中保留表单值,单击提交按钮后,如果存在验证错误,则剩余字段应保留该值。
并且刷新页面后,之前填写的数据不应显示
我可以实现这个目标吗?
<form id="myForm" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<div class="form_group">
<label for="fname">First name:</label>
<input type="text" id="fname" name="fname" value="<?= (isset($_POST['fname'])) ? strip_tags($_POST['fname']) : '' ?>"> <span class="error">
<?php echo $fnameErr; ?>
</span>
</div>
<div class="form_group">
<label for="lname">Last name:</label>
<input type="text" id="lname" name="lname" value="<?= (isset($_POST['lname'])) ? strip_tags($_POST['lname']) : '' ?>"><span class="error">
<?php echo $lnameErr; ?>
</span>
</div>
<div class="form_group">
<label for="email">Email :</label>
<input type="text" id="email" name="email" value="<?= (isset($_POST['email'])) ? strip_tags($_POST['email']) : '' ?>">
<span class="error">
<?php echo $emailErr; ?>
</span>
</div>
<div class="form_group">
<label for="phone">Phone No. :</label>
<input type="text" id="phone" name="phone" value="<?= (isset($_POST['phone'])) ? strip_tags($_POST['phone']) : '' ?>"><span class="error">
<?php echo $phoneErr; ?>
</span>
</div>
<div class="form_group">
<label for="address">Address :</label>
<textarea name="address" id="address" value="<?= (isset($_POST['address'])) ? strip_tags($_POST['address']) : '' ?>"></textarea><span class="error" onchange="" onclick="">
<?php echo $addressErr; ?>
</span>
</div>
<div class="form_group">
<label for="country">Country :</label>
<select name="country" id="selectCountry" value="<?= (isset($_POST['country'])) ? strip_tags($_POST['country']) : '' ?>">
<option value="">Select Country</option>
<option value="in">India</option>
<option value="is">Israel</option>
<option value="ca">Canada</option>
</select>
<span class="error">
<?php echo $countryErr; ?>
</span>
</div>
<div class="form_group">
<label for="state">State :</label>
<select name="states" id="selectStates" value="<?= (isset($_POST['states'])) ? strip_tags($_POST['states']) : '' ?>" >
<option value="">Select State</option>
<option value="gj">Gujarat</option>
<option value="rj">Rajasthan</option>
<option value="bh">Bihar</option>
</select><span class="error">
<?php echo $stateErr; ?>
</span>
</div>
<div class="form_group">
<label for="pincode">Pincode :</label>
<input type="text" name="pincode" id="pincode" value="<?= (isset($_POST['pincode'])) ? strip_tags($_POST['pincode']) : '' ?>"><span class="error">
<?php echo $pincodeErr; ?>
</span>
</div>
<div class="form_group">
<label for="password">Password :</label>
<input type="password" id="password" name="password" value="<?= (isset($_POST['password'])) ? strip_tags($_POST['password']) : '' ?>"><span class="error">
<?php echo $passwordErr; ?>
</span>
</div>
<div class="form_group">
<label for="confirmPass">Confirm Password :</label>
<input type="password" id="confirmPass" name="confirmPass" value="<?= (isset($_POST['confirmPass'])) ? strip_tags($_POST['confirmPass']) : '' ?>"><span class="error">
<?php echo $confirmPassErr; ?>
</span>
</div>
<div class="form_group">
<button type="submit"> Register</button>
</div>
<div class="form_group">
<p>already have an account ? <a href="login.php"><span>Login</span></a></p>
</div>
我已经在输入字段中尝试过此操作。但我的文本区域和下拉列表仍然不起作用(不保留该值)
将您的 textArea 部分更新为以下格式。
<textarea name="address" id="address">
<?= (isset($_POST['address'])) ? strip_tags($_POST['address']) : '' ?>
</textarea>
更新您的国家/地区选择下拉列表,如下所示。
<select name="country" id="selectCountry">
<option value="">Select Country</option>
<option value="in" <?= (isset($_POST['country']) && strip_tags($_POST['country']) == 'in') ? 'selected' : '' ?>>India</option>
<option value="is" <?= (isset($_POST['country']) && strip_tags($_POST['country']) == 'is') ? 'selected' : '' ?>>Israel</option>
<option value="ca" <?= (isset($_POST['country']) && strip_tags($_POST['country']) == 'ca') ? 'selected' : '' ?>>Canada</option>
</select>
更新您的州选择下拉列表,如下所示。
<select name="states" id="selectStates">
<option value="">Select State</option>
<option value="gj" <?= (isset($_POST['states']) && strip_tags($_POST['states']) == 'gj') ? 'selected' : '' ?>>Gujarat</option>
<option value="rj" <?= (isset($_POST['states']) && strip_tags($_POST['states']) == 'rj') ? 'selected' : '' ?>>Rajasthan</option>
<option value="bh" <?= (isset($_POST['states']) && strip_tags($_POST['states']) == 'bh') ? 'selected' : '' ?>>Bihar</option>
</select>