在PHP中将参数发送到url

时间:2017-11-24 03:43:36

标签: php

我在将参数发送到另一个网页的网址时遇到问题。我是用PHP编码的新手,所以我真的不知道如何解决这个问题,已经对$ _GET方法进行了一些研究,但它仍然没有用。

第一页的代码:

echo "<tr><td><a href='application_desktop.php?id='". $temp ."'>" . $row['appl_nric_date'] . "</td><td>" . $row['applicant_name'] . "</td><td>" . $row['nric'] . "</td><td>" . $row['application_date'] . "</a></td></tr>";

其中$temp是我想传递给网址的参数。

第二页的代码:

$id = $_GET['id'];
$applicants = mysql_query("SELECT * FROM tblapplication WHERE appl_nric_date = $id");
//$applicants = mysql_query("SELECT * FROM tblapplication WHERE appl_nric_date = 10");

sql查询返回$ id为null的错误,并且url不显示id。

2 个答案:

答案 0 :(得分:1)

在你的html行上这样做

echo "<tr><td><a href=" . 'application_desktop.php?id=' . $temp . ">" . $row['appl_nric_date'] . "</td><td>" . $row['applicant_name'] . "</td><td>" . $row['nric'] . "</td><td>" . $row['application_date'] . "</a></td></tr>";

答案 1 :(得分:0)

我运行了你的代码以查看输出内容:

// Make some sample data
$row = [
'appl_nric_date' => '9999-99-99',
'applicant_name' => 'some-applicant',
'nric' => 'wtf-is-an-nric',
'application_date' => '8888-99-00'
];

$temp = 'something';

echo "<tr><td><a href='application_desktop.php?id='". $temp ."'>" 
    . $row['appl_nric_date'] 
    . "</td><td>" 
    . $row['applicant_name'] 
    . "</td><td>" 
    . $row['nric'] 
    . "</td><td>" 
    . $row['application_date'] . "</a></td></tr>";

echo PHP_EOL;

这是它输出的内容:

<tr><td><a href='application_desktop.php?id='something'>9999-99-99</td><td>some-applicant</td><td>wtf-is-an-nric</td><td>8888-99-00</a></td></tr>

使用单引号是不对的。删除id=后的单引号。

看起来你没有正确嵌套你的html元素。您将开头A标签放在第一个TD内,但是关闭该TD而不关闭A标签。

为了在浏览器中调试您正在执行的操作,那么url所在的地址栏应显示发送到目标页面的参数。您可以查看它以验证它是否发送了您想要的内容。

在目标页面中,您可以添加以下内容进行调试:

<pre>
    <?php print_r($_GET) ?>
</pre>

以上内容可让您了解从第一页获得的内容。