从jquery获取变量到php

时间:2018-04-18 16:14:42

标签: php jquery

所以我在使用这段代码时遇到了一些麻烦,需要一些帮助。我对任何与javascript相关的东西都不是很好,所以这引起了我的反响。我有一个不同位置的选择框。根据用户选择的位置,会出现一个带有特定编号的输入框。如果我填写变量,php页面可以工作,但我似乎无法将变量从一个页面传递到另一个页面。

这是调用Dropdown_test.php的首页:

$office=$_GET['office'];
$rowSQL = mysqli_query($con, "SELECT MAX( DWG ) AS DWG FROM dwg WHERE 
Office='$office';");
$row = mysqli_fetch_array($rowSQL);
$largestNumber = $row[ 'DWG' ];
$pieces = explode("-", $largestNumber);
$digit = $pieces[ 2 ] + 1;
$result = $pieces[ 0 ] . "-" . $pieces[ 1 ] . "-" . $digit;
echo "<input type='text' value='$result'></input>";

这是fetch_details页面:

public ImageAdapter (Context context) {
    super();
    mContext = context;
}

fetch_page与数据库一起正常工作,但是当我将它们组合起来时,我得到一个未定义的索引。关于我哪里出错的任何想法?

感谢。

1 个答案:

答案 0 :(得分:2)

解决当前问题的方法是修复查询字符串。

查询字符串看起来像name=value

现在你有=namevalue。这显然错误。

所以,修复是:

// first `q` (name) then `=`, then office (value)
xhttp.open("GET", "fetch_details.php?q=" +office, true); 

第二 - 在服务器端,您将收到$_GET['q'],而不是$_GET['office']

所以,另一个解决方法是:

$office=$_GET['q'];

或者如果你想:

$office=$_GET['office'];

然后修复:

// first `office` (name) then `=`, then office (value)
xhttp.open("GET", "fetch_details.php?office=" +office, true); 

如评论中所述,字符串

var office = document.getElementsByName("office");

不是你所期望的。如果您有id - 请将其替换为

var office = document.getElementById("office").value;

正如评论中已经注意到的那样

  • 如果你有jquery - 使用jquery,它会更简单。
  • 再次保护sql-injections。