我有一个非常基本的问题。我正在尝试使用url传递变量。所以,我遇到了一个未定义索引的问题。为了解决这个问题,我使用了isset(),但是值为空白。谁能告诉我为什么会这样?
代码:
第1页:
<a href='print.php?id=$row[id]&rname=$row[rname]' class='btn c-theme-btn c-
btn-uppercase btn-xs c-btn-square c-font-sm'>Print</a>
第2页:
<td><?php
if(isset($_GET['rname'])){
$name=$_GET['rname'];
echo $name;
?></td>
感谢!!!
答案 0 :(得分:1)
你已经在Page1的url中写了id和name,但是在Page2中,你写了rname,它应该是 name ,来自Page1的url。所以,它应该是
if(isset($_GET['name'])){
$name=$_GET['name'];
echo $name;
?>
答案 1 :(得分:1)
在您的第一页中,将内容&name=$row[rname]
修改为&rname=$row[rname]
,您就可以在第二页echo
中找到该名称。
答案 2 :(得分:1)
嗯,这是你的代码
<a href='print.php?id=$row[id]&name=$row[rname]' ... >Print</a>
因此,只有当您搜索$_GET['id']
(等于$row[id]
)和$_GET['name']
(等于$row[rname]
)时,您才会获得价值。
要仅在非空,null或isset时获取值,请尝试使用empty
:
if(!empty($_GET['rname'])){
$name=$_GET['rname'];
echo $name;
}
不要忘记改变你的代码
if(!empty($_GET['name'])){ // change rname by name
$name=$_GET['name']; // change rname by name
echo $name;
}
OR
<a href='print.php?id=$row[id]&rname=$row[rname]' ...>Print</a>
正如评论中所述,我也会使用<?= ...; =>
来确保获得php值(它等同于<?php echo ... ?>
:
//change name by rname to use $_GET['rname'] :
<a href='print.php?id=<?= $row["id"]; ?>&rname=<?= $row["rname"]; ?>' ... >Print</a>
所以你可以使用$_GET['rname']
答案 3 :(得分:0)
首先使用<?= ?>
打印php值,然后将name
中的参数重命名为rname
<a href="print.php?id=<?= $row['id']?>&rname=<?= $row['rname'] ?>" class='btn
c-theme-btn c-btn-uppercase btn-xs c-btn-square c-font-sm'>Print</a>
然后你可以在下面的
中获取它<td><?php
if(isset($_GET['rname'])){
$name=$_GET['rname'];
echo $name;
}
?></td>