Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: В БД вставляются 2 записи вместо одной (продолжение)

Сообщения:  [1-4] 

 
 автор: off   (11.03.2006 в 13:58)   письмо автору
 
   для: K_Serg   (11.03.2006 в 09:05)
 

Огромное спасибо. Разобрался. Дело в этом:



<BUTTON type="submit" onclick="submitForm()">


Т.е когда нажимаем на кнопку срабатывает 2 раза отправка формы. 1-ый раз по type=submit, 2-ой раз по onclick="submitForm()". И все это происходит почти одновременно.

Решение:


<BUTTON onclick="submitForm()">

   
 
 автор: off   (11.03.2006 в 13:20)   письмо автору
 
   для: K_Serg   (11.03.2006 в 09:05)
 

Cлушай, нет. Редиректит на сразу на главную. А может быть такое, что какя-нить фигня с mysql?

   
 
 автор: K_Serg   (11.03.2006 в 09:05)   письмо автору
 
   для: off   (10.03.2006 в 18:45)
 

В конце обработчика идет редирект опять же на эту страницу наверное? Вот после второго захода данные и постятся повторно.

   
 
 автор: off   (10.03.2006 в 18:45)   письмо автору
 
 

Тема бла помещена в архив, а я так с этим не разобрался :)

Еще раз.

Вот файл формы:


<?
$class 
$_GET['class'];

//Класс проверки форм
include('js/form/rus_form.inc');
//Проверка формы
$MyForm = new FormValid('add_announce','Check_form');
$MyForm->AddIf('announce_name','Название анонса',ITEM_IS_EMPTY);
$MyForm->Out();

//Берем сегодняшнюю дату
$date=date("Y-m-d");
if (
preg_match("/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/i",$date,$regs))
    {
    
$date_created ="$regs[3].$regs[2].$regs[1]";
    }
else 
    {
    
$date_created="Неправильная дата";
    }
    
$page $_GET['page'];
?>

<p class="header">Добавить анонс &#8594; <?=$A[$class]?></p>


<form enctype="multipart/form-data" name=add_announce method="POST" onsubmit="return Check_form()" 
action="?action=insert_announce&class=<?=$class?>" id="Form1">
<span class="form_text">
<B>Название анонса</B> *
<br>
<INPUT type="text" size="80" name=announce_name value="<?=$announce_name?>"><br>
<br>

<br>
<B>Текст анонса</B><br>
<?
GetWYSIWYG
($announce_text,'announce_text','');
?>
<br>

<B>Дата публикации</B><br>                    
<input id=date_cr type='text' name='date_created' value="<?=$date_created?>" size=13'>
<img style='CURSOR: hand;' 
src=images/calendar.gif align=absmiddle border=0 onclick=openCalendar(date_cr)
alt='Показать календарь'><br><br>               
<CENTER>
* - Поля, обязательные для заполнения<br>
<BUTTON type="submit" onclick="submitForm()"><img src=images/save align="absbottom">&nbsp;Сохранить</BUTTON>
</FORM>
<br>




Вот обработчик (вставляется в Index.php через include_once):


<?php

$page 
$_GET['page'];
$announce_name $_POST['announce_name'];

$announce_text $_POST['announce_text'];
$class $_GET['class'];

$time date("h:i:s"); 
$date_created $_POST['date_created'];
$date_created str_replace("-",".",$date_created);
list (
$day,$month,$year) = explode(".",$date_created);
    
$sql "INSERT INTO announce (class,announce_name,announce_text,date_created)
values('
$class','$announce_name','$announce_text','$year-$month-$day $time')";

//echo $sql; 

mysql_query($sql) or die ('Ошибка работы с БД');



ob_clean();

header("Location:?action=browse_announce&page=$page"); 
?>


После нажатия кнопки сохранить , в БД вставляются 2 записи вместо одной. В чем дело не пойму никак.

Помогите ПЛЗ!!!!!!!!!!!

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования