我得到了这些文件:
正在更新脚本:
<script>
function TradeURLTimer() {
setInterval(function(){
jQuery.ajax({
url: "assets/cores/check_username.php",
data:'TradeURL='+$("#TradeURL").val(),
type: "POST",
success:function(data){
$("#username-availability-status").html(data);
},
error:function (){}
});
}, 3000);
}
</script>
我的check_username.php:
<?php
// Variables to connection
$mysql_hostname = "localhost";
$mysql_user = "*******";
$mysql_password = "*********";
$mysql_database = "**********";
$prefix = "";
// Create connection
$conn = mysql_connect($mysql_hostname, $mysql_user, $mysql_password);
$connect = mysql_select_db($mysql_database, $conn);
$TradeURL=$_POST['TradeURL'];
$count_TradeURLs = mysql_num_rows(mysql_query("SELECT * FROM users WHERE TradeURL='$TradeURL'"));
switch ($count_TradeURLs) {
case "0":
?>
<section class="feed-item col-md-2 pull-left">
<div style="padding-top: 5px;" class="icon">
<i class="fa fa-check color-green"></i>
</div>
</section>
<?php
echo $TradeURL;
break;
case "1":
?>
<section class="feed-item col-md-2 pull-left">
<div style="padding-top: 5px;" class="icon">
<i class="fa fa-remove color-red"></i>
</div>
</section>
<?php
break;
}
?>
我插入的文本$_POST['TradeURL']
为=
https://steamcommunity.com/tradeoffer/new/?partner=53756765&token=bnsKYKib
但不知何故,当我要求check_username.php
回显变量$TradeURL
时,它只是
https://steamcommunity.com/tradeoffer/new/?partner=53756765
所以有东西正在删除链接的最后一部分:
"&token=bnsKYKib"
为什么会发生这种情况?我想不通。我试着把它转换成字符串并拆分,但结果仍然一样。。。
正如@leonardo_palma所指出的,您的TradeURL变量正在由PHP解析。您必须对其进行编码,才能将其发送到另一个页面,然后对其进行解码。以下是您的操作方法:
更新脚本:
// ...
data: 'TradeURL='+encodeURIComponent($("#TradeURL").val()),
// ...
check_username.php:
// ...
$TradeURL = urldecode($_POST['TradeURL']);
// ...