1

如果用户搜索我没有为其编写规则的内容,我想显示一条错误消息。这就是我的意思。

用户将有一个带有提交按钮的搜索栏。他将输入一个单词并点击提交。我为四个特定的词写了规则。他们为这个词赋值。

<?php
$search = $_POST['search'];
$search ['A'] = "32";
$search ['B'] = "30";
$search ['C'] = "34";
$search ['D'] = "53";

if ($_POST['search'] == A)
{print 'A has a value of ' . $search['A'] . ' dollars.';}

等等...为 B、C 和 D 编写了类似的规则。

现在我需要在用户搜索 A、B、C 或 D 以外的任何内容时显示错误消息的代码。我编写了以下代码行,但它不起作用。它每次都显示该消息,即使用户搜索 ABC 或 D。

if ($search != 'A' or 'B' or 'C' or 'D')
    {print $_POST['search'] . ' was not found in our database.';}

我想要一行代码,如果用户搜索任何不是 ABC 或 D 的东西,它将显示一条消息。

4

4 回答 4

2

尝试这个

if ($search != 'A' &&  $search != 'B' &&  $search !=  'C' &&  $search !=  'D')
于 2012-11-28T05:56:28.487 回答
2

我知道的最好的方法是:

 switch ($_POST['search']) {
    case 32:
        //do something
        break;
    case 30:
        //do something
        break;
    case 34:
        //do something
        break;
    case 53:
        //do something
        break;
    default:
        //They enetered something else, do something
}

或者您可以执行以下操作:

$values = array('A' => 32, 'B' => 30, 'C' => 34, 'D' => 53);

然后:

if (!in_array($_POST['search'], $values) { 
    // they entered something else
} else {
    switch ($_POST['search']) {
        case 32: //do something
        case 30: //do something else
        ETC...
    }
}
于 2012-11-28T05:58:55.283 回答
0

也许你可以用 switch 语句尝试这样的事情:

$search = $_POST['search'];
$num = 0;
switch ($search) {
    case 'A':
        $num = 32;
        break;
    case 'B':
        $num = 30;
        break;
    case 'C':
        $num = 34;
        break;
    case 'D':
        $num = 53;
        break;
    default:
        $num = 0;
}
if ($num) {
    echo 'A has a value of ' . $num . ' dollars.';
} else {
    echo $_POST['search'] . ' was not found in our database.';
}
于 2012-11-28T05:59:32.540 回答
0

您可以在这里非常轻松地使用 jquery ajax/post。例如:你的 jquery 代码:

  ("#sub_btn").click(function(){
    var  url = 'http://localhost/example/test';// ur method  url
    var search_str = $("#seach_txt").val(); // seach text box id 
    if(search_str == '' || search_str == 'undefined' )
    {
          $("#msg").html("Please enter value "); //
    }else{
        $.post(url,{data:search_str},function(responses){
             $("#msg").html(responses); //div with id msg
         });

    }

  });

  //ur php code
        function test(){

        $search ['A'] = "32";
        $search ['B'] = "30";
        $search ['C'] = "34"; 
        $search ['D'] = "53";
      if( $_POST['data'] == 'A' || $_POST['data'] == 'B' || $_POST['data'] ==   'C' ||  $_POST['data'] == 'D' ){

        if(array_key_exists($_POST['data'],$search)){
          echo $_POST['data'].' has a value of ' . $search['.$_POST['data'].'] . ' dollars.';exit;

        }else{
         echo $_POST['data'].' not found in our database';exit;
        }
  }

}

       //ur html 

       <div id="msg"></div>
       <input type="text" id="search_txt" />
        <input type="button" id ="sub_btn" value="Submit">  

希望这对你有帮助!谢谢。

于 2012-11-28T06:24:22.137 回答