Проблемы с Php / MySQL - больше не работает - PullRequest
0 голосов
/ 04 июля 2018

отчаянно нужна помощь здесь. Недавно я вернулся к игре, которую разработал несколько лет назад, когда у меня появилось немного свободного времени. Когда я оставил все это, код Php / mysqli работал отлично. Никаких проблем.

Однако сейчас это не так. Например, когда я пытаюсь войти в игру, я получаю имя пользователя и / или пароль неверен. Теперь, очевидно, я использую известное имя пользователя / пароль.

Я обнаружил, что он работает нормально на php5.1, но не на любой более высокой версии. Я подумал, что мне придется переписать код, чтобы он соответствовал php7, но у меня проблемы с этим.

Я проверил свой код на различных онлайн-контролерах с различными версиями php7 и каждый раз получаю эту ошибку ... Неустранимая ошибка: Uncaught Ошибка: класс «mysqli» не найден но нет синтаксических ошибок, нет устаревшего кода.

Я подтвердил на своем хосте, что mysqli установлен (cpanel), поэтому ясно, что проблема не в этом.

Я также проверил, используя этот фрагмент кода ...

if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
 echo 'you dont have';
 } else {
 echo 'you have!';
 }

У меня есть!

Я также проверил, есть ли соединение с базой данных. И когда я проверяю журнал ошибок php в cpanel, я вообще не получаю никаких ошибок.

Так что происходит? Это как если бы данные не извлекались из базы данных. Я имел обыкновение тестировать, меняя весь синтаксис POST на GET, чтобы я мог вручную войти через URL, но теперь это тоже не работает.

Любая помощь высоко ценится и заранее спасибо.

Мой скрипт входа в систему:

<?php 

$dbhost = 'localhost';
$dbuser = 'me';
$dbpass = 'xxxx';
$dbname = 'me_again';

$nameTable = 'table';
$string = '';


$conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);

if($conn->connect_error) {
    $string = 'valid=8';

} else {

$username = '';
$userpass = '';
$loginRequest = '';


  if (isset($_POST['username'])) {
    $username = $_POST['username'];
  }
   if (isset($_POST['userpass'])) {
    $userpass = $_POST['userpass'];
  }
   if (isset($_POST['loginRequest'])) {
    $loginRequest = $_POST['loginRequest'];
  } 


 if($loginRequest == "login") {

      if ($s = mysqli_prepare($conn, "SELECT `usersalt` FROM `{$nameTable}` WHERE `username`=? LIMIT 1")) {
         mysqli_stmt_bind_param($s, "s", $username);
         mysqli_stmt_execute($s);
         mysqli_stmt_store_result($s);
         if (1 == mysqli_stmt_num_rows($s)) {
            mysqli_stmt_bind_result($s, $usersalt);
            // fetch only 1 result
            mysqli_stmt_fetch($s);

       if ($s2 = mysqli_prepare($conn, "SELECT `username`,`cat1`,`cat2`,`cat3`,`cat4`,`cat5`,`cat6`,`userscore`,`userplayed`,`correct` FROM `{$nameTable}` WHERE `username`=? AND `userpass`=? ")) {
               $hashedpass = sha1($usersalt . $userpass);
               mysqli_stmt_bind_param($s2, "ss", $username, $hashedpass);
               mysqli_stmt_execute($s2);
               mysqli_stmt_store_result($s2);
               if (1 == mysqli_stmt_num_rows($s2)) {
                  mysqli_stmt_bind_result($s2, $res_name, $res_cat1, $res_cat2, $res_cat3, $res_cat4, $res_cat5, $res_cat6, $res_score, $res_played, $res_correct );
                  // fetch only 1 result
                  mysqli_stmt_fetch($s2);
                  header('Content-Type: text/xml');
                  echo "<?xml version='1.0'?>";
                  echo "<".$nameTable.">";
                  echo "<player>";
                  echo "<username>".$res_name."</username>";
                  echo "<cat1>".(int)$res_cat1."</cat1>"; 
                  echo "<cat2>".(int)$res_cat2."</cat2>"; 
                  echo "<cat3>".(int)$res_cat3."</cat3>";
                  echo "<cat4>".(int)$res_cat4."</cat4>"; 
                  echo "<cat5>".(int)$res_cat5."</cat5>"; 
                  echo "<cat6>".(int)$res_cat6."</cat6>";                   
                  echo "<userscore>".(int)$res_score."</userscore>";
                  echo "<userplayed>".(int)$res_played."</userplayed>"; 
                  echo "<correct>".(int)$res_correct."</correct>";                           
               }
               mysqli_stmt_close($s2);

} else {
               $msg = ((is_object($conn)) ? mysqli_error($conn) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false));
               $string = 'valid=0';
            }
         } else {
            $msg = ((is_object($conn)) ? mysqli_error($conn) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false));
            $string = 'valid=1';

         }
         mysqli_stmt_close($s);
      } else {
         $msg = ((is_object($conn)) ? mysqli_error($conn) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false));
         $string = 'valid=2';
      }

}
}

$conn->close();

echo $string;

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