我創建了一個私人消息傳遞系統,但是我有一個討厭的$ _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