将变量传递到Thickbox

时间:2011-12-31 07:33:55

标签: php thickbox

我正在使用ThickBox 3.1而后悔,因为它不再受支持而且我是编程的新手,所以我可以使用我能得到的所有帮助。

我几乎在我的网站上设置了几个Thickbox,但我的最后一个需要一个变量从父页面传递给ThickBox,我似乎无法在我的php脚本中找到它。我有一个父页面从当前选定的下拉菜单中获取变量。当我将鼠标悬停在将打开ThickBox Modal的链接上时,我看到:

http://localhost/forms/modal_product.html?strUser=100&TB_iframe=true&height=300&width=590

这很棒,因为我需要strUser变量。所以ThickBox打开我输入一些信息到一个简短的形式就像我的其他ThickBoxes但没有任何反应。当我看到萤火虫看到AJAX响应时,它告诉我:

<b>Notice</b>:  Undefined index: strUser in <b>C:\xampp\htdocs\forms\item_add.php</b> on line <b>3</b 

我试过看看$ _SERVER ['QUERY_STRING'];提出来,它是NULL。

我认为我的问题是通用的,因为我不知道我的_GET变量在哪里?任何有ThickBox经验的人都可以帮助我吗?我已经阅读了我的屁股,我发现在旧版本的ThickBox中传递变量更难,而且需要黑客攻击,但我应该能够按照我的方式做到这一点。我究竟做错了什么?是否有更简单的方法来传递变量,或者我只是遗漏了一些明显的东西?

此外,当我直接进入我的表单页面而不是通过父窗口链接时,如果我手动将GET变量放入URL中,它仍然会给我相同的错误,这让我相信我只是遗漏了某些东西基本。这是我的PHP代码。

<?php
include '../dbc.php';
$getman  = ($_GET['strUser']);
$manid1  = mysql_query("SELECT manufacturer_id FROM manufacturers WHERE man_name='$getman'");
$manid11 = mysql_fetch_array($manid1);
$manid21 = $manid11[0];
if ($_POST) {
    // Collect POST data from form
    $item_num = stripslashes($_POST['item_num']);
    $descript = stripslashes($_POST['descript']);
    $quanti   = stripslashes($_POST['quanti']);
    $fdaa     = stripslashes($_POST['fdaa']);
  }
$params = $_SERVER['QUERY_STRING'];
$domain      = $_SERVER['SCRIPT_NAME'];
$queryString = $_SERVER['REQUEST_URI'];
$stmnt2 = mysql_query("INSERT INTO products (product_id, item_number, description, quantity_per_unit, fda_approved, manufacturer_id) VALUES ('NULL', '" . $item_num . "', '" . $descript . "' ,'" . $quanti . "', '" . $fdaa . "' , '" . $manid21 . "')");
$resp['status'] = 'success';
if ($stmnt2) {
    $resp['errmessage'] = "Item submitted. Submit another item or click close.";
} else {
    $resp['errmessage'] = $params;
}
echo json_encode($resp);
?> 

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。我不得不从URL中提取Jquery中的变量,将其放入隐藏字段然后运行我的php脚本。