<?php if(isset($_SESSION['guest2First']))
echo '<tr><td>';
echo '<input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this)" size ="22"/>';
echo '</td><td>';
echo $first["guest2First"] , ' ', $middle["guest2Middle"] , ' ',$last["guest2Last"];
echo '</td></tr>'?>
我有一个使用$ _SESSION变量的表单,使用上面的代码填充一些内容。
我需要做的是
除了数字4之外,一切似乎都能正常工作。没有任何内容可以回到第二个单元格中。
我确定
echo $first["guest2First"] , ' ', $middle["guest2Middle"] , ' ',$last["guest2Last"];
是问题所在。 如何修复此语法以达到我想要的效果?
答案 0 :(得分:1)
有几个更好的语法选项:
<?php if(isset($_SESSION['guest2First'])){
$name = $_SESSION["guest2First"].
(isset($_SESSION["guest2Middle"])?' '.$_SESSION["guest2Middle"]:null).
(isset($_SESSION["guest2Last"])?' '.$_SESSION["guest2Last"]:null);
?>
<tr>
<td><input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this);" size ="22"/></td>
<td><?php echo $name;?></td>
</tr>
<?php }?>
或者
<?php
if(isset($_SESSION['guest2First'])){
echo '<tr>',
'<td><input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this);" size ="22"/></td>',
'<td>'.$name.'</td>',
'</tr>';
}
?>
答案 1 :(得分:1)
我认为你混合了var名称并且意味着$ _SESSION,而不是$ first,$ middle,$ last
<?php if(isset($_SESSION['guest2First']))
echo '<tr><td>';
echo '<input type="text" name="guest2Ticket" id="guest2Ticket" onblur="isTicketNumber(this)" size ="22"/>';
echo '</td><td>';
echo $_SESSION["guest2First"] , ' ', $_SESSION["guest2Middle"] , ' ',$_SESSION["guest2Last"];
echo '</td></tr>'?>