因此,对于Web应用程序,我需要使用HTML / PHP / MySQL编写新用户表单。 用户表单的要求包括:
我目前正在研究#3和#4。这是我到目前为止(对不起,如果代码难以阅读):
<form name="form" method="post" action="NewUser.php">
User Name: <input name="userName" type="text" id="userName" value="<?php echo $_POST["userName"]; ?>"> <br>
Password: <input type="password" name="password" id="password"> <br>
Confirm: <input type="password" name="passwordConfirm" id="passwordConfirm">
<?php
if ($_POST["password"] != $_POST["passwordConfirm"]) {
echo "Error: Passwords do not match.";
}
?> <br>
<input type="submit" name="submit" id="submit" value="Submit">
<input type="reset" name="reset" id="reset" value="Reset">
</form>
现在,正如您所看到的,由于userName
的默认值发生了变化,如果用户未通过密码检查然后尝试重置表单,则重置按钮实际上不会删除文本字段
除了未来的问题,我可能会参与实施其他要求,我将如何解决我目前遇到的这个问题?
答案 0 :(得分:0)
<input type="reset">
将表单重置为加载时的状态。
要么坚持使用PHP,那么您需要将类型更改为submit
并按if (isset($_POST["reset"]))
检查用户是否要重置表单。
或者您使用Javascript:<input type="reset" onclick="document.getElementById('username').value='';" />
答案 1 :(得分:0)
你必须有两个文件..
index.html
savedata.php
现在您可以通过jQuery,AJAX将表单数据从index.html发送到savadata.php。 只需按照以下步骤操作 将此脚本添加到已创建的index.html中。
<script>
jQuery(function(){
$('form').submit(function(e) {
e.preventDefault();
var username = $("#userName").val();
var password = $("#password").val();
var cPassword = $("#passwordConfirm").val();
// i am validating confirm password on client side but don't do it for security reasons
if(password == cPassword) {
// now send the Form Data to Server Side to save theme
$.post('savadata.php', {
username:username,
password:password
} , function(responce){
if(responce == '1') {
// form submitted successfully
// clear form fields
$("#userName").val('');
$("#password").val('');
$("#passwordConfirm").val('');
alert('Data Saved...');
} else {
alert('there is an error to save data');
}
})
} else {
alert('Confirm password not matched');
}
}
});
</script>
,savedata.php
将在$_POST
数组中重现数据
你可以对待这样的主题。
<?php
$username = $_POST['username'];
$password = md5($_POST['password']);
// Do what ever you want with savadata.php
// if Data Saved Successfuly echo '1'; javascript will take this flag as your data is saved.
?>