3

基本上,我的代码声明了一个变量,该变量检查是否将特定字符串输入到文本框中,当用户按下回车键,然后使用子字符串时,它声明了一个变量,该变量在输入的特定单词之后包含一个字符串(如下所示)。

我想将此变量传递给 php 并最终将其与 SQL 数据库进行比较,或者(但我听说这是不安全/不可能的)直接将其与来自 javascript 的 SQL 数据库进行比较。

这可能吗?

var match = textInput.value.indexOf("string");

if (keycode == 13 && match != -1) { <- checks to see if enter is pressed + "string" has been typed.
    var some_string = text.input.value.substring(7); <- takes everything after the word "string"

这就是我想将变量“some_string”传递给 SQL 数据库的地方,以执行检查并返回 true 或 false。

我希望这很清楚,并提前感谢您的帮助。

4

2 回答 2

2

使用 AJAX 将值传递给 PHP 请求处理程序,该处理程序在适当的数据库调用中使用该值。为安全起见,在构建 SQL 时使用mysql_real_escape_string转义参数。然后让处理程序返回响应以指示结果(JSON/XML/text/...)。

于 2012-04-08T04:53:27.643 回答
1

您将不得不使用ajax 请求。您应该异步执行此操作,否则浏览器将挂起。

但是异步请求与回调一起使用,并且不会返回比承诺更多的东西。所以,而不是

function synchronous(){
    // init xhr and send
    return xhr.response; // or json-parse of response-text or something
}
try {
    if (synchronous() == "wanted value")
        // do something
    else
        // do something else
} catch(e) {
    // alert a problem
}

你需要使用

function asychronous(success, error) {
    // init xhr, register handlers and send
    // return nothing
}
asynchronous(function scb(data) {
    if (data == "wandted value")
        // do something
    else
        // do something else
}, function ecb(e) {
    // alert a problem
});
于 2012-04-09T19:22:14.620 回答