Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
156 / 20 / 5
Регистрация: 21.02.2009
Сообщений: 2,792

Почему типовой скрипт отказывается работать?

10.03.2022, 21:30. Показов 787. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Отыскал в сети готовый скрипт для создания комментариев на сайте. Вот этот.
И вот его демо.

В Демо видно, что если заносишь комментарий, то он тут же выводится на сайт, без перезагрузки страницы. Что мне и требуется.

Но у меня всё по другому - взгляните сюда.
Использую браузер Хром, JS включены.

Почему так? Как добиться нормальной работы - непосредственного вывода комментария без перезагрузки, как Демо?

Вот установленные файлы. Они такие же, как в статье по ссылке. Их три.

Файл с именем 1.php

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php include("connect.php"); ?>
<!DOCTYPE html>
<html lang="ru">
<head>
<title>Мгновенная отправка сообщений при помощи Ajax</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
 
<style type="text/css">
.comment{
     border: 1px solid #666;
     margin: 10px;
     padding: 10px;
     font-family: Tahoma;
     font-size: 12px;
     border-radius: 4px;
     box-shadow: 2px 2px 2px #999;
}
</style>
 
 
<script type="text/javascript">
$(function() {
$("#send").click(function(){
  var author = $("#author").val();
  var message = $("#message").val();
  $.ajax({
  type: "POST",
  url: "sendMessage.php",
  data: {"author": author, "message": message},
  cache: false,
  success: function(response){
  var messageResp = new Array('Ваше сообщение отправлено','Сообщение не отправлено Ошибка базы данных','Нельзя отправлять пустые сообщения');
  var resultStat = messageResp[Number(response)];
  if(response == 0){
  $("#author").val("");
  $("#message").val("");
  $("#commentBlock").append("<div class='comment'>Автор: <strong>"+author+"</strong><br>"+message+"</div>");}
  $("#resp").text(resultStat).show().delay(1500).fadeOut(800);}});return false;});});
</script>
</head>
 
<body>
<h1>Пример вывода комментариев</h1>
<hr /><br><br><br><br>
<p>Комментарии к статье</p>
 
<div id="commentBlock">
<?php
$result = mysql_query("SELECT * FROM messages",$db);
$comment = mysql_fetch_array($result);
do{echo "<div class='comment'>Автор: <strong>".$comment['author']."</strong><br>".$comment['message']."</div>";
}while($comment = mysql_fetch_array($result));
?>
</div>
 
<form action="sendMessage.php" method="post" name="form">
<p>Автор:<br> <input name="author" type="text" id="author"></p>
<p>Текст сообщения:<br><textarea name="message" rows="5" cols="50" id="message"></textarea></p>
<input name="js7777" type="hidden" value="no" id="js">
<p><input name="button" type="submit" value="Отправить" id="send"> <span id="resp"></span></p>
</form>
 
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
 
</body>
</html>
Файл sendMessage.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php include("connect.php");
header("Content-type: text/html; charset=UTF-8");
 
//**********************************************
if(empty($_POST['js'])){
    if($_POST['message'] != '' && $_POST['author'] != ''){
 
        // $author = iconv("UTF-8", "windows-1251", $_POST['author']);
        $author = $_POST['author'];
        $author = addslashes($author);
        $author = htmlspecialchars($author);
        $author = stripslashes($author);
        $author = mysql_real_escape_string($author);
 
        // $message = iconv("UTF-8", "windows-1251", $_POST['message']);
        $message = $_POST['message'];
        $message = addslashes($message);
        $message = htmlspecialchars($message);
        $message = stripslashes($message);
        $message = mysql_real_escape_string($message);
 
        $date = date("d-m-Y в H:i:s");
        $result = mysql_query("INSERT INTO messages (author, message, date) VALUES ('$author', '$message', '$date')");
        if($result == true){
            echo 0; //Ваше сообшение успешно отправлено
        }else{
            echo 1; //Сообщение не отправлено. Ошибка базы данных
        }
    }else{
        echo 2; //Нельзя отправлять пустые сообщения
    }
}
 
//*********** Если отключен JavaScript *******
 
if($_POST['js'] == 'no'){
    if($_POST['message'] != '' && $_POST['author'] != ''){
 
        $author = $_POST['author'];
        $author = addslashes($author);
        $author = htmlspecialchars($author);
        $author = stripslashes($author);
        $author = mysql_real_escape_string($author);
 
        $message = $_POST['message'];
        $message = addslashes($message);
        $message = htmlspecialchars($message);
        $message = stripslashes($message);
        $message = mysql_real_escape_string($message);
 
        $date = date("d-m-Y в H:i:s");
        $result = mysql_query("INSERT INTO messages (author, message, date) VALUES ('$author', '$message', '$date')");
        if($result == true){
            echo "Ваше сообшение успешно отправлено"; //Ваше сообшение успешно отправлено
        }else{
            echo "Сообщение не отправлено. Ошибка базы данных"; //Сообщение не отправлено. Ошибка базы данных
        }
    }else{
        echo "Нельзя отправлять пустые сообщения"; //Нельзя отправлять пустые сообщения
    }
}
?>
Файл connect.php

PHP
1
2
3
4
5
6
7
<?php
 
$db = mysql_connect("localhost","VlaS","ххххххх");
mysql_select_db("age-dragon",$db);
mysql_query("SET NAMES utf8");
 
?>
Добавлено через 3 часа 33 минуты
Похоже, что ошибка была порождена в форме строкой
HTML5
1
<input name="js" type="hidden" value="no" id="js">
Как я понимаю, эта строка сообщает, включены ли JS в браузере. Но как это делается? Ведь здесь сразу установлено value="no".
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2022, 21:30
Ответы с готовыми решениями:

Порекомендуйте типовой скрипт
На главной странице есть кнопка «Пригласить в Клуб». При клике по этой кнопке должна появиться всплывающая форма с полями (адрес, текст) и...

Почему при перестановке скрипт перестает работать?
кто может объяснить почему вот так работает : function getOrderInfoByid( order_Id, orders_Array) // fill dialog info about current...

Скрипт калькулятора отказывается работать
Скопировал скрипт калькулятора с другого сайта, но у меня скрипт отказывается работать. Скрипт подключен, но не работает. Понимаю, что там...

1
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
11.03.2022, 09:15
Лучший ответ Сообщение было отмечено vlad-55 как решение

Решение

У вас типичная ошибка - вы пытаетесь использовать jQuery до того как подключили библиотеку:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
 
<head>
  <meta charset="utf-8" />
  <title>jQuery Test</title>
</head>
 
<body>
 
<script>
  $(() => alert('Hello World!'));
</script>
<script src="https://unpkg.com/jquery"></script>
 
</body>
</html>
Откройте консоль браузера и увидите
Code
1
Uncaught ReferenceError: $ is not defined
Сначала подключите jQuery, потом запускайте ваш скрипт.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2022, 09:15
Помогаю со студенческими работами здесь

Почему функция root отказывается работать
Добрый вечер, хотелось бы спросить почему происходит подобное ? Как исправить ? Встроенная функция root отказывается давать правильные...

Почему-то на полную мощность видеокарта работать отказывается
Всем добрый вечер, у меня не понятная хрень с видео картой GeForce 285.62. Досталась она мне бесплатно и что с ней делали до той поры пока...

BsoD или почему комп отказывается работать стабильно?
QuadCore Intel Core 2 Quad Q9450, 2666 MHz Asus P5Q SE Plus GoodRAM GR800D264L5/4G 4GB ATI Radeon HD 4300/4500 Series (512 mb) Win...

Почему макрос, написанный в 2000 офисе, отказывается работать в 97?
Почему макрос написанный в 2000 офисе отказывается работать в 97. Спасибо.

Почему может не работать скрипт после сборки в билд?
Всем привет) Решил помочь другу подредактировать скрипт для твича который лежит в открытом виде. Работает в консольном окне , при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru