我创建了一个私人消息传递系统,但是我有一个讨厌的$ _GET问题。
的一切都在这里首先是针对“sendmail.php”网页的完整代码,用于形式发送邮件
<?php
include("header.php");
include("connect.php");
$mailid = $_GET['username'];
$replyname = $_GET['user'];
?>
<form action="send.php" method="post" name="sendpm">
<table>
<tr>
<td>
<font color='orange'>To</font>
</td>
<?php IF ($mailid != ''){ ?>
<td>
<input type="text" name="touser" id="touser" value="<?php echo $mailid;?>"/>
</td>
<?php }elseif($replyname != ''){ ?>
<td>
<input type="text" name="touser" id="touser" value="<?php echo $replyname;?>"/>
</td>
<?php }else{ ?>
<td>
<input type="text" name="touser" id="touser" value="<?php echo $replyname;?>"/>
</td>
<?php } ?>
</tr>
<tr>
<td>
<font color='orange'>Subject</font>
</td>
<td>
<input type="text" name="subject" id="subject" />
</td>
</tr>
<tr>
<td>
<font color='orange'>Message</font>
</td>
<td>
<textarea name="message" cols="60" rows="10" id="message"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Send PM" />
</td>
</tr>
</table>
</form>
<?php
include("footer.php");
?>
好了,你可以在这里看到
$mailid = $_GET['username'];
$replyname = $_GET['user'];
取决于它来自哪里,我可以得到两个不同的结果。 “mailid”是如果你从一个配置文件被定向的。 “回复姓名”是如果你点击了“回复”你收到的邮件。
现在,如果我尝试从头开始发送邮件,我会被告知“用户名”和“用户”未定义(因为我并非来自包含它们的链接)。如果我来自一个链接,那么另一个链接将不确定,反之亦然。
我可以通过添加isset
来解决这个问题,但由于某种原因,它会一直显示一个“1”而不是应该显示的用户名(如果我按照没有isset的链接显示IS)。
这非常烦人,我一直在努力解决它很多年!
我刚刚意识到isset交易是真的还是假的。因此,“1”是指它是真实的,所以我把它改成
IF(isset($_GET['username'])){
$mailid = $_GET['username'];
}
IF(isset($_GET['user'])){
$replyname = $_GET['user'];
}
我想这将是罚款,但仍显示1?
你在哪里回应他们? – 2014-12-05 13:11:09
只是因为你不知道如何使用功能并不意味着它不能正常工作 – 2014-12-05 13:32:12
@LoganMurphy任何需要的?一个函数显然总是能正常工作。 – Ben 2014-12-05 13:33:55