<?php
'<form method="post" action="postnotice.php");>
<p> <label for="idCode">ID Code (required): </label>
<input type="text" name="idCode" id="idCode"></p>
<p> <input type="submit" value="Post Notice"></p>
</form>'
?>
好吧,这是我的php形式的一部分 - 非常简单。对于我的第二种形式(postnotice.php):
<?php
//Some other code containing the password..etc for the connection to the database.
$conn = @mysqli_connect($sql_host,$sql_user,$sql_pass,$sql_db);
if (!$conn) {
echo "<font color='red'>Database connection failure</font><br>";
}else{
//Code to verify my form data/add it to the database.
}
?>
我想知道你们是否知道一个简单的方法 - 我仍然是一个很新的php - 我可以使用它来隐藏表单并用一个简单的文本“尝试连接到数据库”替换它直到表单从数据库中回来并进入下一页,我有其他代码来显示查询结果和验证“idCode”的有效性。甚至数据库连接失败。我觉得让用户坐在那里不确定他/她的按钮点击是否成功,同时它试图连接到数据库,或者等待超时时间。
提前感谢任何想法, 路加。
编辑:澄清我在这里的是一个PHP解决方案 - 没有使用ajax或javascript(我已经看到使用这些已经在线的方法,所以我试图寻找其他路线)
答案 0 :(得分:1)
你需要做的是给form一个div然后只需通过ajax提交表单然后隐藏div并在从服务器获取数据后显示消息。
<div id = "form_div">
'<form method="post" id = "form" action="postnotice.php";>
<p> <label for="idCode">ID Code (required): </label>
<input type="text" name="idCode" id="idCode"></p>
<p> <input type="submit" value="Post Notice"></p>
</form>'
?>
</div>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('form').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'postnotice.php',
data: $('form').serialize(),
success: function (data) {
if(data == 'success'){
echo "success message";
//hide the div
$('#form_div').hide(); //or $('#form').hide();
}
}
});
e.preventDefault();
});
});
</script>
<强> postnotice.php 强>
$idCode = $_POST['idCode'];
// then do whatever you want to do, for example if you want to insert it into db
if(saveSuccessfulIntoDb){
echo 'success';
}
答案 1 :(得分:0)
尝试使用AJAX。这将允许您等待服务器的响应,您可以根据您的响应选择您想要做的事情。
http://www.w3schools.com/ajax/default.ASP
AJAX与jQuery: https://api.jquery.com/jQuery.ajax/