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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2012, 23:14   #1
Tanzor69
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 90
По умолчанию обновление формы после выполнения скрипта

PHP код:
<?php
    header
("Content-Type: text/html; charset=windows-1251");  
    
error_reporting(E_ALL);
?>
<?php
     define
('HOST''localhost');
     
define('USER''root');
     
define('PASSWORD''');
     
define('NAME_BD''reestr_shkolnikov');
?>
<?php
    $connect 
mysql_connect(HOSTUSERPASSWORD)
        or die(
"Невозможно установить соединение".mysql_error( ));
           print (
"<p style=\"color:green\"\">Соединение с базой установлено успешно!</p>");
    
mysql_select_db(NAME_BD$connect)
        or die (
"Невозможно выбрать указанную базу".mysql_error( ));
?>
<?php
    $text
=$_GET['id'];
     
$sql "SELECT * FROM shkolniki WHERE id=$text";
     
$result mysql_query($sql)  or die(mysql_error());
          while (
$row mysql_fetch_assoc($result))
     {
       
$fio $row['fio'];
       
$klass $row['klass'];
       
$ocenka_rus $row['ocenka_rus'];
       
$ocenka_math $row['ocenka_math'];
       
$dateofbirth $row['dateofbirth'];
       
$klass_rucovod $row['klass_rucovod'];
       
$school_num $row['school_num'];
      }
$first TRUE;
?>
<div style="padding-top:50px; text-align:center">
Редактирование ученика
<table border="1" align="center" style="">
<tr>
<td style="padding:15px;">
<form action="" method="post">  
<p>ФИО ученика:<br> <input name="fio" type="text" size="40" value="<?php echo "$fio?>"/></p>
<p>Класс:<br><input name="klass" type="text" size="20"  value="<?php echo "$klass?>"/></p>
<p>Оценка по рус.языку:<br><input name="ocenka_rus" type="text"  value="<?php echo "$ocenka_rus?>"/></p>
<p>Оценка по математике:<br><input name="ocenka_math" type="text"  value="<?php echo "$ocenka_math?>"/></p>
<p>Дата рождения:<br><input name="dateofbirth" type="text" pattern="[0-9]{4,}-[0-2]{2}-[0-9]{2}"  value="<?php echo "$dateofbirth?>"/></p>
<p>Клас. руководитель:<br> <input name="klass_rucovod" type="text"  value="<?php echo "$klass_rucovod?>"/></p>
<p>Номер школы:<br> <input name="school_num" type="text"  value="<?php echo "$school_num?>"/></p>
<input name="ok" type="submit" value="Сохранить изменения"/> 
<a href="index.php" style="text-decoration:none;"><input name="cancel" type="button" value="Отмена"/></a> 
</form>
</td>
</tr>
</table><br><br>  
</div>

<?php
if(!empty($_POST['ok']))
    {
  
$fio=$_POST['fio'];
  
$klass=$_POST['klass'];
  
$ocenka_rus=$_POST['ocenka_rus'];
  
$ocenka_math=$_POST['ocenka_math'];
  
$dateofbirth=$_POST['dateofbirth'];
  
$klass_rucovod=$_POST['klass_rucovod'];
  
$school_num=$_POST['school_num'];

    
    
$sql "UPDATE shkolniki SET fio='$fio', klass='$klass', ocenka_rus='$ocenka_rus', ocenka_math='$ocenka_math', dateofbirth='$dateofbirth', klass_rucovod='$klass_rucovod', school_num='$school_num' WHERE id=$text";
    
$result mysql_query($sql)  or die(mysql_error());
    echo 
"<p style=\"color:green;text-align:center;font-size:17px;\">Изменения сохранены!<br>Сейчас вы будете переадресованы на главную страницу</p>";
    echo 
'<meta http-equiv="Refresh" content="2;url=index.php"/>';
    
mysql_close($connect);

    }
  
  
?>
Собственно выше указан код файла update.php. Он открывается из главной страницы, при этом при открытии, поля формы заполнены. Потом меняю какие либо данные, нажимаю - сохранить изменения(изменения сохраняются), но после того как вот этот код срабатывает:
PHP код:
<?php
if(!empty($_POST['ok']))
    {
  
$fio=$_POST['fio'];
  
$klass=$_POST['klass'];
  
$ocenka_rus=$_POST['ocenka_rus'];
  
$ocenka_math=$_POST['ocenka_math'];
  
$dateofbirth=$_POST['dateofbirth'];
  
$klass_rucovod=$_POST['klass_rucovod'];
  
$school_num=$_POST['school_num'];

    
    
$sql "UPDATE shkolniki SET fio='$fio', klass='$klass', ocenka_rus='$ocenka_rus', ocenka_math='$ocenka_math', dateofbirth='$dateofbirth', klass_rucovod='$klass_rucovod', school_num='$school_num' WHERE id=$text";
    
$result mysql_query($sql)  or die(mysql_error());
    echo 
"<p style=\"color:green;text-align:center;font-size:17px;\">Изменения сохранены!<br>Сейчас вы будете переадресованы на главную страницу</p>";
    echo 
'<meta http-equiv="Refresh" content="2;url=index.php"/>';
    
mysql_close($connect);

    }
  
  
?>
Форма обновляется(видимо из-за того, что её обработчик в этом же файле лежит), и в обновленной странице в форме старые данные. Потом идет перенаправление на главную index.php через 2 секунды, ну и там в таблице данные нормальные(т.е. сохраняется всё нормально)

Так вот как сделать так, чтобы после нажатия на кнопку "Сохранить изменения" в поля формы уже новые значения попадали, либо поля вообще очищались, всё равно потом через 2 секунды "уйдем" на главную.

Вроде понятно объяснил))
Tanzor69 вне форума Ответить с цитированием
Старый 04.02.2012, 23:47   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Tanzor69 Посмотреть сообщение
Так вот как сделать так, чтобы после нажатия на кнопку "Сохранить изменения" в поля формы уже новые значения попадали, либо поля вообще очищались, всё равно потом через 2 секунды "уйдем" на главную.
Нужно код обработки данных из формы поместить ДО запроса SELECT.
В этом случае сначала будет обработана форма(если есть данные), изменения будут добавлены в БД - и далее, после запроса SELECT в форму попадут уже новые значения.
Код выполняется последовательно, сверху вниз.
Andkorol вне форума Ответить с цитированием
Старый 05.02.2012, 00:22   #3
Tanzor69
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 90
По умолчанию

путем небольших манипуляция сделал
спасибо!
Tanzor69 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление формы в процессе выполнения процедуры ssvetlanka Компоненты Delphi 5 14.09.2010 00:09
Записать значения ячеек в порядке выполнения скрипта в массив Krasi PHP 11 28.07.2010 13:24
Динамический вывод результата выполнения php скрипта. amdbodia JavaScript, Ajax 26 21.01.2010 23:23
Обновление таблицы после выполнения селекта Tatochka Microsoft Office Access 5 15.01.2010 10:40
Разбить время выполнения скрипта iankov PHP 9 03.08.2009 09:10