PHP私信回复功能

时间:2014-03-09 05:10:07

标签: php

我所拥有的是一个回复脚本,我需要页面只使用echo'd为变量的用户名,就像Meap发送给我一个PM并且我想回复它,当我点击回复链接时我需要它来使用他的名字,而不是页面上的其他名字。目前,它使用页面上的第一个名称而不是回复链接用于

的名称

这是代码;

 while ($row = mysqli_fetch_array($data)) {
  session_start();
    $reply = $row['from'];
  echo '<div class="viewpost">';
  echo '<div class="vpside">';
    if(!empty($row['picture'])) {
    echo '<img class="pictest" src="' . MM_UPLOADPATH . $row['picture'] . '" alt="' . MM_UPLOADPATH . 'nopic.png' . '" />';
    }
  if(!empty($row['from'])) {
      echo '<p>From:<br />' . $row['from'] . '</p>';
      $_SESSION['reply'] =  $row['from'];
      echo '<a href="reply.php">Reply</a>';
    }
  if(!empty($row['rank'])) {
      echo '<p>Rank:<br />' . $row['rank'] . '</p>';
    }
  if(!empty($row['gender'])){
    echo '<p>Gender:<br /> ' . $row['gender'] . '</p>';
  }  
  echo '</div>';

    if(!empty($row['title'])) {
        echo'<h4><u>' .$row['title']. '</u></h4>';
    }
      if(!empty($row['msg'])) {
      echo '<p class="">' . $row['msg'] . '</p>';
    }
        echo '<div class="sig">';
      if(!empty($row['bio'])) {
      echo '<p>' . $row['bio'] . '</p>';
      }
      echo '</div>';
    echo '</div><br />'; 
    }

以下是您收到私信时的样子;

PM System

显然你必须具体到这里的最后一个细节,问题 - 或者说问题 - 是它没有使用正确的收件人进行回复。假设我点击Meaps名称下的回复,它将使用Lilpunish代替。基本上它将使用第一个加载,我需要它使用正确的用户名。我该怎么做??

1 个答案:

答案 0 :(得分:1)

这是你的问题:

  $_SESSION['reply'] =  $row['from'];
  echo '<a href="reply.php">Reply</a>';

考虑多次运行此代码时发生的情况。第一次,它将会话变量reply设置为Meap。 下次打印第二条消息时,会将其设置为其他值。

你真正想要的是传递谁作为链接的一部分回复,例如

echo '<a href="reply.php?to=' . $row['from'] .'">Reply</a>';

然后不从$ _SESSION检索回复。会话变量实际上不应该像这样使用。