使用href将一个PHP脚本中的两个字符串传递给另一个PHP脚本

时间:2016-11-17 16:28:20

标签: php

我正在尝试将first.php文件中的2个字符串传递给second.php文件 -

在我的first.php文件中,我试图通过

发送数据
<?php echo "<a href='second.php?newFormat=$statusString&MACAddress=$macaddress'>link</a>"; ?>

<a href="second.php?newFormat="<?php echo $statusString; ?> &MACAddress=<?php echo $macaddress; ?>link</a>

<a href="second.php?newFormat=<?php echo urlencode($statusString);?>&amp;MACAddress=<?php echo urlencode($macaddres); ?>"link</a>

我尝试了以上所有可能性。我得到了同样的错误 -

PHP Parse error: syntax error, unexpected '<' in /var/www/html/first.php on line 176

我的$statusString是 - "u=500000;t1=1479394;s=10;r=-33;v=3.7;"

我的$macaddres是 - "500000"

有谁能告诉我这样做有多么不同?

编辑1

我试图在我的代码中对此行进行注释,代码可以正常运行!

编辑2

if(Some condition)
{   
     $statusString = "u=".$macaddress.";t1=".$time.";s=10;r=-33;v=".$voltage.";";
    <?php echo "<a href='second.php?newFormat=$statusString&MACAddress=$macaddress'>link</a>"; ?>
}

在我的second.php文件中,我正在通过 -

检索这些文件
if (isset($_GET['newFormat']))
{ 
    $str = $_GET['newFormat'];
}
else 
    $str = 'no data';
 if (isset($_GET['MACAddress']))
 { 
    $macAddress = $_GET['MACAddress'];
 }

2 个答案:

答案 0 :(得分:1)

在上次编辑中:

if(Some condition)
{   
    $statusString = "u=".$macaddress.";t1=".$time.";s=10;r=-33;v=".$voltage.";";
    <?php echo "<a href='second.php?newFormat=$statusString&MACAddress=$macaddress'>link</a>"; ?>
}

嗯,这解释了意外的<。您已经已经在 PHP代码的上下文中。所以你可以编写PHP代码:

if(Some condition)
{   
    $statusString = "u=".$macaddress.";t1=".$time.";s=10;r=-33;v=".$voltage.";";
    echo "<a href='second.php?newFormat=$statusString&MACAddress=$macaddress'>link</a>";
}

无需添加更多<?php ?>标记,您只会混淆PHP解析器。

编辑:您可能还应对您的值进行网址编码,因为它们看起来有点复杂:

echo '<a href="second.php?newFormat=' . urlencode($statusString) . '&MACAddress=' . urlencode($macaddress) . '">link</a>';

答案 1 :(得分:0)

我想这个

<?php echo "<a href='second.php?newFormat=$statusString&MACAddress=$macaddress'>link</a>"; ?>

不是您文件中的第一行。所以你应该删除<?php?>,因为它是一个PHP文件,应该已经有一个php开始标记。