簡體   English   中英

如何在超鏈接中顯示PHP變量?

[英]How to show PHP variable in hyperlink?

我試圖回顯一個變量,以便它顯示在我的超鏈接中。 這是我當前的代碼:

<?php

if (!defined("WHMCS"))
        die("This file cannot be accessed directly");


$customerserviceid = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");

function limitOrders($vars) {
        if(mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'")) > 0) {

                if($packageid = '1' || $packageid = '2' || $packageid = '3' || $packageid = '4' || $packageid = '5' || $packageid = '6' || $packageid = '7' || $packageid = '8' || $packageid = '9' || $packageid = '10') {
                global $errormessage;
                $errormessage = "<li>It looks like you already have an account!  Please <a href='http://mywebsite.com/upgrade.php?type=package&id=$customerserviceid'>click here</a> to upgrade or downgrade your account.</li>";
                }
        }
}
add_hook("ShoppingCartValidateCheckout", 1, "limitOrders");
?>

我嘗試將$customerserviceid添加到第14行的URL中,但是它僅顯示為空白,因此我猜測我沒有正確添加一些內容。 當我在phpMyAdmin中運行查詢時,它確實顯示了我想要的內容,因此查詢本身應該是正確的...

您需要從查詢結果中獲取結果,然后使用global訪問global變量。

<?php
if (!defined("WHMCS"))
        die("This file cannot be accessed directly");

$result = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");
$row = mysql_fetch_assoc($result);
$customerserviceid = $row['id'];

function limitOrders($vars) {
    global $customerserviceid;
    if(mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'")) > 0) {

        if($packageid = '1' || $packageid = '2' || $packageid = '3' || $packageid = '4' || $packageid = '5' || $packageid = '6' || $packageid = '7' || $packageid = '8' || $packageid = '9' || $packageid = '10') {
        global $errormessage;
        $errormessage = "<li>It looks like you already have an account!  Please <a href='http://mywebsite.com/upgrade.php?type=package&id=$customerserviceid'>click here</a> to upgrade or downgrade your account.</li>";
        }
    }
}
add_hook("ShoppingCartValidateCheckout", 1, "limitOrders");
?>

我認為您需要獲取剛剛執行查詢以從數據庫中選擇數據的數據,但未打印結果,可以使用以下方法:

$query = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");
$customerserviceid=mysql_fetch_array($query);

mysql_query返回資源。 您需要從資源中獲取數據。 您可以這樣做。

$result= mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");
$row = mysql_fetch_assoc($result);
$customerserviceid = $row['id'];

這應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM