Я пытаюсь установить переменную $ _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’] в тег, но я делаю это неправильно.
<?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 должен быть окружен <?php
а также ?>
, Если вы только повторяете viariable (как в вашем случае), вы можете использовать <?=
вместо этого (это означает, что <?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++;
}
}
?>
РЕДАКТИРОВАТЬ
Проблема в том, что вы пытаетесь одновременно назначать и выводить переменную, что является плохой практикой и не должно выполняться. Сначала вы назначаете переменную, а затем повторяете ее. Так:
<?php
$_SESSION['test'] = $row['name'];
?>
<td><a href="persons.php?name='<?= $_SESSION['test'] ?>'"> <?= $_SESSION['test'] ?></a></td>
Других решений пока нет …