PHP - Неожиданное остальное в строке 60 - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь настроить панель для своей игры.

Я пытался ее исправить

<?php
$referer = isset($_SERVER['HTTP_REFERER']) ? _SERVER['HTTP_REFERER'] : 'undefined';
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'undefined';

$address = 'undefined';

if (isset($_SERVER)) {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $address = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $address = $_SERVER['HTTP_CLIENT_IP'];
    } else {
        $address = $_SERVER['REMOTE_ADDR'];
    }
}

if ($address === '47.39.46.24') {


$host       = "localhost";
$dbusername = "asta";
$dbpassword = "***";
$dbname     = "asta";
// Create connection
$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
        . mysqli_connect_error());
} else {

  $roleid = filter_input(INPUT_POST, 'roleid');
  $rolename = filter_input(INPUT_POST, 'rolename');
  $rolepermission = filter_input(INPUT_POST, 'rolepermission');
  $rolecolor = filter_input(INPUT_POST, 'rolecolor');
  if (!empty($roleid)) {
    if (!empty($rolename)) {
    if (!empty($rolepermission)) {
        if (!empty($rolecolor)) {
        $sql    = "SELECT `id` FROM `roles` WHERE `id`='$roleid'";
        $result = $conn->query($sql);
        if ($result->num_rows >= 1) {
            echo "The role with id '$roleid' is already in the database.";
        } else {
            $sql = "INSERT INTO roles (id, name, permissions, color) values ('$roleid','$rolename','$rolepermission','$rolecolor')";
            if ($conn->query($sql)) {
                echo "The role '$rolename' has been created!!";
            } else {
                echo "Error: " . $sql . "" . $conn->error;
            }
            $conn->close();
       }} }
    } else {
        echo "ROLEID should not be empty";
        die();
    }
  } else {
    echo "ROLENAME should not be empty";
    die();
  }
    else {
    echo "ROLEPERMISSION should not be empty";
    die();
}

    else {
    echo "ROLECOLOR should not be empty";
    die();
}

}

}
?>

Я ожидал, что она обработает запрос ..

Можеткто-нибудь, пожалуйста, помогите?Я новичок в кодировании, и вы все очень помогли.

Снова .. спасибо за все, парни и девушки

Я знаю, что код уязвим для SQL-инъекций.Я буду беспокоиться об этом до выхода этого.

1 Ответ

0 голосов
/ 17 июня 2019

У вас фактически есть оператор IF...ELSE...ELSE из-за закрытия блока $rolepermission перед Else (строка 51).Правильный отступ в вашем коде должен помочь поймать их, сделав поток более понятным.

Каждый Else также кажется не в порядке.Проверьте код ниже, чтобы увидеть, работает ли он так, как вы ожидаете:

<?php
$referer = isset($_SERVER['HTTP_REFERER']) ? _SERVER['HTTP_REFERER'] : 'undefined';
$agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'undefined';

$address = 'undefined';

if (isset($_SERVER)) {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $address = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $address = $_SERVER['HTTP_CLIENT_IP'];
    } else {
        $address = $_SERVER['REMOTE_ADDR'];
    }
}

if ($address === '47.39.46.24') {


  $host       = "localhost";
  $dbusername = "asta";
  $dbpassword = "***";
  $dbname     = "asta";
  // Create connection
  $conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);

  if (mysqli_connect_error()) {
      die('Connect Error (' . mysqli_connect_errno() . ') '
        . mysqli_connect_error());
  } else {

    $roleid = filter_input(INPUT_POST, 'roleid');
    $rolename = filter_input(INPUT_POST, 'rolename');
    $rolepermission = filter_input(INPUT_POST, 'rolepermission');
    $rolecolor = filter_input(INPUT_POST, 'rolecolor');

    if (!empty($roleid)) {
      if (!empty($rolename)) {
        if (!empty($rolepermission)) {
          if (!empty($rolecolor)) {
            $sql    = "SELECT `id` FROM `roles` WHERE `id`='$roleid'";
            $result = $conn->query($sql);

            if ($result->num_rows >= 1) {
              echo "The role with id '$roleid' is already in the database.";
            } else {
              $sql = "INSERT INTO roles (id, name, permissions, color) values ('$roleid','$rolename','$rolepermission','$rolecolor')";

              if ($conn->query($sql)) {
                echo "The role '$rolename' has been created!!";
              } else {
                echo "Error: " . $sql . "" . $conn->error;
              }

              $conn->close();
            }
          }
          else {
            echo "ROLECOLOR should not be empty";
            die();
          }
        }
        else {
          echo "ROLEPERMISSION should not be empty";
          die();
        }
      }
      else {
        echo "ROLENAME should not be empty";
        die();
      }
    } 
    else {
      echo "ROLEID should not be empty";
      die();
    }
  }

}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...