2016-02-13 245 views
2

我需要一个帮助。我无法获得函数使用PHP返回的值。我在下面解释我的代码。使用PHP无法获得返回值的函数

<?php 
    function encrypt($id){ 
    $key=md5('onlinepharmacy', true); 
    $id = base_convert($id, 10, 36); // Save some space 
    $data = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $id, 'ecb'); 
    $data = bin2hex($data); 
    return $data; 
} 

?> 

<a href="health.php?h_i=<?php encrypt(12) ?>" class="detall">Go for Details</a> 

从上面的代码我没有得到h_i value。它即将作为blank.I需要设置查询字符串值(h_i=),但无法fetch.Please帮我解决这个问题。

+5

只要打印:<?PHP的回波加密(12)>'' – Rizier123

+0

您可能能够简化为'<?=加密(12)?>'这是更紧凑,更易于阅读。 – arkascha

+1

我会说回声更容易阅读我自己 – 2016-02-13 10:47:06

回答

1

当你从函数返回值时,你需要使用echo()来显示它。 //在你的情况下

如果你不想在html中使用echo,那么你必须从函数返回echo()值而不是返回它。

function encrypt($id){ 
    $key=md5('onlinepharmacy', true); 
    $id = base_convert($id, 10, 36); // Save some space 
    $data = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $id, 'ecb'); 
    $data = bin2hex($data);`enter code here` 
    echo $data; 
} 
<a href="health.php?h_i=<?php encrypt(12) ?>" class="detall">Go for Details</a> 
0

结束语句语法丢失,您应该将返回的值分配给变量,以使您希望再次使用它。良好的做法,使更新和扩展容易。

查看下面的工作代码;

function encrypt($id){ 
    $key=md5('onlinepharmacy', true); 
    $id = base_convert($id, 10, 36); // Save some space 
    $data = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $id, 'ecb'); 
    $data = bin2hex($data);`enter code here` 
    return $data; 
} 
<a href="health.php?h_i=<?php echo encrypt(12); ?>" class="detall">Go for Details</a>