Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблема на сайте \ Ошибка, не подключен javascript (https://javascript.ru/forum/jquery/61890-problema-na-sajjte-%5C-oshibka-ne-podklyuchen-javascript.html)

Фокусник 14.03.2016 09:16

Проблема на сайте \ Ошибка, не подключен javascript
 
Добрый день. С недавних пор, при попытке входа в систему управления стало выдавать ошибку: "Ошибка, не подключен javascript"

Собственно вот панель входа: http://fokys.ru/admin/

Вот скрипт из шапки:
<script type="text/javascript" src="/admin/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#theform').append('<input type="hidden" name="feedbacknumber" value="339467" />');
    });
</script>


Код скрипта jquery можно посмотреть в исходном коде сайта.

PS, сайт стабильно работал 10 лет. Раньше иногда возникала подобная ошибка, но со временем она самостоятельно проходила (уж не знаю как). Сейчас уже больше недели не могу залогиниться.

Реально ли это всё это дело починить?

laimas 14.03.2016 12:18

При не подключенном JQ, ошибку браузер выдаст совсем иную, да и ошибки он не будет выводить в вашу форму, да и не браузер сообщает "Ошибка, не подключен javascript", а ваш какой-от сценарий, ищите.

Фокусник 14.03.2016 13:03

Вот

<?php
if(@$_POST['do']==1){
    $yourcode       = softtrim($_POST["yourcode"]);
    $random_num     = softtrim($_POST["random_num"]);
    $feedbacknumber = softTrim($_POST['feedbacknumber']);

    if ($feedbacknumber != $_SESSION['feedbacknumber'] || empty($feedbacknumber))  
        $error=("Ошибка, не подключен javascript");
    else{
        // check control code
        $datekey = date("F j");
        $rcode   = hexdec(md5($_SERVER["HTTP_USER_AGENT"] . $GLOBALS["secureKey"] . $random_num . $datekey));
        $code    = substr($rcode, 2, 3);
        if($code==$yourcode) $error=("Указан некорректный код");// && false
        else{
            if(!$_POST['login']) $error="Введите, пожалуйста, имя пользователя";
            else
            if(!$_POST['password']) $error="Введите, пожалуйста, пароль";
            else{
               $uid = check_user(softtrim($_POST["login"]),softtrim($_POST["password"]));
               if($uid){
                  generate_session(session_id(),$uid);
                  header("Location: ".SITE_URL."admin/main.php");
                  die();
               }else{
                  $error="Неправильно указаны имя пользователя или пароль";
               }
            }
      }
   }

}
?>

laimas 14.03.2016 13:49

@$_POST['do']==1 - собака тут для чего? Не место ей здесь.

if ($feedbacknumber != $_SESSION['feedbacknumber'] || empty($feedbacknumber))
$error=("Ошибка, не подключен javascript");

Ну и ? JS тот тут причем? Не выполняется условие, получаем сообщение. Разбирайтесь со своей логикой.

И достаточно

if ($feedbacknumber && $feedbacknumber != $_SESSION['feedbacknumber']) ...

Фокусник 14.03.2016 15:29

Я бы с радостью ответил на ваши вопросы, если бы хоть на грамм понимал JS и php.
Но объясню ситуацию. Сайт разработали 10 лет назад одни люди. Спустя некоторое время (2 года назад) мы забрали его у них в целости и сохранности и радостно работали.

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

А в логике сайтостроителей и выполнение условий в написанном ими коде, мне разобраться составляет нереальным. Но в любом случае, спасибо, будем дальше пытаться разобраться в чем беда, потому что администрирование сайта через SQL базу - занятие крайне гадкое)

laimas 14.03.2016 15:42

Я не буду разбираться каким боком отсутствие $feedbacknumber или ее неравенство с сессионной переменной $_SESSION['feedbacknumber'] имеет отношение к JS. Надо полагать, что данное значение формируется скриптом на сервере, и в случае его отсутствия делается заключения, что JS не подключен.

Но если и так, то вот причем тут равенство, это разбирайтесь сами, код у вас. Ищите то место в коде где устанавливается $_SESSION['feedbacknumber'], что это такое и для чего. Разбирайтесь почему ее значение иное, ибо $_POST['feedbacknumber'] в наличии, с клиента этот параметр отправляется. В отладчике все это можно просмотреть.


Часовой пояс GMT +3, время: 02:40.