每次点击提交按钮时都会创建一个新的div而不替换之前的div

时间:2015-08-17 17:23:16

标签: php html

*<form action="" method="post">
  <br><br><br>
  <label style="padding-left:40px; font-size:28px; height:24px;">To</label>
  <input type="text" name="mail" style="width:280px; height:24px;"></input>
  <br><br>
  <textarea rows="10" cols="41" name="notify" style="margin-left:50px;"> 
  </textarea>
  <br><br>
  <input type="reset" value="Reset" style="margin-left:80px; width:100px; height:30px;"></input>
  <input type="submit" value="Send" name="send" style="margin-left:50px; width:100px; height:30px;"></input>
 </form>* 

这是我的HTML代码的一部分

 *<?php
  if(isset($_POST['mail'])&&isset($_POST['notify']))
   {
    $email=$_POST['mail'];
    $notification=$_POST['notify'];
    if(!empty($email)&&!empty($notification))
     {
      include "db.php";
      $query="insert into notification(email,notification) values('$email','$notification')";
      $result = mysql_query($query);
      if($result)
       {
        $_SESSION['mail']=$email;
        $_SESSION['notify']=$notification;
       }
     }
   }
 ?>*

这是我的PHP代码的一部分。我已经开始了会议 代码运行正常我可以在数据库中输入电子邮件和通知。但我希望通知显示在另一个页面中。我可以显示通知。但每次我向同一封电子邮件提交通知时,新通知都会替换旧通知。我希望每次用户在新页面中提交时都会显示每个通知。

我为新页面编码如下

    *<?php
     session_start();
     if($_SESSION['login_user']==$_SESSION['mail'])
      {
        echo '<div id="notificationdiv" style="background-color:#CFC; width:100%; height:30px">'.$_SESSION['notify'].'</div>';   
      } 

?>*

1 个答案:

答案 0 :(得分:1)

希望我能正确理解你。 但从它的外观来看,你需要通过连接追加/添加新的通知:

例如(例1):

$_SESSION['notify'] .= $notification . ',';

目前,您正在撰写之前的通知。 在上面的示例中,我使用逗号分隔通知。 例如,你可以使用和其他特殊字符分开它们。

例如(例2)

$_SESSION['notify'] .= $notification . '/';

然后,您可以使用explode来分隔通知

例如(例如1):

$notifications = explode( ',' , $_SESSION['notify']);

foreach($notifications as $notification){

 echo  '<div>' . $notification . '</div>';    

}

例如(例如2):

$notifications = explode( '/' , $_SESSION['notify']);

foreach($notifications as $notification){

 echo  '<div>' . $notification . '</div>';    

}