繁体   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