X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Повтор отправки
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 26.11.2010, 19:12; Ответить: Salikhoff_hb
Сообщение #1


Имеется файлик на php, в нем есть форма, проверка и вывод записи из БД
[PHP]<?php
$query = "SELECT * FROM commentary WHERE id_record='".(int) $_GET['id']."'";
$res = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($res))
{
echo('<div class="comments">');
echo("<h3>".$row['author']."</h3>");
echo("<h4><strong>".$row['date']."</h4></strong>");
echo("<p>".$row['commentary']."</p>");
echo('</div>');
}

?>
<?php
if (isset($_POST['submit'])){
$id_record = $_GET['id'];
$date = date("Y/m/d");
$res = "INSERT INTO commentary (id_record, author, date, commentary) VALUES ('$id_record', '$author', '$date', '$commentary')";
$row = mysql_query($res);
echo "Спасибо! Ваш комментарий добавлен!";
}
else{
?>
<form method="post">
<table>
<tbody>
<tr>
<td><label>Имя:</label></td>
<td><input name="author" type="text" size="15" maxlength="15" /></td>
</tr>
<tr>
<td><label>Комментарий:</label></td>
<td><textarea name="commentary" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Добавить" name="submit" />
</td>
</tr>
</tbody>
</table>
</form>
<?php
};
?> [/PHP]Все смог сделать кроме одного, почему после обновления добавляется в базу запись, прошу помочь. Как я понял прочитав множество постов на разных сайта с помощью ссесий, но у мя все в одном файле так что не получится.
P.S. не предлагать Header("Location.... , т.к. у меня выводится сообщение о добавление в БД
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 26.11.2010, 20:05; Ответить: Salikhoff_hb
Сообщение #2


и еще прошу подсказать как сделать проверку на пустоту поля, комментарии и имя!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 26.11.2010, 20:25; Ответить: Mulder_hb
Сообщение #3


(' post='89884 @ 26.11.2010, 21:12)
почему после обновления

Обновление чего? Если то, что я думаю, то разрушайте переменную после использования:
[PHP]if (isset($_POST['submit'])){
...
...
echo "Спасибо! Ваш комментарий добавлен!";
unset($_POST['submit']);
}[/PHP]

(' post='89899 @ 26.11.2010, 22:05)
и еще прошу подсказать как сделать проверку на пустоту поля, комментарии и имя!

Проверка на пустоту делается при помощи функции empty().

ЗЫ. Проверяйте данные пришедшие от пользователя, экранируйте динамические данные в запросах и фильтруйте входные и выходные данные. Ваш нынешний скрипт - это дикость и наивная самонадеянность.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 26.11.2010, 20:46; Ответить: Salikhoff_hb
Сообщение #4


это я знаю и то что он уязвим сильно знаю
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 26.11.2010, 20:49; Ответить: Salikhoff_hb
Сообщение #5


(Mulder_hb @ 26.11.2010, 22:25) *
Обновление чего? Если то, что я думаю, то разрушайте переменную после использования:
[PHP]if (isset($_POST['submit'])){
...
...
echo "Спасибо! Ваш комментарий добавлен!";
unset($_POST['submit']);
}[/PHP]

Все что выше вы мне сделали не подходит записи так и добавляются при нажатии F5
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 27.11.2010, 9:54; Ответить: Salikhoff_hb
Сообщение #6


Ну че кто нить скажет как сделать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 27.11.2010, 12:19; Ответить: Licoric
Сообщение #7


После добавления переменной $post в базу очищай ее. А перед добавлением - проверяй наличие значения. А вообще не надо в одном файле делать добавление данных во избежание таких вот "глюков". Как вариант - обновляй страничку просто или редирект на "?" делай.
*я не совсем уверен, что правильно тебя понимаю)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 27.11.2010, 14:24; Ответить: Salikhoff_hb
Сообщение #8


в том то и дело что ридерект я не хочу потому что у меня выводится сообщение что коммент добавлен. С редиректом такого не будет....
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 27.11.2010, 16:02; Ответить: Salikhoff_hb
Сообщение #9


ну что не кто не знает как помочь??? :cry:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 27.11.2010, 16:36; Ответить: Mulder_hb
Сообщение #10


(' post='90046 @ 27.11.2010, 16:24)
в том то и дело что ридерект я не хочу потому что у меня выводится сообщение что коммент добавлен. С редиректом такого не будет....

В чем проблема сделать редирект на страницу, где стоит сообщение о добавлении комментария?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) помощник для отправки писем
отправка писем на удалёнке
1 AnnaDY 1183 19.12.2020, 20:37
автор: whitestarmedia
Открытая тема (нет новых ответов) SUCCESS-CPA.ru - собственный КЦ 24/7, свой отдел отправки, эксклюзивные офферы!
28 SuccessGroup 7604 14.5.2018, 17:16
автор: -Dobrojelatelnica-
Открытая тема (нет новых ответов) Success-CPA.ru - собственный КЦ 24/7, свой отдел отправки, эксклюзивные офферы!
25 SuccessGroup 10637 10.7.2017, 16:19
автор: SuccessGroup
Открытая тема (нет новых ответов) арктикмодальное окно отправки телефона по почте модифицированое
0 Baraartur 5708 24.10.2013, 15:16
автор: -Baraartur-
Открытая тема (нет новых ответов) Кнопка для отправки сообщения с сайта
12 LadyRi 3411 25.2.2013, 14:48
автор: Symphony


 



RSS Текстовая версия Сейчас: 29.3.2024, 18:43
Дизайн