0
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すると、整数値に割り当てられます。コードの先頭でわかるように、中かっこの終わりは、 の値を含む IF ステートメントの終わりです$uid

$uidすべてのスコープで同じ値を割り当てるにはどうすればよいですか?

これは約2日間私を殺しています。これが初歩的なことのように思われる場合は申し訳ありませんが、それは私を夢中にさせようとしています. $GLOBALS['uid']私は無駄にしようとした。

4

1 に答える 1

1

グローバルスコープで一度宣言されたセッター/ゲッター関数を試すこともできますが、とにかく GLOBALS にアクセスする以上のことはしません。

function globalUid($value = False)
{
    GLOBAL $__uid;
    if (!isset($__uid))
        $__uid = False;
    if (False === $value)
        return $__uid;
    $__uid = $value;
}

次に、 をエコーする代わりに、 and$uidを試しglobalUid($uid)て、後で$saved_uid = globalUid();.

ただし、2 つのスコープが 2 つの異なる呼び出しで実行されている可能性があるため、UID をセッション変数に保存する必要があるかもしれません。

于 2012-11-02T19:43:48.910 に答える