echo $uid; // RETURNS INTEGER VALUE
if (isset ( $_POST ['cashpaid'] )) {
$queryfinal = "select * from " . $db_prefix . "customer_det
where `id` = '$uid'"; // UID RETURNS NULL
....
我已经尝试了所有我想到的全局和超级全局的组合。我无法将价值转移过来。
我从MySQL select中提取$uid
并将其分配给整数值。正如您在代码开头所看到的那样,结束大括号是包含$uid
值的IF语句的结尾。
如何在所有范围内为$uid
分配相同的值?
这已经让我大约两天了。我很抱歉,如果这看起来很简单,但它会让我疯狂。我试过$GLOBALS['uid']
无济于事。
答案 0 :(得分:1)
您可以尝试使用在全局范围内声明一次的setter / getter函数,但它无论如何都无法访问GLOBALS。
function globalUid($value = False)
{
GLOBAL $__uid;
if (!isset($__uid))
$__uid = False;
if (False === $value)
return $__uid;
$__uid = $value;
}
然后,不要回复$uid
,而是尝试globalUid($uid)
,然后再尝试$saved_uid = globalUid();
。
但我认为两个范围可能在两个不同的调用中执行,因此您可能需要将UID保存在会话变量中。