Loading...
DCMS | Как убрать повтор отправки сообщений
Всем привет, как можно на дкмс убрать при обновлении страницы отправку комментариев?

То есть, написал я комментарий, потом обновляю страницу и сообщение отправляется повторно.

Как задать вывод ошибки типа

$err[]='повторяющее сообщение'; 


Изображение

------
85111_IMG_20230118_223611.jpg (5.9 Mb)
Скачиваний: 130
775859085 (18 янв 2023, в 17:45)
Всем привет, как можно на дкмс убрать при обновлении страницы отправку комментариев?

То есть, написал я комментарий, потом обновляю страницу и сообщение отправляется повторно.

Как задать вывод ошибки типа

$err[]='повторяющее сообщение'; 
Для этого необходимо добавить проверку в скрипт, отвечающий за обработку формы.

Например, можно добавить следующую проверку:

if (isset($_POST['comment'])) {
// ...

// Check if comment already exists in database
$query = "SELECT * FROM comments WHERE comment = '".$_POST['comment']."'";
$result = mysqli_query($db, $query);

if (mysqli_num_rows($result) > 0) {
$err[]='Повторяющее сообщение';
} else {
// ... Insert comment into database ...
}

// ...
}
Dusty (18 янв 2023, в 17:46)
Для этого необходимо добавить проверку в скрипт, отвечающий за обработку формы.

Например, можно добавить следующую проверку:

if (isset($_POST['comment'])) {
// ...

// Check if comment already exists in database
$query = "SELECT * FROM comments WHERE comment = '".$_POST['comment']."'";
$result = mysqli_query($db, $query);

if (mysqli_num_rows($result) > 0) {
$err[]='Повторяющее сообщение';
} else {
// ... Insert comment into database ...
}

// ...
}
Спасибо буду пробовать
775859085 (18 янв 2023, в 17:48)
Спасибо буду пробовать
.hat.
Dusty (18 янв 2023, в 17:49)
.hat.
Если будут какие то вопросы , я напишу в личку? Ну завтра если что чиркану отпишусь
при отправке сообщения добавь header('location: ');
Dusty (18 янв 2023, в 17:46)
Для этого необходимо добавить проверку в скрипт, отвечающий за обработку формы.

Например, можно добавить следующую проверку:

if (isset($_POST['comment'])) {
// ...

// Check if comment already exists in database
$query = "SELECT * FROM comments WHERE comment = '".$_POST['comment']."'";
$result = mysqli_query($db, $query);

if (mysqli_num_rows($result) > 0) {
$err[]='Повторяющее сообщение';
} else {
// ... Insert comment into database ...
}

// ...
}
А на безопасность плевать?
При отправке делаешь редирект и всё
<?php
#Посылаем сообщение
if (isset($_POST['send'])) {
#Тут будет ваш sql запрос на добавление сообщения в базу данных
mysql_query('INSERT INTO `table` () VALUES()');
#А уже тут редирект
header('Location: /');
exit();
}
Serg100 (18 янв 2023, в 19:43)
А на безопасность плевать?
Я показал на примере, а о безопасности сам подумает🥱
Dusty , А что, тяжело дописать mysql_real_escape_string()?
Просто если помогаете - помогайте нормально.
Вот предположим, он сделает щас это и захочет продать движок. Другой же купит и увидет, или же взломают. И будет виноват кто? Будет виноват Т.С., все верно, а все потому, что кто-то ему вот так помог.
Лучше тогда не помогайте, чем помогаете через одно место
Онлайн: 3
Время:
Gen. 0.12
(c) ByMAS.RU 2010-2025