Добавление записи

Aidar

Guest
Добавление записи

В файле index.php есть конструкция switch:

PHP:
switch( ( isset( $_GET['speciality'] ) ) ? $_GET['speciality'] : 'show' ) {
  case 'add': {
    include_once(SHELL_PATH.'addspecform.php');
    if( !isset( $_POST['apply'] ) ) {
      Specadd();
      include_once(SHELL_PATH.'sthanks.php');
    }
  break;
  }
  default: {
    $result = db_select( '*' , 'speciality' , 'Id' , '0' , 0 , 0 );
    include_once(SHELL_PATH.'specshow.php');
  }
}
Объясню работу: при переходе по ссылке index.php?speciality=show у меня берутся данные из базы и передаются форме specshow.php. Она в свою очередь отображает переданные данные. Здесь все работает.
При переходе по ссылке index.php?speciality=add сначала отображается форма для добавления новой записи. После нажатия кнопки Submit в этой форме данные передаются функции SpecAdd, которая проверяется правильность заполнения полей и если все правильно добавляет новую запись в базу, а если нет то выводит ошибку. После всего идет файл sthanks.php на котором выражаются благодарности за новую запись и стоит редирект на index.php?speciality=show. Но это все в теории, на практике у меня подключается файл addspecform.php, отображается форма для добавления, но сразу же выполняется функция Specadd() и подключается файл sthanks.php, который выполняет редирект (см. рисунок). Я естественно ничего не успеваю сделать (ввести новые данные) и оказываюсь опять на главной странице. Как можно исправить данное недоразумение?
 

Фанат

oncle terrible
Команда форума
if( !isset( $_POST['apply'] )
как читается эта конструкция?
 

Aidar

Guest
Спасибо, но я уже нашел ошибку. Она как раз и кроется в этой конструкции =) Я зря поставил ! перед isset.
 
Сверху