php echo text使用会话变量,并在设置其他会话变量时取消设置会话变量?

时间:2015-01-05 15:48:26

标签: php session session-variables

我正在尝试使用会话变量而不是使用jquery来执行以下功能。 我的页面上有一些文字invoice.php:

Text A

当用户第一次访问该页面时,我通过使用会话变量将此文本作为页面标题回显:

<?php $_SESSION['ref'] = '<div class="inv_ref"><h23>Text A</h23></div>'; ?>
<?php if (isset($_SESSION['ref'])) {
echo $_SESSION['ref'];
unset($_SESSION['ref']); } ?>

但是,一旦用户在该页面上提交以下表单:

<form action="include/process_invoice.php" method="post" enctype="multipart/form-data">
<input type="text" id="partNumber" placeholder="e.g. PO012345" class="login_form" />  
<input type="submit" value="Upload Invoice" name="submit" class="file">
</form>

然后在我的网页上处理该表单&#39; process_invoice.php&#39;一旦完成,我将两个新会话回显到我的页面invoice.php:

    $_SESSION['message2'] = '<div id="message_box3"><div class="boxclose" id="boxclose" onclick="this.parentNode.parentNode.removeChild(this.parentNode);">&#10006;</div><h23>Thank You!</h23><p>You have successfully submitted your invoice.</p> </div>';

    $_SESSION['ref2'] = '<div class="inv_ref"><h23>REF: 12345678</h23></div>';
    unset($_SESSION['ref']);

header("location:../invoice.php"); 

所以你可以看到我试图取消我的会话&#39; ref&#39;这是我的文字A&#39;并隐藏此文字,以便在我的会话&#39; ref2&#39;是可见的吗?

这可能吗?如果可以,有人可以告诉我哪里出错了吗?感谢

1 个答案:

答案 0 :(得分:0)

在invoice.php中,将其替换为:

<?php if (isset($_SESSION['ref'])) {
 echo $_SESSION['ref'];
 unset($_SESSION['ref']); } ?>

为此:

<?php if (isset($_SESSION['ref2'])) {
echo $_SESSION['ref2'];
} else {
echo $_SESSION['ref'];
} ?>

当您的invoice.php重新加载时,您会看到REF: 12345678而不是Text A