0 / 0 / 0
Регистрация: 29.04.2019
Сообщений: 9

Передача и вывод данных формы PHP, ajax

01.05.2019, 14:00. Показов 844. Ответов 3

Студворк — интернет-сервис помощи студентам
Добрый день!
Столкнулся с проблемой: данные выводятся после перезагрузки страницы. Бился долго, вот решил попросить помощи
Код send.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
63
64
<?php 
error_reporting(-1);
require 'rb.php';
 
 R::setup('mysql:host=127.0.0.1; dbname=ajax_test', 'root', '');
 
 if (!R::testConnection()) 
 {
    exit('Не удалось соединиться с базой данных!');
 }
R::freeze(true);
$data = $_POST;
if (isset($data['submit_data'])) {
    $user_id = intval($data['user_id']);
    $user_name = $data['username'];
    $message = $data['message'];
    $ip = $_SERVER['REMOTE_ADDR'];    
    $errors = array();
    $result = preg_match("/[<>]/", $message);
  if ($message == '' || $result == TRUE) {
    $errors[] = 'Недопустимые символы!';
  }
 
    if (empty($data['username']) || empty($data['message']) ) {
        $errors[] = 'No Value entered';
    }
 
    if (empty($errors)) {
        $messages = R::dispense('messages');
        $messages->user_id = $user_id;
        $messages->username = $user_name;
        $messages->message = $message;
        $messages->ip = $ip;        
        $messages->pubdate = date('d.m.Y H:i');
        R::store($messages);
        header("Location: ".$_SERVER["HTTP_REFERER"]); 
     
 
 
}else {
  $errors =  array_shift($errors);        
}     
 
 
}
 
$comm = R::getAll('SELECT * FROM messages');
 
     foreach ($comm as $key => $comment) {
 
     $comment = "<div class ='show'><p>". $comment['username'] . "</p>
      <p>". $comment['message'] . "</p>";
     $comm_ip = "<p>". $comment['ip'] ."</p></div>";        
    
}
 
$comments_info = array(          
          'message' => $comment,
          'ip' => $comm_ip ); 
 
   echo json_encode($comments_info); 
    exit; 
 
?>

Код script.js
JavaScript
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
$(document).ready(function(){
  
  $('.submit').on('click', function() {
   // e.preventDefault();
    var user_id = $('.userid').val();
    var username = $('.username').val();
    var message = $('.message').val();    
    var url = $('.comment_form').attr('action');
    
   //e.preventDefault();
    $.ajax({
      url: url,
      type: "POST",
      data: {
        "user_id": user_id,
        "username": username,
        "message": message,
        "submit_data": $(".submit").val()
      },
      dataType: 'json',
      cache: false,      
      success: function(data){
 
          //var response = JSON.parse(data);
          $('.message').html(data.message);
          $('.ip').html(data.ip);
          //$('.show').prepend(data.message + data.ip);
          //$('.show').append('<p>' + username + '</p><p>' + message + '</p>' + data.ip);        
          
        },
 
        error: function(){ 
          $('.username').val('');
          $('.message').val('');
        }
        
 
      });    
    });
  });
Код index.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
<?php 
error_reporting(-1);
require 'rb.php';
 
 R::setup('mysql:host=127.0.0.1; dbname=ajax_test', 'root', '');
 
 if (!R::testConnection()) 
 {
    exit('Не удалось соединиться с базой данных!');
 }
?>
 
 
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Комментарии</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
    <script src="script.js"></script>
</head>
<body>  
 
 
<div class="show">
<?php 
     $comm = R::getAll('SELECT * FROM messages');
 
     foreach ($comm as $key => $comment) {
?>
 
   <p><? echo $comment['username'];?></p>
   <p><? echo $comment['message'];?></p>
   <p class="ip"><? echo $comment['ip'];?></p>
 
<?php       
}
?>
</div>  
 
<form class="comment_form" action="send.php" method="POST">
<input type="hidden" name="user_id" class="userid" value="5">
<input type="text" name="username" class="username"><br>
<textarea name="message" cols="40" rows="10" class="message"></textarea><br>
<input type="button" name="submit_data" class="submit" value="Submit">
</form>
 
 
 
 
<noscript>JAVASCRIPT IS NOT WORKING ON YOUR BROWSER</noscript>
</body>
</html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2019, 14:00
Ответы с готовыми решениями:

AJAX передача данных на сервер с формы
День добрый! Пытаюсь передать с формы поле с данными в обработчик, вроде передается, но делается редирект на скрипт после нажатия кнопки, а...

Передача данных формы скрипту php посредством js (ajax)
Вопрос по ajax. &lt;?php header('Content-type: text/html; charset=UTF-8'); ?&gt; &lt;html&gt; ...

Передача данных с формы в AJAX запрос
как передать в AJAX запрос значение переменных из формы сюда data: &quot;name=JohnBoston&amp;question=bla_bla_bla&quot; &lt;script...

3
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
01.05.2019, 14:29
когда используете аякс то редирект в файле send.php лучше убрать. кроме того e.preventDefault() зря закомментировали.
0
0 / 0 / 0
Регистрация: 29.04.2019
Сообщений: 9
01.05.2019, 14:36  [ТС]
sash23, я перепробовал. И редирект отключал, и e.preventDefaul включал-отключал. Как убираю json encode- все работает. Но мне необходимо выводить больше, чем то, что получаю с полей формы
0
76 / 52 / 26
Регистрация: 04.04.2019
Сообщений: 191
01.05.2019, 23:39
Цитата Сообщение от Рустам Хруст Посмотреть сообщение
я перепробовал. И редирект отключал, и e.preventDefaul включал-отключал.
Раскомментируйте //e.preventDefault(); - это обязательно, иначе форма будет нативно отправляться.
И в функцию нужно передавать событие
JavaScript
1
$('.submit').on('click', function(e) {
Да, и редирект в PHP коде уберите обязательно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2019, 23:39
Помогаю со студенческими работами здесь

Передача данных из js в php через ajax
помогите, пожалуйста. Не получается сделать авторизацию. В консоли выводит: jquery-1.12.3.min.js:4 POST...

AJAX+PHP, вывод данных из полученного массива в разные поля
Собственно ситуация такая - нужно сделать динамическую форму для разбора адресов из адресной строки типа: &quot;почтовый_код, страна,...

Передача массива из php в js ajax
Доброго всем дня. Суть в чем. Передаю массив ошибок с помощью serialize() в файл js, однако русские символы не правильно передаются,...

Передача файла ajax-php
Как передать файл ajax-&gt;php? &lt;form id=&quot;test_form&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt; &lt;input class=&quot;file_form&quot;...

Вывод модальной формы после отправки формы AJAX
Здравствуйте, помогите, пожалуйста, разобраться, есть модальная форма arcticmodal для просмотра этой формы можно найти её в поисковике, она...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru