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



 

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

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

Открыть тему
Тема закрыта
> Перезагрузка страницы
vasvas7775
vasvas7775
Topic Starter сообщение 17.2.2011, 12:41; Ответить: vasvas7775
Сообщение #1


В php странице подключаю сперва вывод сообщения из базы данных.
А затем форму, для добавления данных в эту форму.
Когда форму заполняю и нажимаю кнопку отправить страница перезагружается, данные в базу отправляются. но на страницу на выводятся.
После перезагрузки страницы в ручную, данные из базы в страницу добавляются. А если нажать перезагрузку страницы в ручную еще несколько раз,это-же сообщение добавляется и в базу и в страницу, хотя форма пустая.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 17.2.2011, 13:42; Ответить: Webmaster_hb
Сообщение #2


так в чем вопрос ?

при перезагрузке страницы, вы отправляете заново тот же запрос POST или GET что был, поэтому данные отправляются повтороно

а вот почему не выводятся данные которые только что добавились - нужно посмотреть ваш код, мы не телепаты
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 17.2.2011, 14:15; Ответить: vasvas7775
Сообщение #3


Форма:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=win-1251" />
<title>форма</title>
</head>
<?
include
($_SERVER["DOCUMENT_ROOT"]."/config.php");
if (isset($_REQUEST['sub'])) //Если нажата кнопка (name="sub")
{
//Создаем таблицу, если ее еще не существует
mysql_query ('CREATE TABLE IF NOT EXISTS gostivaay_ckniga (
id int(100) NOT NULL AUTO_INCREMENT,
stamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
GCkname varchar(20) NOT NULL,
GCkemail varchar(40) NOT NULL,
GCkICQ varchar(15) NOT NULL,
GCkURL varchar(50) NOT NULL,
GCktext varchar(2000) NOT NULL
)') or die(mysql_error());




//Делаем запись в таблицу
$sql = mysql_query("INSERT into gostivaay_ckniga (GCkname, GCkemail, GCkICQ, GCkURL, GCktext)
values ('".$_REQUEST['name_3']."', '".$_REQUEST['e-mail_3']."',
'".$_REQUEST['ICQ_3']."', '".$_REQUEST['URL_3']."', '".$_REQUEST['text_box_3']."');");
}
?>
<body>


<link rel="stylesheet" type="text/css" href="/gostivaay_ckniga/style/style_forma.css">
<script type="text/javascript" src="/gostivaay_ckniga/script/gostivaay_ckniga_script.js"></script>

<form action="gostivaay_ckniga.php" method="post" name="test_form">

<table id="table" cellspacing="0" cellpadding="2">
<tr>
<td class="text"><b>Имя:<font size="4" color="red">*</font></b></td>
<td id="name"><input type="text" maxlength="20" id="name1" name="name_3" value="" /></td>
<td class="text" align="right"><b>ICQ:</b></td>
<td id="ICQ"><input type="text" maxlength="15" id="ICQ1" name="ICQ_3" value="" /></td>
</tr>
<tr>
<td class="text"><b>E-mail:<font size="4" color="red">*</font></b></td>
<td id="e-mail"><input type="text" maxlength="40" id="e-mail1" name="e-mail_3" value="" /></td>
<td class="text" align="right"><b>Сайт:</b></td>
<td id="URL"><input type="text" maxlength="50" id="URL1" name="URL_3" value="" /></td>
<tr>
<td colspan="4" id="text_2"><b>Сообщение:<font size="4" color="red">*</font></b></td>
</tr>
</tr>
<tr>
<td colspan="4" id="panel">
<table cellspacing="0" id="div_panel">
<tr>
<td onclick='InsertSmile("<b></b>")'><img id="panel_1" src="/images/panel/text_bold.png" alt="" /></td>
<td onclick='InsertSmile("<i></i>")'><img id="panel_2" src="/images/panel/text_italic.png" alt="" /></td>
<td onclick='InsertSmile("<u></u>")'><img id="panel_3" src="/images/panel/text_under.png" alt="" /></td>
<td onclick='InsertSmile("[LEFT][/LEFT]")'><img id="panel_4" src="/images/panel/left.png" title="Выровнять по левому краю" alt="" /></td>
<td onclick='InsertSmile("[CENTER][/CENTER]")'><img id="panel_5" src="/images/panel/center.png" title="Выровнять по центру" alt="" /></td>
<td onclick='InsertSmile("[RIGHT][/RIGHT]")'><img id="panel_6" src="/images/panel/right.png" title="Выровнять по правому краю" alt="" /></td>
<td onclick='InsertSmile("[BR]")'><img id="panel_7" src="/images/panel/enter.png" alt="" /></td>
<td onclick='InsertSmile("<url=`http://`></url>")'><img id="panel_8" src="/images/panel/url.png" alt="" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="4" id="smile_form">
<table cellspacing="0" id="div_smile_form">
<tr>
<td class="kletka_2" onclick='InsertSmile("^_^")'><img id="smile_1" src="/images/smile/0001.gif" title="^_^" /></td>
<td class="kletka_2" onclick='InsertSmile(":arbayten:")'><img id="smile_2" src="/images/smile/0002.gif" title=":arbayten:" /></td>
<td class="kletka_2" onclick='InsertSmile(":wub:")'><img id="smile_3" src="/images/smile/0003.gif" title=":wub:" /></td>
<td class="kletka_2" onclick='InsertSmile(":beer:")'><img id="smile_4" src="/images/smile/0004.gif" title=":beer:" /></td>
<td class="kletka_2" onclick='InsertSmile(":spiteful:")'><img id="smile_5" src="/images/smile/0005.gif" title=":spiteful:" /></td>
<td class="kletka_2" onclick='InsertSmile("B)")'><img id="smile_6" src="/images/smile/0006.gif" title="B)" /></td>
<td class="kletka_2" onclick='InsertSmile(":pardon:")'><img id="smile_7" src="/images/smile/0007.gif" title=":pardon:" /></td>
<td class="kletka_2" onclick='InsertSmile("^_^")'><img id="smile_8" src="/images/smile/0008.gif" title="^_^" /></td>
<td class="kletka_2" onclick='InsertSmile(":blush:")'><img id="smile_9" src="/images/smile/0009.gif" title=":blush:" /></td>
<td class="kletka_2" onclick='InsertSmile(":wacko:")'><img id="smile_10" src="/images/smile/0010.gif" title=":wacko:" /></td>
<td class="kletka_2" onclick='InsertSmile(":rulez:")'><img id="smile_11" src="/images/smile/0011.gif" title=":rulez:" /></td>
<td class="kletka_2" onclick='InsertSmile(":umnik:")'><img id="smile_12" src="/images/smile/0012.gif" title=":umnik:" /></td>
<td class="kletka_2" onclick='InsertSmile(":play:")'><img id="smile_13" src="/images/smile/0013.gif" title=":play:" /></td>
<td class="kletka_2" onclick='InsertSmile(":play:")'><img id="smile_14" src="/images/smile/0014.gif" title=":play:" /></td>
<td class="kletka_2" onclick='InsertSmile(":drinks:")'><img id="smile_15" src="/images/smile/0015.gif" title=":drinks:" /></td>
<td class="kletka_2" onclick='InsertSmile(":wall:")'><img id="smile_16" src="/images/smile/0016.gif" title=":wall:" /></td>
<td class="kletka_2" onclick='InsertSmile(":punish:")'><img id="smile_17" src="/images/smile/0017.gif" title=":punish:" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="4"><input id="knopka_smille" type="button" value="< другие смайлики >" onclick="xhs('id123')" /></td>
</tr>
<tr>
<td colspan="4">
<table id="id123" cellspacing="1" style="display: none;">
<tr>
<td><div class="kletka" onclick='InsertSmile(":wub:")'><img id="smile_18" src="/images/smile/0022.gif" title=":wub:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":blink:")'><img id="smile_19" src="/images/smile/0023.gif" title=":blink:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":(")'><img id="smile_20" src="/images/smile/0025.gif" title=":(" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":beer:")'><img id="smile_21" src="/images/smile/0027.gif" title=":beer:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":wacko:")'><img id="smile_22" src="/images/smile/0028.gif" title=":wacko:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":zloy:")'><img id="smile_23" src="/images/smile/0029.gif" title=":zloy:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":censored:")'><img id="smile_24" src="/images/smile/0030.gif" title=":censored:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":nea:")'><img id="smile_25" src="/images/smile/0031.gif" title=":nea:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":bye2:")'><img id="smile_26" src="/images/smile/0032.gif" title=":bye2:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":popcorn1:")'><img id="smile_27" src="/images/smile/0040.gif" title=":popcorn1:" /></div></td>
</tr><tr>
<td><div class="kletka" onclick='InsertSmile(":goodpost:")'><img id="smile_28" src="/images/smile/0047.gif" title=":goodpost:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":prilichno:")'><img id="smile_29" src="/images/smile/0049.gif" title=":prilichno:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":goodpost:")'><img id="smile_30" src="/images/smile/0051.gif" title=":goodpost:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(";)")'><img id="smile_31" src="/images/smile/0052.gif" title=";)" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":swoon:")'><img id="smile_32" src="/images/smile/0054.gif" title=":swoon:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":goodpost:")'><img id="smile_33" src="/images/smile/0057.gif" title=":goodpost:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":cry:")'><img id="smile_34" src="/images/smile/0058.gif" title=":cry:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":dead:")'><img id="smile_35" src="/images/smile/0064.gif" title=":dead:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":shout:")'><img id="smile_36" src="/images/smile/0068.gif" title=":shout:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":hmhm:")'><img id="smile_37" src="/images/smile/0073.gif" title=":hmhm:" /></div></td>
</tr><tr>
<td><div class="kletka" onclick='InsertSmile(":unsure:")'><img id="smile_38" src="/images/smile/0083.gif" title=":unsure:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":P")'><img id="smile_39" src="/images/smile/0086.gif" title=":P" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":popcorn2:")'><img id="smile_40" src="/images/smile/0041.gif" title=":popcorn2:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":rjunimagu:")'><img id="smile_41" src="/images/smile/0044.gif" title=":rjunimagu:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":olen:")'><img id="smile_42" src="/images/smile/0115.gif" title=":olen:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":droch:")'><img id="smile_43" src="/images/smile/0118.gif" title=":droch:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":niasilil:")'><img id="smile_44" src="/images/smile/1122.gif" title=":niasilil:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":bad:")'><img id="smile_45" src="/images/smile/1123.gif" title=":bad:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":laugh:")'><img id="smile_46" src="/images/smile/1124.gif" title=":laugh:" /></div></td>
<td><div class="kletka" onclick='InsertSmile(":achtung:")'><img id="smile_47" src="/images/smile/1138.gif" title=":achtung:" /></div></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="4" id="text_box"><textarea maxlength="4000" id="text_box_2" name="text_box_3" rows=""></textarea></td>
</tr>
<tr>
<td colspan="4" height="30px" ></td>
</tr>
<tr>
<td colspan="4" align="center" height="25px"><input id="sbros" type="reset" value="Сброс" />
<input id="Enter" name="sub" type="submit" class="buttons" value="Добавить" /></td>
</tr>
<tr>
<td colspan="4" height="15px" ></td>
</tr>
<tr>
<td colspan="4" height="30px" align="center" BGcolor="#CCFF66"><font size="5" color="red">*</font> - <b>поля, обязательные для заполнения</b></td>
</tr>
</table>

</form>


</body>
</html>


обработчик формы:
[PHP]<?php
$dblocation = "localhost";
$dbuser = "root";
$dbpasswd = "";
$dbname="my_base";

//Подключение к базе данных
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd)
or die("Ошибка бд: ".mysql_error());
mysql_query("CREATE DATABASE $dbname");
//выбираем бд
mysql_select_db($dbname, $dbcnx)
or die("Ошибка бд: ".mysql_error());

//Кодировочка
mysql_query("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
?>
[/PHP]

А так они подключаются:
[PHP]<?include($_SERVER["DOCUMENT_ROOT"]."/blocks/header.php");?>

<?include($_SERVER["DOCUMENT_ROOT"]."/blocks/top.php");?>

<table cellpadding="5" style="border-left:solid 1px #BABABA; border-right:solid 1px #BABABA;">
<tr>
<td width="730" height="200px" valign="top">

<?include($_SERVER["DOCUMENT_ROOT"]."/gostivaay_ckniga/ckniga/view_data.php");?>

</td>
</tr>
<tr>
<td width="730" height="300px" valign="top">

<?include($_SERVER["DOCUMENT_ROOT"]."/gostivaay_ckniga/ckniga/forma.php");?>

</td>
</tr>
</table>

<?include($_SERVER["DOCUMENT_ROOT"]."/blocks/left_menu-2.php");?>

<?include($_SERVER["DOCUMENT_ROOT"]."/blocks/bottom.php");?>

<?include($_SERVER["DOCUMENT_ROOT"]."/blocks/footer.php");?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
adlic
adlic
сообщение 17.2.2011, 14:30; Ответить: adlic
Сообщение #4


vasvas7775, при отправке формы просто выведите надпись что сообщение добавлено и ссылку на предыдущую страницу, тогда запись в БД не будет дублироваться и когда пользователь перейдет по ссылке, то его запись уже будет добавлена. И тут же желательно очистить $_POST: [PHP]unset( $_POST['xxxxxxx'] );[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 17.2.2011, 14:52; Ответить: vasvas7775
Сообщение #5


Такое у меня уже было, и работает нормально. Только я хочу все переделать. Чтобы при добавки сообщения страница просто перезагружалась, и в этот момент сообщение добовлялось и в базу, и в страницу одновременно. И после принудительной перезагрузке ничего НЕ ДОБАВЛЯЛА.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 17.2.2011, 14:58; Ответить: Webmaster_hb
Сообщение #6


(vasvas7775 @ 17.2.2011, 16:52) *
Такое у меня уже было, и работает нормально. Только я хочу все переделать. Чтобы при добавки сообщения страница просто перезагружалась, и в этот момент сообщение добовлялось и в базу, и в страницу одновременно. И после принудительной перезагрузке ничего НЕ ДОБАВЛЯЛА.

значит после добавления записи в базу, делайте редирект внутри PHP на саму же страницу,
это избавит от повторной отправки данных при обновлении страницы
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 17.2.2011, 16:18; Ответить: vasvas7775
Сообщение #7


(Webmaster_hb @ 17.2.2011, 16:58) *
значит после добавления записи в базу, делайте редирект внутри PHP на саму же страницу,
это избавит от повторной отправки данных при обновлении страницы

Многоуважаемый Webmaster, А нельзя поподробнее. А то я в коде применил уже все свои знания, которые узнал до этого момента. Не знаю как быть дальше, поэтому к вам и обратился.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 17.2.2011, 16:27; Ответить: Webmaster_hb
Сообщение #8


вначале вашего скрипта, делаете проверку, пришли какие-то данные из POST-запроса
если да. то проверяете эти данные, делаете нужные действия, и после этого делаете редирект
[PHP]header("Location: index.php");
[/PHP]
дальше в коде должно идти всё остальное, вывод html-данных и т.п.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 17.2.2011, 16:31; Ответить: vasvas7775
Сообщение #9


(Webmaster_hb @ 17.2.2011, 16:58) *
редирект внутри PHP

А на какой странице делать, в форме или в обработчике?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 17.2.2011, 17:00; Ответить: Webmaster_hb
Сообщение #10


если у вас разные файлы для формы и для обработчика, то делается это в обработчике
а редирект идет на страницу, в которой форма

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужно ли закрывать ненужные страницы тегом noindex, follow?
8 noviktamw 2917 2.3.2024, 12:53
автор: toplinks
Открытая тема (нет новых ответов) Сверстать страницы из figma
нужно сделать страницы для веб приложения
1 bluestorm 1297 7.6.2022, 18:11
автор: doharddocode
Открытая тема (нет новых ответов) Подобрать группы и страницы и разместить ссылку
4 Lacomka 3414 21.2.2022, 8:43
автор: АлексейWEB
Открытая тема (нет новых ответов) Верстка и внедрение на сайт макета главной страницы
Требуется: с Figma на Laravel
2 ARsHi 1673 27.3.2021, 0:57
автор: Ogaelath
Открытая тема (нет новых ответов) Кто возьмется за продвижение сайта со второй страницы на первую в Гугле
и за сколько?
9 Mukanov 2275 24.8.2020, 3:34
автор: adamsadriane


 



RSS Текстовая версия Сейчас: 25.4.2024, 16:27
Дизайн