我试图创建一个消息系统,当接收者正在阅读消息时,会有一个回复消息的链接,如下所示:
<a href=mail.php?action=compose&toid='".urlencode($viewrow['sender'])."'&subject='RE:+".urlencode($viewrow['subject'])."'&message=".urlencode($viewrow['message']).">Reply</a>
正在从mysql中检索发件人,主题和消息。
用户看到的内容如下:
http://www.somesite.com/author/mail.php?action=compose&toid='8'&subject='RE:+test+subject'&message=test+message
我需要知道的是,如果有一种方法可以隐藏主题和来自回复网址的消息,那么用户只会在地址栏上看到:
http://www.somesite.com/author/mail.php?action=compose&toid='8'
这是从db中检索主题,消息和id的方式。
//view message
if (isset($_GET['action']) && $_GET['action'] == inbox) {
if(isset($_GET['viewid'])) {
$viewid = $_GET['viewid'];
/* $viewsql = "select * from mail where reciever='".$userid."' and mail_id=".$viewid; */
$viewsql = "select * from mail, authors where (mail.sender = authors.id) and (mail.reciever = '".$userid."') and (mail.reciever_deleted ='0') and mail.mail_id = ".$viewid;
$viewquery = mysql_query($viewsql,$connection) or die(mysql_error());
$viewrow = mysql_fetch_assoc($viewquery);
if ($viewrow['reciever'] == $userid) { //check if user is the reciever
} else {
header('Location: mail.php?action=inbox');
exit;
}
echo "<h3>Lendo mensagem particular da Caixa de Entrada</h3>";
echo "<table align=\"center\" width=\"75%\" class=\"sortable\">
<tr>
<td colspan='2' style=\"text-align:center;font-weight:normal;\">Mensagem particular enviada por ".$viewrow['displayname']." em ".date('d/m/y',strtotime($viewrow['created_at'])).".</td>
</tr>
<tr>
<td colspan='2'>
<img style=\"float:left;padding: 5px 15px 5px 2px;width: 65px;\" src=\"".$viewrow['gravatar']."\" alt=\"".$viewrow['displayname']."\" title=\"".$viewrow['displayname']."\" />
<div style=\"padding: 8px 5px 2px;\"><span style=\"font-size:1.6em;\">→ </span><b>".$viewrow['subject']."</b></div>
<div style=\"padding: 8px 30px 8px 85px;\">".nl2br($viewrow['message'])."<br /></div>
<span style=\"float:right;\">
<a href=mail.php?action=compose&toid='".urlencode($viewrow['sender'])."'&subject='RE:+".urlencode($viewrow['subject'])."'&message=".urlencode($viewrow['message']).">Responder</a> | <a href=javascript:confirmDelete('mail.php?action=inbox&deleteid=".$viewid."')>Apagar</a>
</span>
</td>
</tr>
</table>";
// mark as read by reciever
$query="update mail set mail_status='read' where reciever = '$userid' and mail_id = '$viewid'";
mysql_query($query,$connection) or die(mysql_error());
}
}elseif (isset($_GET['action']) && $_GET['action'] == outbox) { ...
我知道我需要使用帖子,但是怎么样?
我尝试但无法使其正常工作。
对不起我的愚蠢..
答案 0 :(得分:0)
您无法通过<a>
使用POST向页面发送信息
但您可以使用JavaScript或表单来完成。
答案 1 :(得分:0)
您无法隐藏查询字符串,但您可以通过POST发送数据,这在地址栏中不可见。为此,您需要使用表单提交数据;虽然Pietroalbini是正确的,你不能使用a
元素,你可以设置一个button
样式看起来相同的琐碎难度:
<style>
button {
background:none;
border: 0;
border-bottom:1px solid blue;
color: blue;
padding:0;
}
</style>
<form action="script.php" method="post">
<input type="text" name="Test"/>
<button type="submit">Submit</button>
</form>