Ответы пользователя по тегу JavaScript
  • Почему после ajax запроса кавычки меняются?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вот строка $str = str_replace('&', '', $str); вам всё и портит. Без неё выводимый текст будет иметь вполне корректный HTML-формат, правильно отображаемый в браузерах. А с вырезанными & уже получается невесть что...

    Но для безопасности вашего сайта нужно обфусцировать все <script>, что бы они не попадали к вашим пользователям в чистом виде - это небезопасно, XSS может получиться.
    Ответ написан
    Комментировать
  • Не понимаю как вывести все строки из одной таблицы?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну всё правильно, вы выводите не массив элементов, у кучу элементов, один за другим.
    Это как текст писать - без знаков препинания и пробелов, и читающим будет непонятно.
    Вот и JS такой JSON не примет, в нем ошибка, нет JSON-структуры.
    Сделайте так:
    $out = array();
    while ($row = $stmt->fetch()) {
        $out[] = $row;
    }
    header('Content-Type: application/json');
    echo(json_encode($out));
    exit();
    Ответ написан
  • Почему не выполняется PHP функция при клике?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых, в POST-запросе не указан идертификатор сессии (PHPSESSION кажется), а значит PHP сессию не найдет, а значит $_SESSION будет пустой.

    Во-вторых, кто и по какому условию запустит на выполнение функцию notificationReset()? Из приведённого кода этого не видно.
    Ответ написан
  • Как посмотреть пошагово работу скрипта в отладчике?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так вы просите JavaScript "выполни текущую и покажи следующую команду", вот он и переходит к первой команде фукции jquery.on(), которая описана в файле jquery-latest.min.js.

    Там, в консоли управления, кроме кнопочки "выполни текущую и покажи следующую команду", есть ещё кнопочка "выполни функцию целиком (без захода внутрь), и покажи следующую после функции команду"...

    P.S. Или ставьте breakpoint-ы не на объявлении функции, а на командах внутри нее.
    Ответ написан
    2 комментария
  • JavaScript не удаляется элемент. Что делать?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Функция ID() при каждом вызове генерирует уникальное значение. В результате у нового элемента id и textContent - разные. А значит и удалить элемент по его id получится, только если подсмотреть id в HTML-коде.
    Ответ написан
    Комментировать
  • Почему clearTimeout не работает?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ээээ, интересно, вы сами найдёте отсутствующую букву в строке javascipt:stop(), которая используется в ссылке отключения таймера?
    Ответ написан
    1 комментарий
  • Как в JS сделать запрос, аналогичный submit form в html?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вроде можно в форму прописать id=my_form, а потом document.getElementById('my_form').submit()

    А если нужен работающим ваш код, то this.message не сработает, нужно более конкретно указывать элемент, из которого нужны данные. Например опять-же через <input type=file id=my_files name=files multiple> и
    formData.append("files", document.getElementById('my_files').value);
    . И вывод лучше через console.dir(xhr).
    Ответ написан
    Комментировать
  • Uncaught SyntaxError: Unexpected end of JSON input?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Согласно коду, если пользователь существует - будет ошибка, и будет JSON с этой ошибкой.
    А если такой пользователь НЕ существует - будет пустой вывод, вообще без какого-либо JSON, как у вас на втором скриншоте, так? Ну так сделайте какой-нибудь
    else:
    $errors['success']="Пользователь радостно создан. Аллилуя!";
    Ответ написан
    1 комментарий
  • Как сделать отправку формы на почту без перезагрузки при помощи AJAX?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ой сомневаюсь я, что почтовый сервер Yandex пропустит к себе письмо, присланное НЕ напрямую с почтового сервера GMail-а, поскольку такая отправка письма в путь является чисто поддельно-спамерской.

    Для того, что-бы корректно прошло письмо с ящика на GMail-е, вы должны подключаться к серверу GMail с логином/паролям этого ящика, и отправлять письмо перез почтовую систему GMail. Только тогда Yandex его примет как легитимное...

    Проще использовать свой почтовый адрес, который просто обязан существовать на вашем WEB-сервере/у вашего хостера.
    Ответ написан
  • Как правильно подгрузить get данные в модальное окно?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас на главной странице ведь не происходит вызова (исполнения) файла page.php с данными $_GET['id']="343r";? Следовательно и HTML модального окна не генерируется, этот HTML нигде не выводится, и на главной странице этого HTML просто нет.

    Вердикт: поэтому модальное окно с этим HTML на главной странице показать - НЕ-ВОЗ-МОЖ-НО, сколько ни тыкай по ссылке "Контакты"...
    Ответ написан
    Комментировать
  • Можно ли перевести данный код на язык PHP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Язык программирования JavaScript и язык программирования PHP - это совершенно разные вещи. И переводить данный код на PHP - не имеет смысла.

    Если приводить аналогии, то ваш вопрос можно перефразировать так: можно ли сосиской подстричь волосы?
    Бессмысленный вопрос, верно? Или: можно ли шарфом заправить автомобиль? Что за бред, спросите вы. А вот ещё: можно ли зонтиком накормить ребёнка?

    Вот и ваш вопрос - не имеет смысла. То, что делается на JavaScript-е (приведённый код) потому и делается JavaScript-е, что он именно для этой работы и придуман. Если ещё непонятно - стоит обратиться к специалисту, который ещё и ещё раз разжуёт, другими словами, до полного понимания...
    Ответ написан
    7 комментариев
  • Как сделать чтобы после logina оставаться залогиненым на любых вкладках?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Во-первых, хранить в куках email для подтверждения авторизованности пользователя - глупо. Обычно там хранят какой-нибудь уникальный MD5, который ещё и в базе залогиненных пользователей хранится. А так можно взять известный email известного пользователя, засунуть его в cookie - и вуаля, я авторизован под этим пользователем.

    Во-вторых, cookie можно выставлять с самого сервера во время AJAX-запроса, и это будет правильнее. Нельзя такой функционал делегировать JS, который виден и выполняется на стороне пользователя.

    P.S. В области безопасности игнорирование устоявшихся стандартов и изобретение своих хитрозакрученных "велосипедов" может очень больно спустить на землю.
    Ответ написан
    3 комментария
  • Как после отправки данных запретить возвращение на старую?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Сделайте возврат просто бессмысленным. Например одноразовым ключём. Первое посещение странички - ключ есть, всё делается стандартно, а стирается. Повторное обращение с этим же ключём приводит к ошибке, потому что он уже стёрт.

    Всё остальное - это элегантная попытка прятаться за шваброй.
    Ответ написан
    Комментировать
  • Как вытащить из буфера данные при копировании ячеек Excel?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Скопируйте эти две ячейки, и вставьте в простой тектовый редактор (например Notepad). И вы увидите, что текст будет в виде двух строк, разделённых табуляцией \t. Соответственно при вставлении скопированного на вашей страничке можно разбить вставляемое по символу табуляции, и распихать части строки в нужные input-ы...
    Это элементарно, Ватсон!
    Ответ написан
    Комментировать
  • Форматирование строк?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Держите:
    $text = "Мама $мыла раму";
    if (preg_match_all("/(\$[а-яё]+)/iu", $text, $regs, PREG_SET_ORDER))
    {
        foreach ($regs[1] as $s)
        {
            echo($s."\n");
        }
    }
    Ответ написан
    Комментировать
  • Как добавить ссылку на свой сайт?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Самый простой вариант - хранить шаблоны в базе данных (SQL), а в URL указывать порядковый номер шаблона (site.ru/show.php?shablon=12345), который должен быть показан пользователю. Тогда понадобится один .PHP файл, который будет показывать все шаблоны.
    Ответ написан
    Комментировать
  • Отправка формы jQuery + AJAX + PHP?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если форма не отправляется - смотрите консоль в WebDev браузера. А вот если и там ошибок не будет...

    И ещё, 'select_all_php.php' какой-то неаккуратненький!
    <?php
    if (!empty($_POST['value'])) {
      $con = mysqli_connect('localhost','root','','test') or die(mysqli_connect_error());
    //echo "Выбран option с значением - ".$_POST['value'];
      $sqls = "SELECT * FROM `student` WHERE `fid`='".mysqli_real_escape_string($con, $_POST['value'])."'";
      $res = mysqli_query($con, $sqls) or die(mysqli_error($con));
    ?>
    <div class="info">
    <?php 
      if(!empty($res) AND $res->num_rows) {
        $row=$res->fetch_assoc();
        echo "<br> Студент:".'   '. $row["sname"].'   '. $row["birthday"];
      }
      mysqli_close($con);
    ?>
    </div>
    <?php
    }
    if($_POST['value'] == '0'){
    ?>
    <style type="text/css">
    #res{
    display: none;
    }
    </style>
    <?php
    }
    
    if(!empty($_POST['name'])) {
      $birthday='1989';
      $name =$_POST['sname'];
      $fid = $_POST['value'];
      $con = new mysqli('localhost','ijdbuser','a9b8e7q6555','workhome') or die(mysqli_connect_error());
      mysqli_query($con, "INSERT INTO student (sname,birthday,fid) VALUES('".mysqli_real_escape_string($con, $sname)."','".mysqli_real_escape_string($con, $birthday)."','".mysqli_real_escape_string($con, $fid)."')") or die(mysqi_error($con));
      mysqli_close($con);
    }
    ?>
    Ответ написан
    Комментировать
  • Почему не работает редирект на предыдущую страницу?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    В вашем PHP-скрипте после echo $url_lin; уже никакой header("Location: $url_lin"); не будет работать. Ну включите уже вывод ошибок PHP, что ли: error_reporting(E_ALL);.
    Ответ написан
    Комментировать
  • Как сделать счетчик нажатий на кнопку для всех на сайте?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Наймите специалиста!
    Ответ написан
    2 комментария
  • Почему скрипт прокрутки блокирует другие js?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Такое ощущение, что всё портит строчка
    a.innerHTML = '<div style="'+s+'">'+a.innerHTML+'</div>';
    Ответ написан
    5 комментариев