我想创建一个表单,用户输入一个名称来创建一个新记录并同时检查,如果记录存在与否,那么用户不能插入2个同名记录(但是这个不是主键)。 我现在正在使用以下代码,但每次我需要检查输入的值时这个重新加载页面
<html>
<?php
require_once('../php/classes/class.add_album.php');
$file_name='';
$file_not_found="NULL";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$file_name = test_input($_POST["file_name"]);
echo $file_name; //for testing
//make new object
$objfile = new add_album();
//call object methid with post method value we got and save result in result
$file_not_found=$objfile->find_album($file_name);
echo $file_not_found; //for testing
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if($file_not_found){
echo '<form>';
echo '<label>File Name </label>';
echo '<input type="text" value='.$file_not_found.' >';
} else {
echo '<form method="POST" action="temp.php">';
echo '<label>File Name</label>';
echo "<input type=text name='file_name' placeholder='New file name plz' >";
echo"<input type=submit name=submit value=submit>";
}
?>
</form>
`
答案 0 :(得分:0)
用户ajax将表单数据发送到类。
以下是ajax功能
$.ajax({
url :"yourfile.php",
type :"POST",
data :$("#formid").serialize(),
success : function(response)
{
// do someting here.
}
您的PHP文件(yourfile.php)
$obj = new db();
$yourdata = $_POST;
$res = $obj->validateUser($yourdata) ;
答案 1 :(得分:0)
按照我上面提到的javascript ajax和相同的php文件。
请参阅此链接以获取ajax http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp
function validateUser()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200){
//alert(xmlhttp.responseText);
// do somting here..
document.getElementById("captcha_validation").value=xmlhttp.responseText;
}
}
xmlhttp.open("POST","yourfile.php",true);
xmlhttp.send("username=abc&password=xyz");
}