Всем доброго времени суток!
Проблема следующая. Есть форма, данные из которой добавляются в базу. В файле есть сама форма и обработчик для нее, когда пользователь жмет кнопку подключается обработчик, если все хорошо, то строка добавляется в базу после чего его header("Location: xxx.php"); редиректит на следующую страницу, так вот, в момент редиректа в базу добавляется еще одна пустая строка. Мое предположение, что происходит это из-за повторной отправки данных формы при редиректе, но на странице, на которую перенаправляется пользователь, отсутствует скрипт добавления строк в базу, а на исходной все данные проверяются. Подскажите, что происходит и как с этим бороться?
код примерно такой
PHP:
скопировать код в буфер обмена
здесь идет обработка ошибок, а потом в зависимости от того есть они или нет выполняется то или другое { $objOrder->ErrorPrint($err); } else { $sqlComT = "CREATE TABLE `xxx`.`xxx` (`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `1` VARCHAR( 30 ) ,`2` INT , `3` VARCHAR( 30 ), `4` VARCHAR( 30 ), `5` VARCHAR( 30 ), `6` VARCHAR( 10 ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $resultT = $objOrder->ConnectDb($sqlComT); if (!$resultT) { echo " <script language=\"javascript\"> alert(\"Попытка создания временной таблицы провалилась..!\") </SCRIPT>"; } $sqlCom = "INSERT xxx SET xxx = 'NULL', xxx = 'NULL' , xxx = '" .$_POST['xxx'] ."', xxx ='" .$_POST['xxx'] ."', type ='" .$_POST['xxx'] ."'"; $result = $objOrder->ConnectDb($sqlCom); if (!$result) { echo " <script language=\"javascript\"> alert(\"При добавлении строки возникли ошибки!\") </SCRIPT>"; } header("Location: step2.php"); }
(Отредактировано автором: 17 Августа, 2010 - 11:09:12)
|