isset($ _ GET [])不在php中回显

时间:2018-03-14 10:07:17

标签: php

我有一个非常基本的问题。我正在尝试使用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>

感谢!!!

4 个答案:

答案 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>