Не работает код на PHP
Не знаю, в чём проблема, код не запускается, жалуется на символ «;».
<?php
include "global.php";
if ($_POST ['login'] == null || $_POST['password'] == null || $_POST ['hwid'] == null)
die();
$controller = new mysqli(DB_HOST,DB_LOGIN,DB_PASSWORD,DB_NAME);
$u_login = $_POST ['login'];
$u_password = $_POST ['password'];
$u_hwid = $_POST['hwid'];
$rsp = $controller->query("SELECT * FROM users WHERE login='$u_login' AND password='$u_password'");
if($rsp->num_rows == 0)
[
$controller->close();
die("2");
]
$u_data = $rsp->fetch_assoc();
$id = $u_data['id'];
$db_hwid = $u_data ['hwid'];
if($db_hwid == null)[
$controller->query("UPDATE users SET hwid='$u_hwid' WHERE id='$id'");
$controller->close();
die("3");
]
if($db_hwid != $u_hwid)
[
$controller->close();
die("4");
]
$controller->close();
die("1");
Ответы (1 шт):
Автор решения: Simon
→ Ссылка
Как я и писал в комментарии в условиях if у Вас спутаны {} с []. Там где у вас должны быть фигурные скобки, почему-то используются квадратные.
У Вас условие выглядит:
if (...) [
...
]
а должно быть:
if (...) {
...
}
Попробуйте сделать таким образом:
<?php
include "global.php";
if ($_POST ['login'] == null || $_POST['password'] == null || $_POST ['hwid'] == null)
die();
$controller = new mysqli(DB_HOST,DB_LOGIN,DB_PASSWORD,DB_NAME);
$u_login = $_POST ['login'];
$u_password = $_POST ['password'];
$u_hwid = $_POST['hwid'];
$rsp = $controller->query("SELECT * FROM users WHERE login='$u_login' AND password='$u_password'");
if($rsp->num_rows == 0) {
$controller->close();
die("2");
}
$u_data = $rsp->fetch_assoc();
$id = $u_data['id'];
$db_hwid = $u_data ['hwid'];
if($db_hwid == null) {
$controller->query("UPDATE users SET hwid='$u_hwid' WHERE id='$id'");
$controller->close();
die("3");
}
if($db_hwid != $u_hwid) {
$controller->close();
die("4");
}
$controller->close();
die("1");