远程数据源示例中的jQuery UI自动完成 - php

我正在努力使jQuery UI自动完成功能可以从远程数据源工作。 http://jqueryui.com/demos/autocomplete/#remote

该示例代码调用php脚本search.php

$(function() {
    $( "#birds" ).autocomplete({
        source: "search.php",
        minLength: 2
    });
});

来自search.php的代码段的第一行

$q = strtolower($_GET["term"]);
if (!$q) return;
$items = array( //set a bunch of key-value pairs);

$q = strtolower($_GET["term"]);到底是什么意思?并非!q总是评估为true导致.php脚本返回,从而阻止了脚本的其余部分执行吗?

编辑

作为参考,如果您转到http://jqueryui.com/download并下载自动完成程序包,则在下面引用了我所指的确切示例

开发包/演示/自动完成/search.php
development-bundle / demos / autocomplete / remote.html

参考方案

strtolower调用采用查询字符串变量term并将其转换为小写形式。例如search.php?term = TEST导致“测试”保存在$ q中。如果要从区分大小写的来源检索数据,则可能需要这样做以确保'test'和'TEST'的术语值都返回相同的数据。

$ q测试$ q是否没有值;是因为它没有在URL中传递,或者它是空的(search.php?term =)。

您可以使用以下命令测试此逻辑:

<?php
$q = strtolower($_GET["term"]);
echo $q ? '$q was set' : '$q was not set'
?>

输出:

search.php => $q was not set
search.php?term= => $q was not set
search.php?term=TEST => $q was set

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP Count数组元素 - php

嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…

PHP-服务器端验证-这是一个好方法吗? - php

我已经通过jQuery的帮助进行了广泛的客户端验证。现在进入服务器端验证,如果我发现某些字段无效,是否可以简单地将错误返回给客户端并且没有任何有用的消息?我的假设是用户必须启用JavaScript才能访问我的网页。如果Web浏览器禁用了JavaScript,则用户将看不到该表单。我可以简单地使用noscript来做到这一点。如果他们通过我设计的表单提交信息,…

PHP:从函数返回值并直接回显它? - php

这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…