简单的if else语句不起作用

时间:2015-08-17 09:27:15

标签: php if-statement

我需要一个简单的if else检查是否插入了任何数据进行搜索。

所以我设定条件----

如果输入数据小于1 ,则表明用户应输入一些数据进行搜索。否则它会搜索结果。

但不知怎的,这个简单的事情对我不起作用。

有谁知道如何解决这个问题。谢谢你提前。

$query = $_POST['Search'];

$min_length = 1;

if (isset($query) && !empty($query)) {

    if (strlen($query) > $min_length){
    // Check whether if there is atleast 1 character to chearch

    // method to search .....
    echo($result);
} else {
    echo "Sorry you have to put some data to search";
}

这个总是返回if语句,它永远不会转到else语句。

我也是这样试过---

    $query = $_POST['Search'];

    $min_length = 1;

        if (isset($query) && ! empty($query) ) {

            if(isset($query) > $min_length){
    // method to search .....
    echo($result);
    } else {
    echo "Sorry you have to put some data to search";
}

但是这个总是返回else语句。

任何人都知道如何解决这个问题。

2 个答案:

答案 0 :(得分:4)

检查存在一些问题。首先,检查POST是否实际包含一个字段'搜索':

$query = isset($_POST['Search']) ? $_POST['Search'] : "";

(编辑:将字段名称从name更改为Search

然后,检查它的长度:

$min_length = 1;
if (strlen($query) >= $min_length) {
    // do search here
    // and echo the result
} else {
    echo "Sorry you have to put some data to search";
}

答案 1 :(得分:1)

您错过了} ,这里有适合您的代码:

$query = $_POST['name'];

        $min_length = 1;

        if (isset($query)) {
            if (strlen($query) > $min_length) {
                // Check whether if there is atleast 1 character to chearch
                // method to search .....
                echo "result";
            } else {
                echo "Sorry you have to put some data to search";
            }
        }else {
            echo "name not set.";
        }