0
 <?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 変数を使用して、上記のコードを使用してコンテンツの一部を入力するフォームがあります。

私がしなければならないことは

  1. 変数が設定されているかどうかを確認する
  2. 2 つのセルを含む新しいテーブル行をエコーアウトする場合
  3. 最初のセルで、入力ボックスをエコーアウトします
  4. 2 番目のセルでは、それぞれの間にスペースを入れて 3 つの変数をエコーアウトします

番号 4 を除いて、すべて正常に動作しているようです。2 番目のセルには何もエコーされません。

きっと

echo $first["guest2First"] , ' ', $middle["guest2Middle"] , ' ',$last["guest2Last"];

が問題です。この構文を修正して、目的の結果を得るにはどうすればよいですか?

4

2 に答える 2

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>';
}
?>
于 2013-02-17T11:05:59.787 に答える
1

$first、$middle、$last の代わりに、var 名を混合して $_SESSION を意味していると思います

<?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>'?>
于 2013-02-17T11:07:12.657 に答える