Примечание: Сначала вы должны понять, как передать переменные в URL с параметрами. Вам не хватает базовых знаний о том, как передавать переменные в качестве параметров в URL-адресе.
Правила:
- Первый параметр будет дано с только
?
знаком со значением
- Второй параметр в которой будет вестись с
&
символом вместе со значениями.
- Вы можете добавить любое количество параметров, чтобы первый из них был с символом
?
, иначе код не будет работать.
Пример:http:// domain.com?first_param=1&second_param=2
Краткие пояснения по URL параметров.
http://domain.net/page.php?id=1254
Почему знак вопроса после имени страницы?
Ответ заключается в том, что символы после знака вопроса являются строкой запроса HTTP. Строка запроса HTTP может содержать как переменные, так и их значения. В приведенном выше примере строка запроса HTTP содержит переменную с именем «id» со значением «1254».
Вот еще один пример:
http://domain.net/page.php?name=Joe
Опять же, у вас есть переменная ("имя") со значением ("Joe").
Как получить переменную с помощью PHP?
Предположим, у вас есть страница PHP с именем people.php. Теперь вы можете вызвать эту страницу, используя следующий URL:
people.php?name=Joe
с помощью PHP, вы будете иметь возможность получить значение «имя» переменной, как это:
<?php
echo $_REQUEST['name']; // Result the Output as Joe
echo $_GET['name']; // Result the Output as Joe
?>
Давайте попробуем его в пример:
<html>
<head>
<title>Query string</title>
</head>
<body>
<?php
// The value of the variable name is found
echo "<h1>Hello " . $_GET["name"] . "</h1>";
// The value of the variable name is found
echo "<h1>Hello " . $_REQUEST["name"] . "</h1>";
?>
</body>
</html>
Несколько переменных в одном URL:
Вы не ограничены пропусками только одной переменной в URL-адресе. Разделяя переменные с &, несколько переменных могут быть переданы:
people.php?name=Joe&age=24
Этот URL содержит две переменные: имя и возраст. Точно так же, как и выше, вы можете получить переменные, как это:
$_GET["name"]
$_GET["age"]
Давайте добавим дополнительную переменную к примеру:
<html>
<head>
<title>Query string </title>
</head>
<body>
<?php
// The value of the variable name is found
echo "<h1>Hello " . $_GET["name"] . "</h1>";
// The value of the variable age is found
echo "<h1>You are " . $_GET["age"] . " years old </h1>";
?>
</body>
</html>
решение для Вашего кодекса
1.) Ваш URL должен быть таким, как я сказал ниже.
http://mywebsite.com/postServer.php/?type=cmd&game=5342252
Только тогда вы можете получить данные из URL отдельно
2.) Для того, чтобы получить данные из URL, вы должны использовать $_GET
$_REQUEST
ИЛИ. Но вы использовали $_POST
который полностью промах
Это должно быть
$type = $_REQUEST["type"];
$game = $_REQUEST["game"];
3.) Если заявление, кажется, ошибка в коде.
Вы должны заменить его, как это:
if($type == "cmd") {}
Но вы сделали, как этот if(type == "cmd") {}
whoch приводит к фатальной ошибке.
4.) При выборе операторов вы должны проверить счетчик выполненного запроса, так как если счетчик равен ZERO, и вы выполняете while
или foreach
, вы можете столкнуться с ошибкой. Следовательно, весь код будет выглядеть следующим образом:
<?php
$type = $_REQUEST["type"];
$game = $_REQUEST["game"];
if($type == "cmd") {
$con = new mysqli("localhost","***","***","***");
if(mysqli_connect_errno()){
echo(mysqli_connect_error());
}
$data = $con->query("SELECT * FROM onlineservers WHERE gid =".$game);
$count = $data->num_rows;
if($count==0)
{
// perform the failure action
}
else
{
while($row = $data->fetch_array()){
echo json_encode(array('command' => $row[cmd]));
}
}
}
?>
После того, как вы сделали все проверки, которые я уже упоминал выше, вы должны обеспечить примечание ниже, чтобы проверить ваш код работает или нет.
Примечание: Вы первый положил эхо ЗЕЬЕСТ, а затем прервать выполнение, поставив выход; и вы скопируете оператор, который будет эхом, и поместите его в SQL БД, а затем проверьте, не возникает ли какая-либо ошибка при вставке. Если ошибка не возникает, удалите эхо и удалите выход;
Если я удалю, если (trype == 'cmd') {} Я получаю сообщение об ошибке; Вызов функции-члена fetch_array() для не-объекта –
Я четко объяснил ваши ошибки в отношении кода, и я дал вам решения для ответа. взгляните и поделитесь мыслями. если вы столкнетесь с каким-либо препятствием, дайте мне знать, и мы его разрешим. –
Я добавил примечание и изменил код с более ясными объяснениями. Надеюсь, это было бы полезно для вас. Спасибо :) –