如果条目不正确,如何避免函数指向另一个页面

时间:2016-02-05 17:31:45

标签: javascript php

我有一个删除页面,它可以从我的数据库中删除一个预先加载到选项框中的条目。但是,当我输入任何随机文本时,它会重定向到我的'remove-module-complete.php'页面。如果它们是数据库中的实际条目,我只希望它指向'remove-module-complete.php'。我的javascript似乎没有用。

我目前有一些验证说,jQuery中的条目“没有匹配任何项目”,但是如果我按下提交,它仍指示我“模块删除完成”。

任何帮助?

这是我的PHP

<?php
     if (isset($_POST['submit'])){

        $moduleCode = $_POST['moduleCode'];
        $moduleCodeLen = strlen($moduleCode);

       if ($moduleCodeLen=6){

        $sqlTwo = "DELETE FROM MODULES WHERE id = '$moduleCode'";


        mysql_query($sqlTwo); 

        $resTwo =& $db->query($sqlTwo);
        if(PEAR::isError($res)){
            $errorVar = ($res->getMessage());
            echo "<script type='text/javascript'>alert('Invalid entry, please try again. Error code: $errorVar');</script>";
            die;  

        }
        else echo "<script> location.replace('http://project.ac.uk/remove-module-complete.php'); </script>";
    }
    else echo "<script type='text/javascript'>alert('Invalid entry, please try again');</script>";

}
?> 

1 个答案:

答案 0 :(得分:0)

好像你有一些错误(注释行):

if (isset($_POST['submit'])) {

    $moduleCode = $_POST['moduleCode'];
    $moduleCodeLen = strlen($moduleCode);

    // '==', not '='
    if ($moduleCodeLen==6) {

        $sqlTwo = "DELETE FROM MODULES WHERE id = '$moduleCode'";

        mysql_query($sqlTwo); 

        $resTwo =& $db->query($sqlTwo);

        // there is no $res variable in the given part of the code
        // maybe you need to use $resTwo variable here?
        if (PEAR::isError($res)) {
            $errorVar = ($res->getMessage());
            echo "<script type='text/javascript'>alert('Invalid entry, please try again. Error code: $errorVar');</script>";
            die;  
        }
        else echo "<script> location.replace('http://project.ac.uk/remove-module-complete.php'); </script>";
    }
    else echo "<script type='text/javascript'>alert('Invalid entry, please try again');</script>";

}