我有一些游戏服务器,玩家可以使用关键字在游戏中打开网站。现在我想让他们使用关键字" / me"来查看自己的个人资料页面。它的作用是,它会打开一个看起来像这样的链接 " http://mywebsite.net/me.php?&NEWID=STEAM_0%3a1%3a40577662&SRVIP=145.226.237.229&SRVPORT=27030"
现在问题1是NEWID部分需要转换成其他格式,我使用
$split = explode(":", $_GET[ 'NEWID' ]); // STEAM_?:?:??????? format
$x = substr($split[0], 6, 1);
$y = $split[1];
$z = $split[2];
$namesearch = ($z * 2) + 0x0110000100000000 + $y;
它会给我正确的格式我需要一个17位数字,如45687654326787987 我使用这个数字进行数据库查找,以使用以下代码查找我们在网站上使用的用户ID;
// echo $namesearch. "<br>";
include 'db_login_details.php';
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
//echo "<br>";
$sql = "SELECT * FROM users WHERE loginname LIKE $namesearch";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
//echo "Your username: " . $row["username"]. "<br>";
//echo "Your userID: uid" . $row["uid"]. "<br>";
$uid = $row["uid"];
//echo $uid;
}
} else {
//echo "0 results";
}
$conn->close();
现在,一旦我获得了所需的所有信息,我想用
打开正确的个人资料页面header( 'http://mywebsite.net/member.php?action=profile&uid=' .$uid );
最后一步失败了,我知道在重定向之前你可能没有回应任何东西,这就是我评论所有回声线的原因,他们只是检查我的代码,但它仍然没有工作。有人为我提供解决方案吗?
祝你好运, 雅克
答案 0 :(得分:2)
问题是因为您没有定义位置,例如它应该如下所示:
header( "Location: http://mywebsite.php?action=profile&uid=" . $uid );