如何检查数据库中的重复并显示错误消息

时间:2015-05-25 01:25:09

标签: javascript php mysql ajax

我想检查数据库中是否已存在值。具体来说是badge_number

我使用sql语句检查用户输入的徽章编号是否在数据库中可用。如果是,它将回显错误消息以进行测试。但是,不显示错误消息,并且值将插入到数据库中。我不太确定什么是错的。

我正在使用window.open()来显示用户必须键入的字段,不确定这是否会发生任何变化。

对此有何帮助?如果有任何答案我会很感激,如果它是纯JavaScript代码而不是jQuery。如果你担心sql注射或任何东西,不要。我的主要问题是如何显示错误消息并阻止将详细信息插入数据库。

我想过在我的insertNewUser() JavaScript函数中警告用户,但我不知道如何在数据库中获取badge_number并将其与用户在外部JavaScript中输入的值进行比较文件,功能。

编辑:我得到的回应是具体的:

<br />
<b>Notice</b>: Undefined index: order in <b>/opt/lampp/htdocs
/Signup/module1/database.php</b> on line<b>100</b><br/>
Error! Duplicated value.

database.php是PHP文件。 第100行是$order = $_REQUEST['order'];我不知道为什么我在这里收到错误。

这是我的PHP文件中的代码(仅限相关代码):

function insertRow($name, $badge_number, $priviledge, $category)
{
    $table_info = "TBL_USER_LOGIN";
    $query_string = "select badge_number from $table_info where badge_number = $badge_number";
    $result = mysql_query($query_string) or die (mysql_error());
    $checkBadge = mysql_num_rows($result);
    if($checkBadge>0)
    {
        echo "Error! Duplicated value.";
    }
    else
    {
        $query_string = "insert into $table_info(name, badge_number, priviledge, category) values('$name', '$badge_number', '$priviledge', '$category')";
        $result = @mysql_query($query_string) or die (mysql_error());          
    }
}


$action = rtrim($_REQUEST['action']);
$order = $_REQUEST['order'];

if($action=="delete")
{
    $id  = rtrim($_REQUEST['id']);

    echo deleteRow($id);
    echo selectAll($order);
}
elseif($action=="insert")
{
    $name = $_REQUEST['name'];
    $badge_number = $_REQUEST['badge_number'];
    $priviledge = $_REQUEST['priviledge'];
    $category = $_REQUEST['category'];

    echo insertRow($name, $badge_number, $priviledge, $category);
}
elseif($action=="update")
{
    echo selectAll($order);
}

这是我外部javascript文件中的函数:

function insertNewUser()
{
    var name = document.getElementById("name").value;
    var badge_number = document.getElementById("badge_number").value;
    var category = document.getElementById("category").value;
    var priviledge = 0;

    var page = "database.php";

    if(confirm("Do you want to submit?"))
    {
        if(name==null, name==""||badge_number==null, badge_number==""||category==null, category=="")
        {
            alert("Please fill in all your details.");
            return false;
        }
        else
        {
            if(category=="Admin")
            {
                priviledge = 2;
            }
            else if(category=="User")
            {
                priviledge = 3;
            }

            var parameters = "name="+name+"&badge_number="+badge_number+"&category="+category+"&priviledge="+priviledge+"&action=insert";
            var xmlhttp = new XMLHttpRequest();

            if(xmlhttp==null)
            {
                alert("Your browser does not support ajax!");
                return false;
            }
            xmlhttp.onreadystatechange=function()
            {
                if(xmlhttp.readyState==4)
                {
                    alert("Your details have been entered! Please click on 'View Users' to display all users.");
                }
            }
            };
            xmlhttp.open("GET", page+"?"+parameters, true);
            xmlhttp.send(null);
        }
} // insertNewUser()

最后在HTML弹出窗口中:

<input type="button" name="send" value="Submit" onclick="insertNewUser();"/>

0 个答案:

没有答案