0

我知道这有很多争议,简短的回答是我不能简单地将 javascript 变量传递给同一文件中的 php 变量。因此,这将是我想尝试的:我的用户输入一个代码,我将它发送到一个 php 文件POST。在那里我检查代码是否与我的数据库中的代码匹配,然后我再次从那里发布一个布尔值。然后在我的第一个文件中,我告诉用户代码是否正确。这可以通过这种方式实现吗?我是一个 webdev 新手,我正在努力学习。

4

3 回答 3

1

要将值从客户端传递到服务器,您可以将其发送到 URL 或作为 post 变量。

这可以通过 ajax 轻松完成。

我推荐使用jquery。例子:

$.get("http://example.com/?var1=value&var2=othervalue", function (data) {
  // your response
});
于 2013-05-09T17:09:51.113 回答
0

您可以通过 AJAX 将该代码发布到您的服务器,让您的服务器返回一个布尔值,然后向您的用户输出一条消息,这很常见。

该逻辑的常见实现包括自动建议、用户名有效性验证、简单的打开/关闭接口等。

工作流程:

  • 用户输入代码
  • Javascript 向服务器发送 AJAX 请求
  • 服务器验证代码并返回布尔值
  • Javascript 读取布尔值,生成 HTML 并将其附加到文档中
  • 用户读取输出

编辑:尽管我建议您首先尝试使用纯 javascript(出于教育原因),但如果您按计划进行,您应该使用 jQuery 或其他等效框架。

于 2013-05-09T17:12:20.990 回答
0

jQuery:

$.get( url, { userinput: value }, function( response ) {
    if( response.status ) alert( "Matches found" );
    else alert( "No matches" );
}

javascript:

function get( url ) {
  var xhr = new XMLHttpRequest();
  xhr.open("GET", url,  false );
  xhr.send();
  return xhr.responseText;
}

var response = JSON.parse( get( url ) );
if( response.status ) alert( "Matches found" );
else alert( "No matches" );

php:

header( 'Content-type: text/json' );
if( get_matches( $_GET['userinput'] ) ) exit( '{ "status": true }' );
else exit( '{ "status": false }' );
于 2013-05-09T17:39:44.437 回答