如何直接从html标签分配会话变量?

问题描述 投票:0回答:1

我试图将$ _SESSION变量直接设置到标签中,但它不起作用。

下面是我的标签

<td><a href="persons.php?name='.$row['name'].'"> '.$row['name'].'</a></td>

我能做点什么吗

<td><a href="persons.php?name= $_SESSION['test'] ='.$row['name'].'"> '.$row['name'].'</a></td>

我也尝试过

        <?php
        session_start();
        $_SESSION['name'] = ".$row['name'].";

然后将$ _SESSION ['name']传递给tag,但我做错了。

        <?php
        session_start();
        if(mysqli_num_rows($sql) == 0){
            echo '<tr><td colspan="8">Data not found.</td></tr>';
        }else{
            $no = 1;
            while($row = mysqli_fetch_assoc($sql)){
                echo '
                <tr>
                    <td>'.$no.'</td>
                    <td>'.$row['emp_id'].'</td>
                    <td><a href="test.php?name='.$row['name'].'"> '.$row['name'].'</a></td>
                    <td>'.$row['emp_address'].'</td>
                    <td>'.$row['emp_dob'].'</td>
                    <td>'.$row['emp_phone'].'</td>
                    <td>'.$row['emp_dept'].'</td>
                    <td>';
                echo '

                $no++;
            }
        }
        ?>

基本上我打算存储。$ row ['name']的值。到$ _SESSION变量然后将其传递给标记。

php html html5 session-variables
1个回答
0
投票

每个PHP代码必须被<?php?>包围。如果你只回应一个变量(就像在你的情况下),你可以使用<?=(它意味着与<?php echo相同)。

<?php
        session_start();
        if(mysqli_num_rows($sql) == 0) { ?>
            <tr><td colspan="8">Data not found.</td></tr>
        <?php } else {
            $no = 1;
            while($row = mysqli_fetch_assoc($sql)){ ?>
                <tr>
                    <td><?= $no ?></td>
                    <td><?= $row['emp_id'] ?></td>
                    <td><a href="test.php?name=<?= $row['name'] ?>"> <?= $row['name'] ?></a></td>
                    <td><?= $row['emp_address'] ?></td>
                    <td><?= $row['emp_dob'] ?></td>
                    <td><?= $row['emp_phone'] ?></td>
                    <td><?= $row['emp_dept'] ?></td>
                    <td>

                <?php
                $no++;
            }
        }
        ?>

编辑

问题是你试图同时分配和输出一个var,这是一个不好的做法,不应该这样做。首先分配变量,然后回显它。所以:

<?php
    $_SESSION['test'] = $row['name'];
?>

<td><a href="persons.php?name='<?= $_SESSION['test'] ?>'"> <?= $_SESSION['test'] ?></a></td>
© www.soinside.com 2019 - 2024. All rights reserved.