Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2014, 19:21   #1
maksikus
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 51
По умолчанию Не сохраняются данные в БД

Не могу понять почему из формы не заносятся в БД данные, может Вы профи поможете растолковать...
Заношу данные гетом ...index.php?idn=ishod&id=51
Гет приходит, по id=51 находит и выводит данные, но апдетить не хочет.

Весь код странички ishod.php:
PHP код:
<?php
    
require "db.inc.php";
    require 
"lib.inc.php";
mysqli_set_charset($link'utf8'); //под какой кодировкой ходим

if (!isset($_GET['id']))//проверяем ключ
    
echo "Номер не получен, надо идти назад!";
    else{
    
$id $myrow['id'] ? stripslashes($_GET['id']) : $_GET['id']; 
    echo 
"Регистрируем исх., на вх. запрос № " .$id;
        }
    
$sql "SELECT * FROM regbase WHERE id='$id'";
    
$result mysqli_query($link$sql) or die(mysqli_error($link));
    
$arr mysqli_fetch_assoc($result);
 if(isset(
$_POST['submit'])){
        
$ish_doc clearInt($_POST['ish_doc']);//clearStr() - проверка текста в целях безопасности
        
$spsb_otp clearInt($_POST['spsb_otp']); 
        
$arm_ish clearStr($_POST['arm_ish']);
        
$kol_exz clearInt($_POST['kol_exz']);
        
$kol_lst_pril clearInt($_POST['kol_lst_pril']);
        
$isp_regish clearStr($_POST['isp_regish']);
        
$primech clearStr($_POST['primech']);
        
$sql1 "UPDATE regbase SET ish_doc='$ish_doc', spsb_otp='$spsb_otp', arm_ish='$arm_ish', kol_exz='$kol_exz', kol_lst_pril='$kol_lst_pril', isp_regish='$isp_regish', primech='$primech' WHERE id='$id'";
        
$result1 mysqli_query($link,$sql1)or die('Не удалось выполнить запрос. Ошибка: ' mysqli_error($link) . 'Запрос: ' $sql1 );
        if (
$result1 == 'true'){
        echo 
"Изменения сохранены!";
        }else{
        echo 
"Не удалось сохранить!";
        }
}
?>
<div class="box-empty">
    <h2>Регистрация исходящей почты</h2>
    <p id="imp2"><b>Текущий исходящий</b><b id="imp1"> № 17/2 - <?$row selectSledIsh(); echo $row[0] + 1;?></b> <b>от</b> <b id="imp1"><?php echo date('d.m.Y'?></b></p>

    <hr>
    <form id="formId" class="box style" action="./index.php?idn=ishod" method="POST">
        <input type="hidden" name="ish_doc" value="<?$row selectSledIsh(); echo $row[0] + 1;?>" />
        
        <p>
            <p><label>Почта : <input type="checkbox" name="spsb_otp" value="1"></label><br>
            <p><label>Факс : <input type="checkbox" name="spsb_otp" value="2"></label><br>
            <p><label>Нарочно : <input type="checkbox" name="spsb_otp" value="3"></label><br>
            <p><label>АРМ : <input type="checkbox" name="spsb_otp" value="4"></label> &nbsp- &nbsp <input name="arm_ish" value="" maxlength=30 /><!-- решить вопрос не ставить исх. -->
        </p>
        <p>
            Кол-во экземпляров : <input name="kol_exz" value="2" maxlength=5 size=5 />&nbsp&nbsp
            Кол-во листов : <input name="kol_lst_pril" value="0" maxlength=5 size=5 />&nbsp&nbsp
        </p>
        <p>
            Исполнитель : &nbsp&nbsp
            <select name="isp_regish">
                <?php 
                    $isp 
selectIspItems();
                    if(!
is_array($isp)){
                        echo 
'Произошла ошибка при выводе исполнителя.';
                        exit;
                    }
                    if(!
$isp){
                        echo 
'Список исполнителей пуст.';
                        exit;
                    }
                    foreach(
$isp as $item){
                
?>
                    <option value="<?= $item['id']?>"><?= $item['fio']?></option>
                <?php
                    
}
                
?>
            </select>
        
        </p>
        <b>Примечание :<BR></b>&nbsp&nbsp
        <textarea name="primech" cols="30" rows="6"></textarea>
        <p><input name="submit" type="submit" value="Сохранить" title="Сохранить"></p>
    </form>

</div>

Последний раз редактировалось maksikus; 15.12.2014 в 15:53. Причина: Убрал лишние запросы, которые при посте забыл убрать.
maksikus вне форума Ответить с цитированием
Старый 14.12.2014, 19:33   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

http://phpfaq.ru/debug
($result == 'true') != ($result == TRUE)
Andkorol вне форума Ответить с цитированием
Старый 14.12.2014, 19:41   #3
maksikus
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 51
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
http://phpfaq.ru/debug
($result == 'true') != ($result == TRUE)
И так, и так работает проверка, не в этом суть вопроса. Но спасибо за уточнение.
maksikus вне форума Ответить с цитированием
Старый 14.12.2014, 21:26   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от maksikus Посмотреть сообщение
И так, и так работает проверка, не в этом суть вопроса.
Ага, нуконечно, ваще разницы нету, да.
Рекомендую таки материал по ссылке прочитать/изучить/применить.
Andkorol вне форума Ответить с цитированием
Старый 15.12.2014, 08:28   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

а выводить строку запроса пробовали на экран?
Код:
echo $sql1
ADSoft вне форума Ответить с цитированием
Старый 15.12.2014, 14:46   #6
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Предъявите миру запрос.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 15.12.2014, 15:30   #7
maksikus
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 51
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а выводить строку запроса пробовали на экран?
Код:
echo $sql1
Ну тут логично подумать что id где-то теряется. Сори, забыл об этом написать.
UPDATE regbase SET ish_doc='1', spsb_otp='4', arm_ish='151', kol_exz='2', kol_lst_pril='0', isp_regish='', primech='ваываываыв' WHERE id=''
maksikus вне форума Ответить с цитированием
Старый 16.12.2014, 08:19   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну если сильны в логике - то еще логичнее понять что здесь:
Код:
$id = $myrow['id'] ? stripslashes($_GET['id']) : $_GET['id'];
откуда у вас тут берется $myrow['id'] вааще непонятно
ADSoft вне форума Ответить с цитированием
Старый 16.12.2014, 11:11   #9
maksikus
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 51
По умолчанию

Это я с сессии выдрал, пока еще подключение пользователей не делал, думаете из-за этого? Просто при проверки после if(isset($_POST['submit'])){ айдишник выводится, но при добавлении данных он не подставляется.
maksikus вне форума Ответить с цитированием
Старый 16.12.2014, 12:24   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от maksikus Посмотреть сообщение
Просто при проверки после if(isset($_POST['submit'])){ айдишник выводится, но при добавлении данных он не подставляется.
Т.е. прям вот так и происходит?
PHP код:
echo $id// выводит значение $id
$sql1 "UPDATE regbase SET ish_doc='$ish_doc', spsb_otp='$spsb_otp', arm_ish='$arm_ish', kol_exz='$kol_exz', kol_lst_pril='$kol_lst_pril', isp_regish='$isp_regish', primech='$primech' WHERE id='$id'";
echo 
$sql1// а тут значение $id в строке запроса уже не выводится? 
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Groovy on Grails. Не сохраняются данные в БД Flame20 Помощь студентам 1 07.04.2014 12:39
Данные не сохраняются Анастас Помощь студентам 4 26.10.2011 17:17
Введенные данные в DBGridEh не сохраняются prorock БД в Delphi 11 21.04.2011 14:35
Данные не сохраняются Шляп Microsoft Office Access 2 23.05.2010 19:58
Слишком долго сохраняются данные в БД Maxs Помощь студентам 5 27.04.2009 14:45