我有一个包含表结构的变量,我想在表中添加php代码。我已经尝试将代码语句添加到变量中,然后在表中获取变量数据,但我认为这是不可能的,这样做的正确方法是什么。
$table='<table border="1" cellspacing="0" cellpadding="0"><tr>
<td width="638" valign="top">**ADD CODE HERE**</td></tr>
</table>';
echo $table;
以下是我想在列中添加的代码:
if($_SESSION['Mmsg']['Mreg-err'])
{
echo '<div class="err">'.$_SESSION['Mmsg']['Mreg-err'].'</div>';
unset($_SESSION['Mmsg']['Mreg-err']);
}
if($_SESSION['Mmsg']['Mreg-success'])
{
echo '<div class="success">'.$_SESSION['Mmsg']['Mreg-success'].'</div>';
unset($_SESSION['Mmsg']['Mreg-success']);
}
我尝试在$ notification中添加代码,然后添加
$notification='if($_SESSION['Mmsg']['Mreg-err'])
{
echo '<div class="err">'.$_SESSION['Mmsg']['Mreg-err'].'</div>';
unset($_SESSION['Mmsg']['Mreg-err']);
}
if($_SESSION['Mmsg']['Mreg-success'])
{
echo '<div class="success">'.$_SESSION['Mmsg']['Mreg-success'].'</div>';
unset($_SESSION['Mmsg']['Mreg-success']);
}';
'。 $通知。 “
表内如:
$table='<table border="1" cellspacing="0" cellpadding="0"><tr>
<td width="638" valign="top">' . $notification . '</td></tr>
</table>';
echo $table;
但是不可能,有没有办法实现这个目标?我是新手
答案 0 :(得分:3)
编辑添加了你的unsets ...
if($_SESSION['Mmsg']['Mreg-err'])
$notification = '<div class="err">'.$_SESSION['Mmsg']['Mreg-err'].'</div>';
if($_SESSION['Mmsg']['Mreg-success'])
$notification = '<div class="success">'.$_SESSION['Mmsg']['Mreg-success'].'</div>';
unset($_SESSION['Mmsg']['Mreg-err']);
unset($_SESSION['Mmsg']['Mreg-success']);
$table='<table border="1" cellspacing="0" cellpadding="0"><tr>
<td width="638" valign="top">' . $notification . '</td></tr>
</table>';
echo $table;
答案 1 :(得分:1)
你能把你想要的内容放到$ notification变量吗?
var $notification=""; // is 'var' idiomatic PHP? Not used it much lately.
if($_SESSION['Mmsg']['Mreg-err'])
{
$notification= '<div class="err">'.$_SESSION['Mmsg']['Mreg-err'].'</div>';
unset($_SESSION['Mmsg']['Mreg-err']);
}
if($_SESSION['Mmsg']['Mreg-success'])
{
$notification = $notification . '<div class="success">'.$_SESSION['Mmsg']['Mreg-success'].'</div>';
unset($_SESSION['Mmsg']['Mreg-success']);
}
$table='<table border="1" cellspacing="0" cellpadding="0"><tr> <td width="638" valign="top">' . $notification . '</td></tr> </table>';
echo $table;
然而,对我来说,有几件事情对我来说很奇怪。
首先,为什么有错误或成功消息的单独Session变量?为什么没有$_SESSION['Mmsg']['Mreg-outcome']
?那你就不需要那样切换了。
你还需要echo
桌子吗?为什么不让页面可以使用$notification
变量,然后让表格在页面中执行以下操作:
<table><tr><td>$notification</td></tr></table>
最后,除了显示表格数据之外,最好不要使用该表,否则你会让小猫哭泣。看起来很可疑,好像您可能计划将其用于页面格式化。
答案 2 :(得分:1)
<?php
// snipped code
$table='<table border="1" cellspacing="0" cellpadding="0"><tr>
<td width="638" valign="top">' . $notification . '</td></tr>
</table>'
echo $table;
// snipped code
?>
这可以像这样重写:
<?php
// snipped code
?>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="638" valign="top"><?=$notification?></td>
</tr>
</table>
<?php
// snipped code
?>
更清洁,不是吗?
if
语句也有替代语法,我觉得更容易理解。
<?php
// snipped code
if($_SESSION['Mmsg']['Mreg-err'])
{
echo '<div class="err">'.$_SESSION['Mmsg']['Mreg-err'].'</div>';
unset($_SESSION['Mmsg']['Mreg-err']);
}
if($_SESSION['Mmsg']['Mreg-success'])
{
echo '<div class="success">'.$_SESSION['Mmsg']['Mreg-success'].'</div>';
unset($_SESSION['Mmsg']['Mreg-success']);
}
// snipped code
?>
这可以改写:
<?php
// snipped code
?>
<?php if($_SESSION['Mmsg']['Mreg-err']): ?>
<div class="err"><?=$_SESSION['Mmsg']['Mreg-err']?></div>
<?php unset($_SESSION['Mmsg']['Mreg-err']); ?>
<?php endif; ?>
<?php if($_SESSION['Mmsg']['Mreg-success']): ?>
<div class="success"><?=$_SESSION['Mmsg']['Mreg-success']?></div>
<?php unset($_SESSION['Mmsg']['Mreg-success']); ?>
<?php endif; ?>
<?php
// snipped code
?>
现在,如果发生任何错误,调试和跟踪会更容易。
答案 3 :(得分:0)
您正在做的事情完全正确,只是您没有正确地为通知变量分配值。这应该现在有效。
if($_SESSION['Mmsg']['Mreg-err'])
{
$notification= '<div class="err">'.$_SESSION['Mmsg']['Mreg-err'].'</div>';
unset($_SESSION['Mmsg']['Mreg-err']);
}
if($_SESSION['Mmsg']['Mreg-success'])
{
$notification = $notification . '<div class="success">'.$_SESSION['Mmsg']['Mreg-success'].'</div>';
unset($_SESSION['Mmsg']['Mreg-success']);
}
$table='<table border="1" cellspacing="0" cellpadding="0"><tr><td width="638" valign="top">' . $notification . '</td></tr></table>';
echo $table;
答案 4 :(得分:0)
你的问题不明确。我想猜测你的问题是什么,试试这个:
$table='<table border="1" cellspacing="0" cellpadding="0"><tr>
<td width="638" valign="top">' . htmlentities($notification) . '</td></tr>
</table>';
echo $table;
看看是否有效